30 auto tmp = in.get(C::scalar_mul_point_inf) * (
FF(1) - in.get(C::scalar_mul_point_inf));
31 tmp *= scaling_factor;
32 std::get<1>(evals) +=
typename Accumulator::View(tmp);
36 auto tmp = in.get(C::scalar_mul_start) * (
FF(1) - in.get(C::scalar_mul_start));
37 tmp *= scaling_factor;
38 std::get<2>(evals) +=
typename Accumulator::View(tmp);
42 auto tmp = in.get(C::scalar_mul_end) * (
FF(1) - in.get(C::scalar_mul_end));
43 tmp *= scaling_factor;
44 std::get<3>(evals) +=
typename Accumulator::View(tmp);
48 auto tmp = in.get(C::scalar_mul_end) * in.get(C::precomputed_first_row);
49 tmp *= scaling_factor;
50 std::get<4>(evals) +=
typename Accumulator::View(tmp);
54 auto tmp = in.get(C::scalar_mul_sel_shift) * (in.get(C::scalar_mul_start_shift) - scalar_mul_LATCH_CONDITION);
55 tmp *= scaling_factor;
56 std::get<5>(evals) +=
typename Accumulator::View(tmp);
60 auto tmp = in.get(C::scalar_mul_start) * (
FF(1) - in.get(C::scalar_mul_sel));
61 tmp *= scaling_factor;
62 std::get<6>(evals) +=
typename Accumulator::View(tmp);
66 auto tmp = (in.get(C::scalar_mul_sel_shift) - in.get(C::scalar_mul_sel)) * (
FF(1) - scalar_mul_LATCH_CONDITION);
67 tmp *= scaling_factor;
68 std::get<7>(evals) +=
typename Accumulator::View(tmp);
72 auto tmp = in.get(C::scalar_mul_end) * (
FF(1) - in.get(C::scalar_mul_sel));
73 tmp *= scaling_factor;
74 std::get<8>(evals) +=
typename Accumulator::View(tmp);
78 auto tmp = (in.get(C::scalar_mul_not_end) - in.get(C::scalar_mul_sel) * (
FF(1) - in.get(C::scalar_mul_end)));
79 tmp *= scaling_factor;
80 std::get<9>(evals) +=
typename Accumulator::View(tmp);
84 auto tmp = ((in.get(C::scalar_mul_end) + in.get(C::scalar_mul_not_end)) - in.get(C::scalar_mul_sel));
85 tmp *= scaling_factor;
91 in.get(C::scalar_mul_not_end) * (in.get(C::scalar_mul_point_x) - in.get(C::scalar_mul_point_x_shift));
92 tmp *= scaling_factor;
98 in.get(C::scalar_mul_not_end) * (in.get(C::scalar_mul_point_y) - in.get(C::scalar_mul_point_y_shift));
99 tmp *= scaling_factor;
105 in.get(C::scalar_mul_not_end) * (in.get(C::scalar_mul_point_inf) - in.get(C::scalar_mul_point_inf_shift));
106 tmp *= scaling_factor;
111 auto tmp = in.get(C::scalar_mul_not_end) * (in.get(C::scalar_mul_scalar) - in.get(C::scalar_mul_scalar_shift));
112 tmp *= scaling_factor;
117 auto tmp = in.get(C::scalar_mul_start) * (in.get(C::scalar_mul_bit_idx) -
FF(253));
118 tmp *= scaling_factor;
123 auto tmp = in.get(C::scalar_mul_end) * in.get(C::scalar_mul_bit_idx);
124 tmp *= scaling_factor;
129 auto tmp = in.get(C::scalar_mul_not_end) *
130 (in.get(C::scalar_mul_bit_idx) - (in.get(C::scalar_mul_bit_idx_shift) +
FF(1)));
131 tmp *= scaling_factor;
136 auto tmp = in.get(C::scalar_mul_sel) * (in.get(C::scalar_mul_bit_radix) -
FF(2));
137 tmp *= scaling_factor;
142 auto tmp = in.get(C::scalar_mul_end) * (in.get(C::scalar_mul_temp_x) - in.get(C::scalar_mul_point_x));
143 tmp *= scaling_factor;
148 auto tmp = in.get(C::scalar_mul_end) * (in.get(C::scalar_mul_temp_y) - in.get(C::scalar_mul_point_y));
149 tmp *= scaling_factor;
154 auto tmp = in.get(C::scalar_mul_end) * (in.get(C::scalar_mul_temp_inf) - in.get(C::scalar_mul_point_inf));
155 tmp *= scaling_factor;
160 auto tmp = (in.get(C::scalar_mul_temp_x_shift) - in.get(C::scalar_mul_temp_x_shift));
161 tmp *= scaling_factor;
166 auto tmp = (in.get(C::scalar_mul_temp_y_shift) - in.get(C::scalar_mul_temp_y_shift));
167 tmp *= scaling_factor;
172 auto tmp = (in.get(C::scalar_mul_temp_inf_shift) - in.get(C::scalar_mul_temp_inf_shift));
173 tmp *= scaling_factor;
178 auto tmp = in.get(C::scalar_mul_end) *
179 (in.get(C::scalar_mul_point_x) * in.get(C::scalar_mul_bit) - in.get(C::scalar_mul_res_x));
180 tmp *= scaling_factor;
185 auto tmp = in.get(C::scalar_mul_end) *
186 (in.get(C::scalar_mul_point_y) * in.get(C::scalar_mul_bit) - in.get(C::scalar_mul_res_y));
187 tmp *= scaling_factor;
192 auto tmp = in.get(C::scalar_mul_end) *
193 (((in.get(C::scalar_mul_point_inf) -
FF(1)) * in.get(C::scalar_mul_bit) +
FF(1)) -
194 in.get(C::scalar_mul_res_inf));
195 tmp *= scaling_factor;
200 auto tmp = (in.get(C::scalar_mul_should_add) - in.get(C::scalar_mul_not_end) * in.get(C::scalar_mul_bit));
201 tmp *= scaling_factor;
206 auto tmp = scalar_mul_should_pass * (in.get(C::scalar_mul_res_x) - in.get(C::scalar_mul_res_x_shift));
207 tmp *= scaling_factor;
212 auto tmp = scalar_mul_should_pass * (in.get(C::scalar_mul_res_y) - in.get(C::scalar_mul_res_y_shift));
213 tmp *= scaling_factor;
218 auto tmp = scalar_mul_should_pass * (in.get(C::scalar_mul_res_inf) - in.get(C::scalar_mul_res_inf_shift));
219 tmp *= scaling_factor;