30 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
31 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
32 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_start)));
36 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
38 static_cast<View
>(in.get(C::to_radix_mem_last)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_last)));
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_sel)));
48 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
49 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_shift)) *
50 (
static_cast<View
>(in.get(C::to_radix_mem_start_shift)) -
CView(to_radix_mem_LATCH_CONDITION));
54 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
55 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::precomputed_first_row))) *
56 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel))) *
57 static_cast<View
>(in.get(C::to_radix_mem_sel_shift));
61 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
62 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_execution_clk_shift)) -
63 static_cast<View
>(in.get(C::to_radix_mem_execution_clk)));
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_space_id_shift)) -
69 static_cast<View
>(in.get(C::to_radix_mem_space_id)));
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_value_to_decompose_shift)) -
75 static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)));
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_radix_shift)) -
81 static_cast<View
>(in.get(C::to_radix_mem_radix)));
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_is_output_bits_shift)) -
87 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)));
91 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
92 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
93 (
static_cast<View
>(in.get(C::to_radix_mem_max_mem_addr)) -
CView(constants_AVM_HIGHEST_MEM_ADDRESS));
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_write_addr)) -
100 ((
static_cast<View
>(in.get(C::to_radix_mem_dst_addr)) +
101 static_cast<View
>(in.get(C::to_radix_mem_num_limbs))) -
106 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
107 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)) *
108 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix)));
112 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
114 static_cast<View
>(in.get(C::to_radix_mem_start)) * (
static_cast<View
>(in.get(C::to_radix_mem_two)) -
FF(2));
118 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
119 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
120 (
static_cast<View
>(in.get(C::to_radix_mem_two_five_six)) -
FF(256));
124 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
125 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
126 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) *
127 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
128 (
static_cast<View
>(in.get(C::to_radix_mem_radix)) -
FF(2));
132 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
133 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
134 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
138 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
139 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
140 ((
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) *
141 (
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
142 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) +
143 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_inv))) -
145 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)));
149 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
150 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
151 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)));
155 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
156 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
157 ((
static_cast<View
>(in.get(C::to_radix_mem_value_to_decompose)) *
158 (
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero)) *
159 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_inv))) +
160 static_cast<View
>(in.get(C::to_radix_mem_value_inv))) -
162 static_cast<View
>(in.get(C::to_radix_mem_sel_value_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_sel_invalid_num_limbs_err)) -
168 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
169 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_value_is_zero))));
173 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
174 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error)) -
175 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_dst_out_of_range_err))) *
176 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_lt_2_err))) *
177 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_radix_gt_256_err))) *
178 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_bitwise_radix))) *
179 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_invalid_num_limbs_err)))));
183 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
184 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
185 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
189 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
190 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
191 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
192 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
193 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
197 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
199 CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose_shift)) -
200 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)));
204 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
205 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_limb_index_to_lookup)) -
206 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
207 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
211 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
212 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) *
213 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)));
217 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
218 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)) -
219 static_cast<View
>(in.get(C::to_radix_mem_start)) *
220 static_cast<View
>(in.get(C::to_radix_mem_sel_should_decompose)) *
221 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_value_found))));
225 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
226 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_err)) -
227 static_cast<View
>(in.get(C::to_radix_mem_start)) *
228 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_input_validation_error))) *
229 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_truncation_error)))));
233 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
234 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_shift)) -
235 (
static_cast<View
>(in.get(C::to_radix_mem_num_limbs)) -
FF(1)));
239 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
240 auto tmp =
CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr_shift)) -
241 (
static_cast<View
>(in.get(C::to_radix_mem_dst_addr)) +
FF(1)));
245 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
246 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
static_cast<View
>(in.get(C::to_radix_mem_err)) *
247 (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
251 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
252 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
253 static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero)) *
254 (
static_cast<View
>(in.get(C::to_radix_mem_last)) -
FF(1));
258 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
259 auto tmp =
CView(to_radix_mem_NO_ERR_NOR_NUM_LIMBS_ZERO) *
260 ((
CView(to_radix_mem_NUM_LIMBS_MINUS_ONE) *
261 (
static_cast<View
>(in.get(C::to_radix_mem_last)) *
262 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) +
263 static_cast<View
>(in.get(C::to_radix_mem_num_limbs_minus_one_inv))) -
265 static_cast<View
>(in.get(C::to_radix_mem_last)));
269 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
270 auto tmp =
static_cast<View
>(in.get(C::to_radix_mem_start)) *
271 ((
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_err))) *
272 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_mem_sel_num_limbs_is_zero))) -
273 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
277 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
279 CView(to_radix_mem_NOT_LAST) * (
static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem_shift)) -
280 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)));
284 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
285 auto tmp = (
static_cast<View
>(in.get(C::to_radix_mem_output_tag)) -
286 static_cast<View
>(in.get(C::to_radix_mem_sel_should_write_mem)) *
287 ((
CView(constants_MEM_TAG_U1) -
CView(constants_MEM_TAG_U8)) *
288 static_cast<View
>(in.get(C::to_radix_mem_is_output_bits)) +
289 CView(constants_MEM_TAG_U8)));