30 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
32 static_cast<View
>(in.get(C::to_radix_mem_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel)));
36 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
37 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
38 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_start)));
42 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
44 static_cast<View
>(in.get(C::to_radix_mem_last)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_last)));
48 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
50 static_cast<View
>(in.get(C::to_radix_mem_last)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel)));
54 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
55 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_shift)) *
56 (
static_cast<View
>(in.get(C::to_radix_mem_start_shift)) -
CView(to_radix_mem_LATCH_CONDITION));
60 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
61 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::precomputed_first_row))) *
62 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel))) *
63 static_cast<View
>(in.get(C::to_radix_mem_sel_shift));
67 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
68 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
69 (
static_cast<View
>(in.get(C::to_radix_mem_execution_clk_shift)) -
70 static_cast<View
>(in.get(C::to_radix_mem_execution_clk)));
74 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
76 (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) * (
static_cast<View
>(in.get(C::to_radix_mem_space_id_shift)) -
77 static_cast<View
>(in.get(C::to_radix_mem_space_id)));
81 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
82 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
83 (
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose_shift)) -
84 static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)));
88 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
90 (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
91 (
static_cast<View
>(in.get(C::to_radix_mem_radix_shift)) -
static_cast<View
>(in.get(C::to_radix_mem_radix)));
95 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
96 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
97 (
static_cast<View
>(in.get(C::to_radix_mem_is_output_bits_shift)) -
98 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)));
102 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
103 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
104 (
static_cast<View
>(in.get(C::to_radix_mem_max_mem_size)) -
CView(constants_AVM_MEMORY_SIZE));
108 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
109 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
110 ((
static_cast<View
>(in.get(C::to_radix_mem_write_addr_upper_bound)) -
111 static_cast<View
>(in.get(C::to_radix_mem_dst_addr))) -
112 static_cast<View
>(in.get(C::to_radix_mem_num_limbs)));
116 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
117 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)) *
118 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)));
122 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
124 static_cast<View
>(in.get(C::to_radix_mem_start)) * (
static_cast<View
>(in.get(C::to_radix_mem_two)) -
FF(2));
128 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
129 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
130 (
static_cast<View
>(in.get(C::to_radix_mem_two_five_six)) -
FF(256));
134 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
135 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
136 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) *
137 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
138 (
static_cast<View
>(in.get(C::to_radix_mem_radix)) -
FF(2));
142 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
143 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
144 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
148 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
149 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
150 ((
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) *
151 (
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
152 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) +
153 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) -
155 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
159 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
160 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
161 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)));
165 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
166 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
167 ((
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)) *
168 (
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
169 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_inv))) +
170 static_cast<View
>(in.get(C::to_radix_mem_value_inv))) -
172 static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)));
176 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
177 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)) -
178 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
179 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero))));
183 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
184 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error)) -
185 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_dst_out_of_range_err))) *
186 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_lt_2_err))) *
187 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_gt_256_err))) *
188 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
189 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)))));
193 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
194 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
195 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
199 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
200 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
201 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
202 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
203 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
207 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
208 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
209 (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose_shift)) -
210 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
214 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
215 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_limb_index_to_lookup)) -
216 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
217 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
221 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
222 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) *
223 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)));
227 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
228 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) -
229 static_cast<View
>(in.get(C::to_radix_mem_start)) *
230 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
231 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_found))));
235 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
236 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_err)) -
237 static_cast<View
>(in.get(C::to_radix_mem_start)) *
238 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
239 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)))));
243 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
244 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_shift)) -
245 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
249 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
250 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr_shift)) -
251 (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr)) +
FF(1)));
255 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
257 static_cast<View
>(in.get(C::to_radix_mem_err)) * (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
261 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
262 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
263 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
264 (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
268 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
269 auto tmp =
CView(to_radix_mem_NO_ERR_NOR_NUM_LIMBS_ZERO) *
270 ((
CView(to_radix_mem_NUM_LIMBS_MINUS_ONE) *
271 (
static_cast<View
>(in.get(C::to_radix_mem_last)) *
272 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) +
273 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) -
275 static_cast<View
>(in.get(C::to_radix_mem_last)));
279 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
280 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
281 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_err))) *
282 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
283 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
287 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
288 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
289 (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem_shift)) -
290 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
294 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
295 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)) *
296 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel)));
300 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
301 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_output_tag)) -
302 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)) *
303 ((
CView(constants_MEM_TAG_U1) -
CView(constants_MEM_TAG_U8)) *
304 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) +
305 CView(constants_MEM_TAG_U8)));