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_start)) +
static_cast<View
>(in.get(C::to_radix_mem_last))) *
51 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel)));
55 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
57 (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
58 (
static_cast<View
>(in.get(C::to_radix_mem_sel)) -
static_cast<View
>(in.get(C::to_radix_mem_sel_shift)));
62 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
63 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_shift)) *
64 (
static_cast<View
>(in.get(C::to_radix_mem_start_shift)) -
CView(to_radix_mem_LATCH_CONDITION));
68 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
69 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
70 (
static_cast<View
>(in.get(C::to_radix_mem_execution_clk_shift)) -
71 static_cast<View
>(in.get(C::to_radix_mem_execution_clk)));
75 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
77 (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) * (
static_cast<View
>(in.get(C::to_radix_mem_space_id_shift)) -
78 static_cast<View
>(in.get(C::to_radix_mem_space_id)));
82 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
83 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
84 (
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose_shift)) -
85 static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)));
89 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
91 (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
92 (
static_cast<View
>(in.get(C::to_radix_mem_radix_shift)) -
static_cast<View
>(in.get(C::to_radix_mem_radix)));
96 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
97 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
98 (
static_cast<View
>(in.get(C::to_radix_mem_is_output_bits_shift)) -
99 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)));
103 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
104 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
105 (
static_cast<View
>(in.get(C::to_radix_mem_max_mem_size)) -
CView(constants_AVM_MEMORY_SIZE));
109 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
110 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
111 ((
static_cast<View
>(in.get(C::to_radix_mem_write_addr_upper_bound)) -
112 static_cast<View
>(in.get(C::to_radix_mem_dst_addr))) -
113 static_cast<View
>(in.get(C::to_radix_mem_num_limbs)));
117 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
118 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)) *
119 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)));
123 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
125 static_cast<View
>(in.get(C::to_radix_mem_start)) * (
static_cast<View
>(in.get(C::to_radix_mem_two)) -
FF(2));
129 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
130 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
131 (
static_cast<View
>(in.get(C::to_radix_mem_two_five_six)) -
FF(256));
135 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
136 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_eq_2)) *
137 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_eq_2)));
141 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
142 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
143 ((
CView(to_radix_mem_RADIX_MIN_TWO) *
144 (
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_eq_2)) *
145 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_radix_min_two_inv))) +
146 static_cast<View
>(in.get(C::to_radix_mem_radix_min_two_inv))) -
148 static_cast<View
>(in.get(C::to_radix_mem_sel_radix_eq_2)));
152 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
153 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)) -
154 static_cast<View
>(in.get(C::to_radix_mem_start)) *
155 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) *
156 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_eq_2))));
160 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
161 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
162 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
166 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
167 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
168 ((
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) *
169 (
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
170 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) +
171 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) -
173 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
177 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
178 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_value_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_start)) *
185 ((
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)) *
186 (
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
187 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_inv))) +
188 static_cast<View
>(in.get(C::to_radix_mem_value_inv))) -
190 static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)));
194 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
195 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)) -
196 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
197 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero))));
201 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
202 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error)) -
203 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_dst_out_of_range_err))) *
204 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_lt_2_err))) *
205 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_gt_256_err))) *
206 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
207 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)))));
211 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
212 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
213 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
217 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
218 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
219 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
220 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
221 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
225 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
226 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
227 (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose_shift)) -
228 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
232 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
233 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_limb_index_to_lookup)) -
234 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
235 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
239 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
240 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) *
241 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)));
245 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
246 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) -
247 static_cast<View
>(in.get(C::to_radix_mem_start)) *
248 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
249 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_found))));
253 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
254 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_err)) -
255 static_cast<View
>(in.get(C::to_radix_mem_start)) *
256 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
257 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)))));
261 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
262 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_shift)) -
263 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
267 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
268 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr_shift)) -
269 (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr)) +
FF(1)));
273 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
275 static_cast<View
>(in.get(C::to_radix_mem_err)) * (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
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 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
282 (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
286 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
287 auto tmp =
CView(to_radix_mem_NO_ERR_NOR_NUM_LIMBS_ZERO) *
288 ((
CView(to_radix_mem_NUM_LIMBS_MINUS_ONE) *
289 (
static_cast<View
>(in.get(C::to_radix_mem_last)) *
290 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) +
291 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) -
293 static_cast<View
>(in.get(C::to_radix_mem_last)));
297 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
298 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
299 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_err))) *
300 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
301 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
305 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
306 auto tmp = (
FF(1) -
CView(to_radix_mem_LATCH_CONDITION)) *
307 (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem_shift)) -
308 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
312 using View =
typename std::tuple_element_t<39, ContainerOverSubrelations>::View;
313 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)) *
314 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel)));
318 using View =
typename std::tuple_element_t<40, ContainerOverSubrelations>::View;
319 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_output_tag)) -
320 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)) *
321 ((
CView(constants_MEM_TAG_U1) -
CView(constants_MEM_TAG_U8)) *
322 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) +
323 CView(constants_MEM_TAG_U8)));