29 tmp *= scaling_factor;
30 std::get<0>(evals) +=
typename Accumulator::View(tmp);
34 auto tmp = in.get(C::to_radix_start) * (
FF(1) - in.get(C::to_radix_start));
35 tmp *= scaling_factor;
36 std::get<1>(evals) +=
typename Accumulator::View(tmp);
40 auto tmp = in.get(C::to_radix_end) * (
FF(1) - in.get(C::to_radix_end));
41 tmp *= scaling_factor;
42 std::get<2>(evals) +=
typename Accumulator::View(tmp);
46 auto tmp = in.get(C::to_radix_end) * in.get(C::precomputed_first_row);
47 tmp *= scaling_factor;
48 std::get<3>(evals) +=
typename Accumulator::View(tmp);
52 auto tmp = in.get(C::to_radix_sel_shift) * (in.get(C::to_radix_start_shift) - to_radix_LATCH_CONDITION);
53 tmp *= scaling_factor;
54 std::get<4>(evals) +=
typename Accumulator::View(tmp);
58 auto tmp = in.get(C::to_radix_start) * (
FF(1) - in.get(C::to_radix_sel));
59 tmp *= scaling_factor;
60 std::get<5>(evals) +=
typename Accumulator::View(tmp);
64 auto tmp = (in.get(C::to_radix_sel_shift) - in.get(C::to_radix_sel)) * (
FF(1) - to_radix_LATCH_CONDITION);
65 tmp *= scaling_factor;
66 std::get<6>(evals) +=
typename Accumulator::View(tmp);
70 auto tmp = in.get(C::to_radix_end) * (
FF(1) - in.get(C::to_radix_sel));
71 tmp *= scaling_factor;
72 std::get<7>(evals) +=
typename Accumulator::View(tmp);
76 auto tmp = (in.get(C::to_radix_sel) * (
FF(1) - in.get(C::to_radix_end)) - in.get(C::to_radix_not_end));
77 tmp *= scaling_factor;
78 std::get<8>(evals) +=
typename Accumulator::View(tmp);
82 auto tmp = in.get(C::to_radix_not_padding_limb) * (
FF(1) - in.get(C::to_radix_not_padding_limb));
83 tmp *= scaling_factor;
84 std::get<9>(evals) +=
typename Accumulator::View(tmp);
88 auto tmp = in.get(C::to_radix_start) * (in.get(C::to_radix_exponent) -
FF(1));
89 tmp *= scaling_factor;
94 auto tmp = in.get(C::to_radix_not_end) * in.get(C::to_radix_not_padding_limb_shift) *
95 (in.get(C::to_radix_exponent) * in.get(C::to_radix_radix) - in.get(C::to_radix_exponent_shift));
96 tmp *= scaling_factor;
101 auto tmp = in.get(C::to_radix_start) * (
FF(1) - in.get(C::to_radix_not_padding_limb));
102 tmp *= scaling_factor;
107 auto tmp = in.get(C::to_radix_not_end) *
108 (((
FF(0) - in.get(C::to_radix_not_padding_limb)) * in.get(C::to_radix_is_unsafe_limb) +
109 in.get(C::to_radix_not_padding_limb)) -
110 in.get(C::to_radix_not_padding_limb_shift));
111 tmp *= scaling_factor;
116 auto tmp = (
FF(1) - in.get(C::to_radix_not_padding_limb)) * in.get(C::to_radix_exponent);
117 tmp *= scaling_factor;
122 auto tmp = in.get(C::to_radix_found) * (
FF(1) - in.get(C::to_radix_found));
123 tmp *= scaling_factor;
128 auto tmp = in.get(C::to_radix_start) * in.get(C::to_radix_limb_index);
129 tmp *= scaling_factor;
134 auto tmp = in.get(C::to_radix_not_end) *
135 ((in.get(C::to_radix_limb_index) +
FF(1)) - in.get(C::to_radix_limb_index_shift));
136 tmp *= scaling_factor;
141 auto tmp = in.get(C::to_radix_sel) * (((in.get(C::to_radix_radix) -
FF(1)) - in.get(C::to_radix_limb)) -
142 in.get(C::to_radix_limb_radix_diff));
143 tmp *= scaling_factor;
148 auto tmp = in.get(C::to_radix_start) * (in.get(C::to_radix_acc) - in.get(C::to_radix_limb));
149 tmp *= scaling_factor;
154 auto tmp = in.get(C::to_radix_not_end) *
155 ((in.get(C::to_radix_acc) + in.get(C::to_radix_exponent_shift) * in.get(C::to_radix_limb_shift)) -
156 in.get(C::to_radix_acc_shift));
157 tmp *= scaling_factor;
162 auto tmp = in.get(C::to_radix_sel) *
163 ((to_radix_REM * (in.get(C::to_radix_found) * (
FF(1) - in.get(C::to_radix_rem_inverse)) +
164 in.get(C::to_radix_rem_inverse)) -
166 in.get(C::to_radix_found));
167 tmp *= scaling_factor;
172 auto tmp = in.get(C::to_radix_not_end) * in.get(C::to_radix_found) * in.get(C::to_radix_limb_shift);
173 tmp *= scaling_factor;
178 auto tmp = (
FF(1) - in.get(C::to_radix_found)) * in.get(C::to_radix_end);
179 tmp *= scaling_factor;
184 auto tmp = in.get(C::to_radix_is_unsafe_limb) * (
FF(1) - in.get(C::to_radix_is_unsafe_limb));
185 tmp *= scaling_factor;
190 auto tmp = (
FF(1) - in.get(C::to_radix_not_padding_limb)) * in.get(C::to_radix_limb);
191 tmp *= scaling_factor;
196 auto tmp = (
FF(1) - in.get(C::to_radix_not_padding_limb)) * in.get(C::to_radix_p_limb);
197 tmp *= scaling_factor;
202 auto tmp = in.get(C::to_radix_sel) *
203 ((to_radix_safety_diff *
204 (in.get(C::to_radix_is_unsafe_limb) * (
FF(1) - in.get(C::to_radix_safety_diff_inverse)) +
205 in.get(C::to_radix_safety_diff_inverse)) -
207 in.get(C::to_radix_is_unsafe_limb));
208 tmp *= scaling_factor;
213 auto tmp = in.get(C::to_radix_acc_under_p) * (
FF(1) - in.get(C::to_radix_acc_under_p));
214 tmp *= scaling_factor;
219 auto tmp = in.get(C::to_radix_limb_lt_p) * (
FF(1) - in.get(C::to_radix_limb_lt_p));
220 tmp *= scaling_factor;
225 auto tmp = in.get(C::to_radix_limb_eq_p) * (
FF(1) - in.get(C::to_radix_limb_eq_p));
226 tmp *= scaling_factor;
231 auto tmp = in.get(C::to_radix_limb_eq_p) * in.get(C::to_radix_limb_lt_p);
232 tmp *= scaling_factor;
237 auto tmp = in.get(C::to_radix_limb_lt_p) * (to_radix_LIMB_LT_P - in.get(C::to_radix_limb_p_diff));
238 tmp *= scaling_factor;
243 auto tmp = in.get(C::to_radix_sel) * (
FF(1) - in.get(C::to_radix_limb_lt_p)) *
244 (((to_radix_LIMB_EQ_P - to_radix_LIMB_GT_P) * in.get(C::to_radix_limb_eq_p) + to_radix_LIMB_GT_P) -
245 in.get(C::to_radix_limb_p_diff));
246 tmp *= scaling_factor;
251 auto tmp = in.get(C::to_radix_start) * (in.get(C::to_radix_acc_under_p) - in.get(C::to_radix_limb_lt_p));
252 tmp *= scaling_factor;
258 in.get(C::to_radix_not_end) * (((in.get(C::to_radix_acc_under_p) - in.get(C::to_radix_limb_lt_p_shift)) *
259 in.get(C::to_radix_limb_eq_p_shift) +
260 in.get(C::to_radix_limb_lt_p_shift)) -
261 in.get(C::to_radix_acc_under_p_shift));
262 tmp *= scaling_factor;
267 auto tmp = in.get(C::to_radix_is_unsafe_limb) * (
FF(1) - in.get(C::to_radix_acc_under_p));
268 tmp *= scaling_factor;
273 auto tmp = in.get(C::to_radix_not_end) * (in.get(C::to_radix_radix) - in.get(C::to_radix_radix_shift));
274 tmp *= scaling_factor;
279 auto tmp = in.get(C::to_radix_not_end) * (in.get(C::to_radix_value) - in.get(C::to_radix_value_shift));
280 tmp *= scaling_factor;
286 in.get(C::to_radix_not_end) * (in.get(C::to_radix_safe_limbs) - in.get(C::to_radix_safe_limbs_shift));
287 tmp *= scaling_factor;