29 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_point_inf)) *
30 (
FF(1) -
static_cast<View
>(in.get(C::scalar_mul_point_inf)));
34 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
36 static_cast<View
>(in.get(C::scalar_mul_start)) * (
FF(1) -
static_cast<View
>(in.get(C::scalar_mul_start)));
40 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
42 static_cast<View
>(in.get(C::scalar_mul_end)) * (
FF(1) -
static_cast<View
>(in.get(C::scalar_mul_end)));
46 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
47 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
static_cast<View
>(in.get(C::precomputed_first_row));
51 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
52 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_sel_shift)) *
53 (
static_cast<View
>(in.get(C::scalar_mul_start_shift)) -
CView(scalar_mul_LATCH_CONDITION));
57 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
59 static_cast<View
>(in.get(C::scalar_mul_start)) * (
FF(1) -
static_cast<View
>(in.get(C::scalar_mul_sel)));
63 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
64 auto tmp = (
static_cast<View
>(in.get(C::scalar_mul_sel_shift)) -
static_cast<View
>(in.get(C::scalar_mul_sel))) *
65 (
FF(1) -
CView(scalar_mul_LATCH_CONDITION));
69 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
71 static_cast<View
>(in.get(C::scalar_mul_end)) * (
FF(1) -
static_cast<View
>(in.get(C::scalar_mul_sel)));
75 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
77 (
static_cast<View
>(in.get(C::scalar_mul_not_end)) -
78 static_cast<View
>(in.get(C::scalar_mul_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::scalar_mul_end))));
82 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
83 auto tmp = ((
static_cast<View
>(in.get(C::scalar_mul_end)) +
static_cast<View
>(in.get(C::scalar_mul_not_end))) -
84 static_cast<View
>(in.get(C::scalar_mul_sel)));
88 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
90 static_cast<View
>(in.get(C::scalar_mul_not_end)) *
91 (
static_cast<View
>(in.get(C::scalar_mul_point_x)) -
static_cast<View
>(in.get(C::scalar_mul_point_x_shift)));
95 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
97 static_cast<View
>(in.get(C::scalar_mul_not_end)) *
98 (
static_cast<View
>(in.get(C::scalar_mul_point_y)) -
static_cast<View
>(in.get(C::scalar_mul_point_y_shift)));
102 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
103 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_not_end)) *
104 (
static_cast<View
>(in.get(C::scalar_mul_point_inf)) -
105 static_cast<View
>(in.get(C::scalar_mul_point_inf_shift)));
109 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
111 static_cast<View
>(in.get(C::scalar_mul_not_end)) *
112 (
static_cast<View
>(in.get(C::scalar_mul_scalar)) -
static_cast<View
>(in.get(C::scalar_mul_scalar_shift)));
116 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
117 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_start)) *
118 (
static_cast<View
>(in.get(C::scalar_mul_bit_idx)) -
FF(253));
122 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
123 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
static_cast<View
>(in.get(C::scalar_mul_bit_idx));
127 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
128 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_not_end)) *
129 (
static_cast<View
>(in.get(C::scalar_mul_bit_idx)) -
130 (
static_cast<View
>(in.get(C::scalar_mul_bit_idx_shift)) +
FF(1)));
134 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
136 static_cast<View
>(in.get(C::scalar_mul_sel)) * (
static_cast<View
>(in.get(C::scalar_mul_bit_radix)) -
FF(2));
140 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
141 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
142 (
static_cast<View
>(in.get(C::scalar_mul_temp_x)) -
static_cast<View
>(in.get(C::scalar_mul_point_x)));
146 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
147 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
148 (
static_cast<View
>(in.get(C::scalar_mul_temp_y)) -
static_cast<View
>(in.get(C::scalar_mul_point_y)));
152 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
153 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) * (
static_cast<View
>(in.get(C::scalar_mul_temp_inf)) -
154 static_cast<View
>(in.get(C::scalar_mul_point_inf)));
158 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
159 auto tmp = (
static_cast<View
>(in.get(C::scalar_mul_temp_x_shift)) -
160 static_cast<View
>(in.get(C::scalar_mul_temp_x_shift)));
164 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
165 auto tmp = (
static_cast<View
>(in.get(C::scalar_mul_temp_y_shift)) -
166 static_cast<View
>(in.get(C::scalar_mul_temp_y_shift)));
170 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
171 auto tmp = (
static_cast<View
>(in.get(C::scalar_mul_temp_inf_shift)) -
172 static_cast<View
>(in.get(C::scalar_mul_temp_inf_shift)));
176 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
177 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
178 (
static_cast<View
>(in.get(C::scalar_mul_point_x)) *
static_cast<View
>(in.get(C::scalar_mul_bit)) -
179 static_cast<View
>(in.get(C::scalar_mul_res_x)));
183 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
184 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
185 (
static_cast<View
>(in.get(C::scalar_mul_point_y)) *
static_cast<View
>(in.get(C::scalar_mul_bit)) -
186 static_cast<View
>(in.get(C::scalar_mul_res_y)));
190 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
191 auto tmp =
static_cast<View
>(in.get(C::scalar_mul_end)) *
192 (((
static_cast<View
>(in.get(C::scalar_mul_point_inf)) -
FF(1)) *
193 static_cast<View
>(in.get(C::scalar_mul_bit)) +
195 static_cast<View
>(in.get(C::scalar_mul_res_inf)));
199 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
200 auto tmp = (
static_cast<View
>(in.get(C::scalar_mul_should_add)) -
201 static_cast<View
>(in.get(C::scalar_mul_not_end)) *
static_cast<View
>(in.get(C::scalar_mul_bit)));
205 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
206 auto tmp =
CView(scalar_mul_should_pass) * (
static_cast<View
>(in.get(C::scalar_mul_res_x)) -
207 static_cast<View
>(in.get(C::scalar_mul_res_x_shift)));
211 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
212 auto tmp =
CView(scalar_mul_should_pass) * (
static_cast<View
>(in.get(C::scalar_mul_res_y)) -
213 static_cast<View
>(in.get(C::scalar_mul_res_y_shift)));
217 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
218 auto tmp =
CView(scalar_mul_should_pass) * (
static_cast<View
>(in.get(C::scalar_mul_res_inf)) -
219 static_cast<View
>(in.get(C::scalar_mul_res_inf_shift)));