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 =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_execution_clk_shift)) -
69 static_cast<View
>(in.get(C::to_radix_mem_execution_clk)));
73 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
74 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_space_id_shift)) -
75 static_cast<View
>(in.get(C::to_radix_mem_space_id)));
79 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
80 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose_shift)) -
81 static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)));
85 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
86 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_radix_shift)) -
87 static_cast<View
>(in.get(C::to_radix_mem_radix)));
91 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
92 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_is_output_bits_shift)) -
93 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)));
97 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
98 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
99 (
static_cast<View
>(in.get(C::to_radix_mem_max_mem_size)) -
CView(constants_AVM_MEMORY_SIZE));
103 using View =
typename std::tuple_element_t<12, 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_write_addr_upper_bound)) -
106 static_cast<View
>(in.get(C::to_radix_mem_dst_addr))) -
107 static_cast<View
>(in.get(C::to_radix_mem_num_limbs)));
111 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
112 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)) *
113 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)));
117 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
119 static_cast<View
>(in.get(C::to_radix_mem_start)) * (
static_cast<View
>(in.get(C::to_radix_mem_two)) -
FF(2));
123 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
124 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
125 (
static_cast<View
>(in.get(C::to_radix_mem_two_five_six)) -
FF(256));
129 using View =
typename std::tuple_element_t<16, 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_is_output_bits)) *
132 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
133 (
static_cast<View
>(in.get(C::to_radix_mem_radix)) -
FF(2));
137 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
138 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
139 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
143 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
144 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
145 ((
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) *
146 (
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
147 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) +
148 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) -
150 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
154 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
155 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
156 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)));
160 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
161 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
162 ((
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)) *
163 (
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
164 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_inv))) +
165 static_cast<View
>(in.get(C::to_radix_mem_value_inv))) -
167 static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)));
171 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
172 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)) -
173 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
174 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero))));
178 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
179 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error)) -
180 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_dst_out_of_range_err))) *
181 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_lt_2_err))) *
182 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_gt_256_err))) *
183 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
184 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)))));
188 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
189 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
190 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
194 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
195 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
196 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
197 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
198 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
202 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
204 CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose_shift)) -
205 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
209 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
210 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_limb_index_to_lookup)) -
211 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
212 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
216 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
217 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) *
218 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)));
222 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
223 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) -
224 static_cast<View
>(in.get(C::to_radix_mem_start)) *
225 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
226 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_found))));
230 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
231 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_err)) -
232 static_cast<View
>(in.get(C::to_radix_mem_start)) *
233 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
234 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)))));
238 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
239 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_shift)) -
240 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
244 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
245 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr_shift)) -
246 (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr)) +
FF(1)));
250 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
251 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
static_cast<View
>(in.get(C::to_radix_mem_err)) *
252 (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
256 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
257 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
258 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
259 (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
263 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
264 auto tmp =
CView(to_radix_mem_NO_ERR_NOR_NUM_LIMBS_ZERO) *
265 ((
CView(to_radix_mem_NUM_LIMBS_MINUS_ONE) *
266 (
static_cast<View
>(in.get(C::to_radix_mem_last)) *
267 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) +
268 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) -
270 static_cast<View
>(in.get(C::to_radix_mem_last)));
274 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
275 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
276 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_err))) *
277 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
278 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
282 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
284 CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem_shift)) -
285 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
289 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
290 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_output_tag)) -
291 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)) *
292 ((
CView(constants_MEM_TAG_U1) -
CView(constants_MEM_TAG_U8)) *
293 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) +
294 CView(constants_MEM_TAG_U8)));