30 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_0_)) *
31 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_0_)));
35 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
36 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_1_)) *
37 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_1_)));
41 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
42 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_2_)) *
43 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_2_)));
47 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
48 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_3_)) *
49 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_3_)));
53 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
54 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_4_)) *
55 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_4_)));
59 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
60 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_5_)) *
61 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_5_)));
65 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
66 auto tmp =
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_6_)) *
67 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_addressing_indirect_6_)));
71 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
72 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_0_)) *
73 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_0_)));
77 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
78 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_1_)) *
79 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_1_)));
83 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
84 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_2_)) *
85 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_2_)));
89 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
90 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_3_)) *
91 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_3_)));
95 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
96 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_4_)) *
97 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_4_)));
101 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
102 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_5_)) *
103 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_5_)));
107 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
108 auto tmp =
static_cast<View
>(in.get(C::memory_sel_register_op_6_)) *
109 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_register_op_6_)));
113 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
114 auto tmp =
static_cast<View
>(in.get(C::memory_sel_data_copy_read)) *
115 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_data_copy_read)));
119 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
120 auto tmp =
static_cast<View
>(in.get(C::memory_sel_data_copy_write)) *
121 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_data_copy_write)));
125 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
126 auto tmp =
static_cast<View
>(in.get(C::memory_sel_get_contract_instance_exists_write)) *
127 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_get_contract_instance_exists_write)));
131 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
132 auto tmp =
static_cast<View
>(in.get(C::memory_sel_get_contract_instance_member_write)) *
133 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_get_contract_instance_member_write)));
137 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
138 auto tmp =
static_cast<View
>(in.get(C::memory_sel_unencrypted_log_read)) *
139 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_unencrypted_log_read)));
143 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
144 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_0_)) *
145 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_0_)));
149 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
150 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_1_)) *
151 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_1_)));
155 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
156 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_2_)) *
157 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_2_)));
161 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
162 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_3_)) *
163 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_read_3_)));
167 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
168 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_0_)) *
169 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_0_)));
173 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
174 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_1_)) *
175 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_1_)));
179 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
180 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_2_)) *
181 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_2_)));
185 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
186 auto tmp =
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_3_)) *
187 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_poseidon2_write_3_)));
191 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
193 static_cast<View
>(in.get(C::memory_sel_keccak)) * (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_keccak)));
197 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
198 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_read)) *
199 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_read)));
203 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
204 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_0_)) *
205 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_0_)));
209 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
210 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_1_)) *
211 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_1_)));
215 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
216 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_2_)) *
217 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_2_)));
221 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
222 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_3_)) *
223 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_3_)));
227 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
228 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_4_)) *
229 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_4_)));
233 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
234 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_5_)) *
235 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_5_)));
239 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
240 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_6_)) *
241 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_6_)));
245 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
246 auto tmp =
static_cast<View
>(in.get(C::memory_sel_sha256_op_7_)) *
247 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_sha256_op_7_)));
251 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
252 auto tmp =
static_cast<View
>(in.get(C::memory_sel_ecc_write_0_)) *
253 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_ecc_write_0_)));
257 using View =
typename std::tuple_element_t<39, ContainerOverSubrelations>::View;
258 auto tmp =
static_cast<View
>(in.get(C::memory_sel_ecc_write_1_)) *
259 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_ecc_write_1_)));
263 using View =
typename std::tuple_element_t<40, ContainerOverSubrelations>::View;
264 auto tmp =
static_cast<View
>(in.get(C::memory_sel_ecc_write_2_)) *
265 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_ecc_write_2_)));
269 using View =
typename std::tuple_element_t<41, ContainerOverSubrelations>::View;
270 auto tmp =
static_cast<View
>(in.get(C::memory_sel_to_radix_write)) *
271 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_to_radix_write)));
275 using View =
typename std::tuple_element_t<42, ContainerOverSubrelations>::View;
277 (
static_cast<View
>(in.get(C::memory_sel)) -
278 (
static_cast<View
>(in.get(C::memory_sel_addressing_base)) +
279 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_0_)) +
280 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_1_)) +
281 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_2_)) +
282 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_3_)) +
283 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_4_)) +
284 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_5_)) +
285 static_cast<View
>(in.get(C::memory_sel_addressing_indirect_6_)) +
286 static_cast<View
>(in.get(C::memory_sel_register_op_0_)) +
287 static_cast<View
>(in.get(C::memory_sel_register_op_1_)) +
288 static_cast<View
>(in.get(C::memory_sel_register_op_2_)) +
289 static_cast<View
>(in.get(C::memory_sel_register_op_3_)) +
290 static_cast<View
>(in.get(C::memory_sel_register_op_4_)) +
291 static_cast<View
>(in.get(C::memory_sel_register_op_5_)) +
292 static_cast<View
>(in.get(C::memory_sel_register_op_6_)) +
293 static_cast<View
>(in.get(C::memory_sel_data_copy_read)) +
294 static_cast<View
>(in.get(C::memory_sel_data_copy_write)) +
295 static_cast<View
>(in.get(C::memory_sel_get_contract_instance_exists_write)) +
296 static_cast<View
>(in.get(C::memory_sel_get_contract_instance_member_write)) +
297 static_cast<View
>(in.get(C::memory_sel_unencrypted_log_read)) +
298 static_cast<View
>(in.get(C::memory_sel_poseidon2_read_0_)) +
299 static_cast<View
>(in.get(C::memory_sel_poseidon2_read_1_)) +
300 static_cast<View
>(in.get(C::memory_sel_poseidon2_read_2_)) +
301 static_cast<View
>(in.get(C::memory_sel_poseidon2_read_3_)) +
302 static_cast<View
>(in.get(C::memory_sel_poseidon2_write_0_)) +
303 static_cast<View
>(in.get(C::memory_sel_poseidon2_write_1_)) +
304 static_cast<View
>(in.get(C::memory_sel_poseidon2_write_2_)) +
305 static_cast<View
>(in.get(C::memory_sel_poseidon2_write_3_)) +
306 static_cast<View
>(in.get(C::memory_sel_keccak)) +
static_cast<View
>(in.get(C::memory_sel_sha256_read)) +
307 static_cast<View
>(in.get(C::memory_sel_sha256_op_0_)) +
308 static_cast<View
>(in.get(C::memory_sel_sha256_op_1_)) +
309 static_cast<View
>(in.get(C::memory_sel_sha256_op_2_)) +
310 static_cast<View
>(in.get(C::memory_sel_sha256_op_3_)) +
311 static_cast<View
>(in.get(C::memory_sel_sha256_op_4_)) +
312 static_cast<View
>(in.get(C::memory_sel_sha256_op_5_)) +
313 static_cast<View
>(in.get(C::memory_sel_sha256_op_6_)) +
314 static_cast<View
>(in.get(C::memory_sel_sha256_op_7_)) +
315 static_cast<View
>(in.get(C::memory_sel_ecc_write_0_)) +
316 static_cast<View
>(in.get(C::memory_sel_ecc_write_1_)) +
317 static_cast<View
>(in.get(C::memory_sel_ecc_write_2_)) +
318 static_cast<View
>(in.get(C::memory_sel_to_radix_write))));
322 using View =
typename std::tuple_element_t<43, ContainerOverSubrelations>::View;
323 auto tmp =
static_cast<View
>(in.get(C::memory_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::memory_sel)));
327 using View =
typename std::tuple_element_t<44, ContainerOverSubrelations>::View;
328 auto tmp =
static_cast<View
>(in.get(C::memory_last_access)) *
329 (
FF(1) -
static_cast<View
>(in.get(C::memory_last_access)));
333 using View =
typename std::tuple_element_t<45, ContainerOverSubrelations>::View;
334 auto tmp =
static_cast<View
>(in.get(C::memory_rw)) * (
FF(1) -
static_cast<View
>(in.get(C::memory_rw)));
338 using View =
typename std::tuple_element_t<46, ContainerOverSubrelations>::View;
339 auto tmp =
static_cast<View
>(in.get(C::memory_sel_tag_is_ff)) *
340 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_tag_is_ff)));
344 using View =
typename std::tuple_element_t<47, ContainerOverSubrelations>::View;
345 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::precomputed_first_row))) *
346 (
FF(1) -
static_cast<View
>(in.get(C::memory_sel))) *
static_cast<View
>(in.get(C::memory_sel_shift));
350 using View =
typename std::tuple_element_t<48, ContainerOverSubrelations>::View;
351 auto tmp = (
static_cast<View
>(in.get(C::memory_sel_rng_chk)) -
352 static_cast<View
>(in.get(C::memory_sel)) *
static_cast<View
>(in.get(C::memory_sel_shift)));
356 using View =
typename std::tuple_element_t<49, ContainerOverSubrelations>::View;
357 auto tmp = (
static_cast<View
>(in.get(C::memory_global_addr)) -
358 (
static_cast<View
>(in.get(C::memory_space_id)) *
FF(4294967296UL) +
359 static_cast<View
>(in.get(C::memory_address))));
363 using View =
typename std::tuple_element_t<50, ContainerOverSubrelations>::View;
364 auto tmp = (
static_cast<View
>(in.get(C::memory_timestamp)) -
365 (
FF(2) *
static_cast<View
>(in.get(C::memory_clk)) +
static_cast<View
>(in.get(C::memory_rw))));
369 using View =
typename std::tuple_element_t<51, ContainerOverSubrelations>::View;
371 static_cast<View
>(in.get(C::memory_sel_rng_chk)) *
372 (
CView(memory_GLOB_ADDR_DIFF) * ((
FF(1) -
static_cast<View
>(in.get(C::memory_last_access))) *
373 (
FF(1) -
static_cast<View
>(in.get(C::memory_glob_addr_diff_inv))) +
374 static_cast<View
>(in.get(C::memory_glob_addr_diff_inv))) -
375 static_cast<View
>(in.get(C::memory_last_access)));
379 using View =
typename std::tuple_element_t<52, ContainerOverSubrelations>::View;
381 (
static_cast<View
>(in.get(C::memory_diff)) -
382 static_cast<View
>(in.get(C::memory_sel_rng_chk)) *
383 (
static_cast<View
>(in.get(C::memory_last_access)) *
CView(memory_GLOB_ADDR_DIFF) +
384 (
FF(1) -
static_cast<View
>(in.get(C::memory_last_access))) *
385 ((
static_cast<View
>(in.get(C::memory_timestamp_shift)) -
386 static_cast<View
>(in.get(C::memory_timestamp))) -
387 static_cast<View
>(in.get(C::memory_rw_shift)) *
static_cast<View
>(in.get(C::memory_rw)))));
391 using View =
typename std::tuple_element_t<53, ContainerOverSubrelations>::View;
393 (
static_cast<View
>(in.get(C::memory_diff)) -
394 (
static_cast<View
>(in.get(C::memory_limb_0_)) +
static_cast<View
>(in.get(C::memory_limb_1_)) *
FF(65536) +
395 static_cast<View
>(in.get(C::memory_limb_2_)) *
FF(4294967296UL)));
399 using View =
typename std::tuple_element_t<54, ContainerOverSubrelations>::View;
401 (
static_cast<View
>(in.get(C::memory_last_access)) +
static_cast<View
>(in.get(C::precomputed_first_row))) *
402 (
FF(1) -
static_cast<View
>(in.get(C::memory_rw_shift))) *
static_cast<View
>(in.get(C::memory_value_shift));
406 using View =
typename std::tuple_element_t<55, ContainerOverSubrelations>::View;
408 (
static_cast<View
>(in.get(C::memory_last_access)) +
static_cast<View
>(in.get(C::precomputed_first_row))) *
409 (
FF(1) -
static_cast<View
>(in.get(C::memory_rw_shift))) *
410 (
static_cast<View
>(in.get(C::memory_tag_shift)) -
CView(constants_MEM_TAG_FF));
414 using View =
typename std::tuple_element_t<56, ContainerOverSubrelations>::View;
415 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::memory_last_access))) *
416 (
FF(1) -
static_cast<View
>(in.get(C::memory_rw_shift))) *
417 (
static_cast<View
>(in.get(C::memory_value_shift)) -
static_cast<View
>(in.get(C::memory_value)));
421 using View =
typename std::tuple_element_t<57, ContainerOverSubrelations>::View;
422 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::memory_last_access))) *
423 (
FF(1) -
static_cast<View
>(in.get(C::memory_rw_shift))) *
424 (
static_cast<View
>(in.get(C::memory_tag_shift)) -
static_cast<View
>(in.get(C::memory_tag)));
428 using View =
typename std::tuple_element_t<58, ContainerOverSubrelations>::View;
429 auto tmp =
static_cast<View
>(in.get(C::memory_sel)) *
430 ((
CView(memory_TAG_FF_DIFF) * (
static_cast<View
>(in.get(C::memory_sel_tag_is_ff)) *
431 (
FF(1) -
static_cast<View
>(in.get(C::memory_tag_ff_diff_inv))) +
432 static_cast<View
>(in.get(C::memory_tag_ff_diff_inv))) +
433 static_cast<View
>(in.get(C::memory_sel_tag_is_ff))) -
438 using View =
typename std::tuple_element_t<59, ContainerOverSubrelations>::View;
440 (
static_cast<View
>(in.get(C::memory_sel_rng_write)) -
441 static_cast<View
>(in.get(C::memory_rw)) * (
FF(1) -
static_cast<View
>(in.get(C::memory_sel_tag_is_ff))));