31 const auto constants_AVM_SUBTRACE_ID_KECCAKF1600 =
FF(2048);
32 const auto constants_AVM_SUBTRACE_ID_ECC =
FF(4096);
33 const auto constants_AVM_SUBTRACE_ID_TO_RADIX =
FF(8192);
34 const auto constants_AVM_DYN_GAS_ID_CALLDATACOPY =
FF(1);
35 const auto constants_AVM_DYN_GAS_ID_RETURNDATACOPY =
FF(2);
36 const auto constants_AVM_DYN_GAS_ID_TORADIX =
FF(4);
37 const auto constants_AVM_DYN_GAS_ID_BITWISE =
FF(8);
38 const auto constants_AVM_DYN_GAS_ID_EMITPUBLICLOG =
FF(16);
39 const auto constants_AVM_DYN_GAS_ID_SSTORE =
FF(32);
40 const auto constants_AVM_EXEC_OP_ID_GETENVVAR =
FF(1);
41 const auto constants_AVM_EXEC_OP_ID_MOV =
FF(2);
42 const auto constants_AVM_EXEC_OP_ID_JUMP =
FF(4);
43 const auto constants_AVM_EXEC_OP_ID_JUMPI =
FF(8);
44 const auto constants_AVM_EXEC_OP_ID_CALL =
FF(16);
45 const auto constants_AVM_EXEC_OP_ID_STATICCALL =
FF(32);
46 const auto constants_AVM_EXEC_OP_ID_INTERNALCALL =
FF(64);
47 const auto constants_AVM_EXEC_OP_ID_INTERNALRETURN =
FF(128);
48 const auto constants_AVM_EXEC_OP_ID_RETURN =
FF(256);
49 const auto constants_AVM_EXEC_OP_ID_REVERT =
FF(512);
50 const auto constants_AVM_EXEC_OP_ID_SUCCESSCOPY =
FF(1024);
51 const auto constants_AVM_EXEC_OP_ID_RETURNDATASIZE =
FF(2048);
52 const auto constants_AVM_EXEC_OP_ID_DEBUGLOG =
FF(4096);
53 const auto constants_AVM_EXEC_OP_ID_SLOAD =
FF(8192);
54 const auto constants_AVM_EXEC_OP_ID_SSTORE =
FF(16384);
55 const auto constants_AVM_EXEC_OP_ID_NOTEHASH_EXISTS =
FF(32768);
56 const auto constants_AVM_EXEC_OP_ID_EMIT_NOTEHASH =
FF(65536);
57 const auto constants_AVM_EXEC_OP_ID_L1_TO_L2_MESSAGE_EXISTS =
FF(131072);
58 const auto constants_AVM_EXEC_OP_ID_NULLIFIER_EXISTS =
FF(262144);
59 const auto constants_AVM_EXEC_OP_ID_EMIT_NULLIFIER =
FF(524288);
60 const auto constants_AVM_EXEC_OP_ID_SENDL2TOL1MSG =
FF(1048576);
61 const auto execution_SEL_SHOULD_RESOLVE_ADDRESS = in.get(C::execution_sel_instruction_fetching_success);
64 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
65 auto tmp =
static_cast<View
>(in.get(C::execution_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::execution_sel)));
69 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
70 auto tmp = (
static_cast<View
>(in.get(C::execution_enqueued_call_start_shift)) -
71 (
static_cast<View
>(in.get(C::precomputed_first_row)) +
72 static_cast<View
>(in.get(C::execution_enqueued_call_end))) *
73 static_cast<View
>(in.get(C::execution_sel_shift)));
77 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
78 auto tmp = (
static_cast<View
>(in.get(C::execution_enqueued_call_end)) -
79 static_cast<View
>(in.get(C::execution_sel_exit_call)) *
80 (
FF(1) -
static_cast<View
>(in.get(C::execution_has_parent_ctx))));
84 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
85 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_first_row_in_context_shift)) -
86 (
static_cast<View
>(in.get(C::execution_sel_enter_call)) +
87 static_cast<View
>(in.get(C::execution_enqueued_call_start_shift))));
91 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
92 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel))) *
93 (
FF(1) -
static_cast<View
>(in.get(C::precomputed_first_row))) *
94 static_cast<View
>(in.get(C::execution_sel_shift));
98 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
99 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel))) *
static_cast<View
>(in.get(C::execution_clk));
103 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
105 static_cast<View
>(in.get(C::execution_sel_shift)) *
106 ((
static_cast<View
>(in.get(C::execution_clk)) +
FF(1)) -
static_cast<View
>(in.get(C::execution_clk_shift)));
110 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
111 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_first_row_in_context))) *
112 static_cast<View
>(in.get(C::execution_sel_bytecode_retrieval_failure));
116 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
117 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_bytecode_retrieval_success)) -
118 static_cast<View
>(in.get(C::execution_sel)) *
119 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_bytecode_retrieval_failure))));
123 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
124 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_instruction_fetching_success)) -
125 static_cast<View
>(in.get(C::execution_sel_bytecode_retrieval_success)) *
126 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_instruction_fetching_failure))));
130 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
131 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_bytecode_retrieval_success))) *
132 static_cast<View
>(in.get(C::execution_sel_instruction_fetching_failure));
136 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
137 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_should_read_registers)) -
138 CView(execution_SEL_SHOULD_RESOLVE_ADDRESS) *
139 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_addressing_error))));
143 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
144 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_should_check_gas)) -
145 static_cast<View
>(in.get(C::execution_sel_should_read_registers)) *
146 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_register_read_error))));
150 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
151 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_calldata_copy)) *
152 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_calldata_copy)));
156 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
157 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_returndata_copy)) *
158 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_returndata_copy)));
162 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
163 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_to_radix)) *
164 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_to_radix)));
168 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
169 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_bitwise)) *
170 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_bitwise)));
174 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
175 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log)) *
176 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log)));
180 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
181 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_sstore)) *
182 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_sstore)));
186 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
188 ((
static_cast<View
>(in.get(C::execution_sel_gas_calldata_copy)) *
189 CView(constants_AVM_DYN_GAS_ID_CALLDATACOPY) +
190 static_cast<View
>(in.get(C::execution_sel_gas_returndata_copy)) *
191 CView(constants_AVM_DYN_GAS_ID_RETURNDATACOPY) +
192 static_cast<View
>(in.get(C::execution_sel_gas_to_radix)) *
CView(constants_AVM_DYN_GAS_ID_TORADIX) +
193 static_cast<View
>(in.get(C::execution_sel_gas_bitwise)) *
CView(constants_AVM_DYN_GAS_ID_BITWISE) +
194 static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log)) *
195 CView(constants_AVM_DYN_GAS_ID_EMITPUBLICLOG) +
196 static_cast<View
>(in.get(C::execution_sel_gas_sstore)) *
CView(constants_AVM_DYN_GAS_ID_SSTORE)) -
197 static_cast<View
>(in.get(C::execution_sel_should_check_gas)) *
198 static_cast<View
>(in.get(C::execution_dyn_gas_id)));
202 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
203 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_to_radix)) *
204 (
static_cast<View
>(in.get(C::execution_two_five_six)) -
FF(256));
208 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
209 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_lookup_num_p_limbs)) -
210 static_cast<View
>(in.get(C::execution_sel_gas_to_radix)) *
211 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_radix_gt_256))));
215 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
216 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_to_radix)) *
217 static_cast<View
>(in.get(C::execution_sel_radix_gt_256)) *
218 (
static_cast<View
>(in.get(C::execution_num_p_limbs)) -
FF(32));
222 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
223 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_to_radix)) *
224 (((
static_cast<View
>(in.get(C::execution_register_2_)) -
225 static_cast<View
>(in.get(C::execution_num_p_limbs))) *
226 static_cast<View
>(in.get(C::execution_sel_use_num_limbs)) +
227 static_cast<View
>(in.get(C::execution_num_p_limbs))) -
228 static_cast<View
>(in.get(C::execution_dynamic_l2_gas_factor)));
232 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
233 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log)) +
234 static_cast<View
>(in.get(C::execution_sel_gas_calldata_copy)) +
235 static_cast<View
>(in.get(C::execution_sel_gas_returndata_copy))) *
236 (
static_cast<View
>(in.get(C::execution_register_0_)) -
237 static_cast<View
>(in.get(C::execution_dynamic_l2_gas_factor)));
241 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
242 auto tmp =
static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log)) *
243 (
static_cast<View
>(in.get(C::execution_register_0_)) -
244 static_cast<View
>(in.get(C::execution_dynamic_da_gas_factor)));
248 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
249 auto tmp = ((
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_sstore))) -
250 static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log))) *
251 static_cast<View
>(in.get(C::execution_dynamic_da_gas_factor));
255 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
256 auto tmp = (((((
FF(1) -
static_cast<View
>(in.get(C::execution_sel_gas_bitwise))) -
257 static_cast<View
>(in.get(C::execution_sel_gas_to_radix))) -
258 static_cast<View
>(in.get(C::execution_sel_gas_emit_public_log))) -
259 static_cast<View
>(in.get(C::execution_sel_gas_calldata_copy))) -
260 static_cast<View
>(in.get(C::execution_sel_gas_returndata_copy))) *
261 static_cast<View
>(in.get(C::execution_dynamic_l2_gas_factor));
265 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
266 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_should_execute_opcode)) -
267 static_cast<View
>(in.get(C::execution_sel_should_check_gas)) *
268 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_out_of_gas))));
272 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
273 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_execution)) *
274 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_execution)));
278 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
279 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_alu)) *
280 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_alu)));
284 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
285 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_bitwise)) *
286 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_bitwise)));
290 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
291 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_cast)) *
292 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_cast)));
296 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
297 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_calldata_copy)) *
298 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_calldata_copy)));
302 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
303 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_returndata_copy)) *
304 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_returndata_copy)));
308 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
309 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_set)) *
310 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_set)));
314 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
315 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_get_contract_instance)) *
316 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_get_contract_instance)));
320 using View =
typename std::tuple_element_t<37, ContainerOverSubrelations>::View;
321 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_emit_public_log)) *
322 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_emit_public_log)));
326 using View =
typename std::tuple_element_t<38, ContainerOverSubrelations>::View;
327 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_poseidon2_perm)) *
328 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_poseidon2_perm)));
332 using View =
typename std::tuple_element_t<39, ContainerOverSubrelations>::View;
333 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_sha256_compression)) *
334 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_sha256_compression)));
338 using View =
typename std::tuple_element_t<40, ContainerOverSubrelations>::View;
339 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_keccakf1600)) *
340 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_keccakf1600)));
344 using View =
typename std::tuple_element_t<41, ContainerOverSubrelations>::View;
345 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_ecc_add)) *
346 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_ecc_add)));
350 using View =
typename std::tuple_element_t<42, ContainerOverSubrelations>::View;
351 auto tmp =
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_to_radix)) *
352 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_to_radix)));
356 using View =
typename std::tuple_element_t<43, ContainerOverSubrelations>::View;
358 ((
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_execution)) *
359 CView(constants_AVM_SUBTRACE_ID_EXECUTION) +
360 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_alu)) *
CView(constants_AVM_SUBTRACE_ID_ALU) +
361 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_bitwise)) *
362 CView(constants_AVM_SUBTRACE_ID_BITWISE) +
363 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_cast)) *
CView(constants_AVM_SUBTRACE_ID_CAST) +
364 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_calldata_copy)) *
365 CView(constants_AVM_SUBTRACE_ID_CALLDATA_COPY) +
366 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_returndata_copy)) *
367 CView(constants_AVM_SUBTRACE_ID_RETURNDATA_COPY) +
368 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_set)) *
CView(constants_AVM_SUBTRACE_ID_SET) +
369 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_get_contract_instance)) *
370 CView(constants_AVM_SUBTRACE_ID_GETCONTRACTINSTANCE) +
371 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_emit_public_log)) *
372 CView(constants_AVM_SUBTRACE_ID_EMITPUBLICLOG) +
373 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_poseidon2_perm)) *
374 CView(constants_AVM_SUBTRACE_ID_POSEIDON2_PERM) +
375 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_sha256_compression)) *
376 CView(constants_AVM_SUBTRACE_ID_SHA256_COMPRESSION) +
377 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_keccakf1600)) *
378 CView(constants_AVM_SUBTRACE_ID_KECCAKF1600) +
379 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_ecc_add)) *
CView(constants_AVM_SUBTRACE_ID_ECC) +
380 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_to_radix)) *
381 CView(constants_AVM_SUBTRACE_ID_TO_RADIX)) -
382 static_cast<View
>(in.get(C::execution_sel_should_execute_opcode)) *
383 static_cast<View
>(in.get(C::execution_subtrace_id)));
387 using View =
typename std::tuple_element_t<44, ContainerOverSubrelations>::View;
388 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_get_env_var)) *
389 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_get_env_var)));
393 using View =
typename std::tuple_element_t<45, ContainerOverSubrelations>::View;
394 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_mov)) *
395 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_mov)));
399 using View =
typename std::tuple_element_t<46, ContainerOverSubrelations>::View;
400 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_jump)) *
401 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_jump)));
405 using View =
typename std::tuple_element_t<47, ContainerOverSubrelations>::View;
406 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_jumpi)) *
407 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_jumpi)));
411 using View =
typename std::tuple_element_t<48, ContainerOverSubrelations>::View;
412 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_call)) *
413 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_call)));
417 using View =
typename std::tuple_element_t<49, ContainerOverSubrelations>::View;
418 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_static_call)) *
419 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_static_call)));
423 using View =
typename std::tuple_element_t<50, ContainerOverSubrelations>::View;
424 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_internal_call)) *
425 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_internal_call)));
429 using View =
typename std::tuple_element_t<51, ContainerOverSubrelations>::View;
430 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_internal_return)) *
431 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_internal_return)));
435 using View =
typename std::tuple_element_t<52, ContainerOverSubrelations>::View;
436 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_return)) *
437 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_return)));
441 using View =
typename std::tuple_element_t<53, ContainerOverSubrelations>::View;
442 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_revert)) *
443 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_revert)));
447 using View =
typename std::tuple_element_t<54, ContainerOverSubrelations>::View;
448 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_success_copy)) *
449 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_success_copy)));
453 using View =
typename std::tuple_element_t<55, ContainerOverSubrelations>::View;
454 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_returndata_size)) *
455 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_returndata_size)));
459 using View =
typename std::tuple_element_t<56, ContainerOverSubrelations>::View;
460 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_debug_log)) *
461 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_debug_log)));
465 using View =
typename std::tuple_element_t<57, ContainerOverSubrelations>::View;
466 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_sload)) *
467 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_sload)));
471 using View =
typename std::tuple_element_t<58, ContainerOverSubrelations>::View;
472 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_sstore)) *
473 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_sstore)));
477 using View =
typename std::tuple_element_t<59, ContainerOverSubrelations>::View;
478 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_notehash_exists)) *
479 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_notehash_exists)));
483 using View =
typename std::tuple_element_t<60, ContainerOverSubrelations>::View;
484 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_emit_notehash)) *
485 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_notehash)));
489 using View =
typename std::tuple_element_t<61, ContainerOverSubrelations>::View;
490 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_l1_to_l2_message_exists)) *
491 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_l1_to_l2_message_exists)));
495 using View =
typename std::tuple_element_t<62, ContainerOverSubrelations>::View;
496 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_nullifier_exists)) *
497 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_nullifier_exists)));
501 using View =
typename std::tuple_element_t<63, ContainerOverSubrelations>::View;
502 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_emit_nullifier)) *
503 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_nullifier)));
507 using View =
typename std::tuple_element_t<64, ContainerOverSubrelations>::View;
508 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_send_l2_to_l1_msg)) *
509 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_send_l2_to_l1_msg)));
513 using View =
typename std::tuple_element_t<65, ContainerOverSubrelations>::View;
515 ((
static_cast<View
>(in.get(C::execution_sel_execute_get_env_var)) *
516 CView(constants_AVM_EXEC_OP_ID_GETENVVAR) +
517 static_cast<View
>(in.get(C::execution_sel_execute_mov)) *
CView(constants_AVM_EXEC_OP_ID_MOV) +
518 static_cast<View
>(in.get(C::execution_sel_execute_jump)) *
CView(constants_AVM_EXEC_OP_ID_JUMP) +
519 static_cast<View
>(in.get(C::execution_sel_execute_jumpi)) *
CView(constants_AVM_EXEC_OP_ID_JUMPI) +
520 static_cast<View
>(in.get(C::execution_sel_execute_call)) *
CView(constants_AVM_EXEC_OP_ID_CALL) +
521 static_cast<View
>(in.get(C::execution_sel_execute_static_call)) *
522 CView(constants_AVM_EXEC_OP_ID_STATICCALL) +
523 static_cast<View
>(in.get(C::execution_sel_execute_internal_call)) *
524 CView(constants_AVM_EXEC_OP_ID_INTERNALCALL) +
525 static_cast<View
>(in.get(C::execution_sel_execute_internal_return)) *
526 CView(constants_AVM_EXEC_OP_ID_INTERNALRETURN) +
527 static_cast<View
>(in.get(C::execution_sel_execute_return)) *
CView(constants_AVM_EXEC_OP_ID_RETURN) +
528 static_cast<View
>(in.get(C::execution_sel_execute_revert)) *
CView(constants_AVM_EXEC_OP_ID_REVERT) +
529 static_cast<View
>(in.get(C::execution_sel_execute_success_copy)) *
530 CView(constants_AVM_EXEC_OP_ID_SUCCESSCOPY) +
531 static_cast<View
>(in.get(C::execution_sel_execute_returndata_size)) *
532 CView(constants_AVM_EXEC_OP_ID_RETURNDATASIZE) +
533 static_cast<View
>(in.get(C::execution_sel_execute_debug_log)) *
CView(constants_AVM_EXEC_OP_ID_DEBUGLOG) +
534 static_cast<View
>(in.get(C::execution_sel_execute_sload)) *
CView(constants_AVM_EXEC_OP_ID_SLOAD) +
535 static_cast<View
>(in.get(C::execution_sel_execute_sstore)) *
CView(constants_AVM_EXEC_OP_ID_SSTORE) +
536 static_cast<View
>(in.get(C::execution_sel_execute_notehash_exists)) *
537 CView(constants_AVM_EXEC_OP_ID_NOTEHASH_EXISTS) +
538 static_cast<View
>(in.get(C::execution_sel_execute_emit_notehash)) *
539 CView(constants_AVM_EXEC_OP_ID_EMIT_NOTEHASH) +
540 static_cast<View
>(in.get(C::execution_sel_execute_l1_to_l2_message_exists)) *
541 CView(constants_AVM_EXEC_OP_ID_L1_TO_L2_MESSAGE_EXISTS) +
542 static_cast<View
>(in.get(C::execution_sel_execute_nullifier_exists)) *
543 CView(constants_AVM_EXEC_OP_ID_NULLIFIER_EXISTS) +
544 static_cast<View
>(in.get(C::execution_sel_execute_emit_nullifier)) *
545 CView(constants_AVM_EXEC_OP_ID_EMIT_NULLIFIER) +
546 static_cast<View
>(in.get(C::execution_sel_execute_send_l2_to_l1_msg)) *
547 CView(constants_AVM_EXEC_OP_ID_SENDL2TOL1MSG)) -
548 static_cast<View
>(in.get(C::execution_sel_exec_dispatch_execution)) *
549 static_cast<View
>(in.get(C::execution_subtrace_operation_id)));
553 using View =
typename std::tuple_element_t<66, ContainerOverSubrelations>::View;
554 auto tmp =
static_cast<View
>(in.get(C::execution_sel_shift)) *
555 (
static_cast<View
>(in.get(C::execution_sel_execute_internal_call)) +
556 static_cast<View
>(in.get(C::execution_sel_execute_jump))) *
557 (
static_cast<View
>(in.get(C::execution_pc_shift)) -
static_cast<View
>(in.get(C::execution_rop_0_)));
561 using View =
typename std::tuple_element_t<67, ContainerOverSubrelations>::View;
563 static_cast<View
>(in.get(C::execution_sel_shift)) *
564 static_cast<View
>(in.get(C::execution_sel_execute_jumpi)) *
565 ((
static_cast<View
>(in.get(C::execution_register_0_)) *
566 (
static_cast<View
>(in.get(C::execution_rop_1_)) -
static_cast<View
>(in.get(C::execution_next_pc))) +
567 static_cast<View
>(in.get(C::execution_next_pc))) -
568 static_cast<View
>(in.get(C::execution_pc_shift)));
572 using View =
typename std::tuple_element_t<68, ContainerOverSubrelations>::View;
574 static_cast<View
>(in.get(C::execution_sel_execute_mov)) *
575 (
static_cast<View
>(in.get(C::execution_register_0_)) -
static_cast<View
>(in.get(C::execution_register_1_)));
579 using View =
typename std::tuple_element_t<69, ContainerOverSubrelations>::View;
580 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_mov)) *
581 (
static_cast<View
>(in.get(C::execution_mem_tag_reg_0_)) -
582 static_cast<View
>(in.get(C::execution_mem_tag_reg_1_)));
586 using View =
typename std::tuple_element_t<70, ContainerOverSubrelations>::View;
587 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_success_copy)) *
588 (
static_cast<View
>(in.get(C::execution_register_0_)) -
589 static_cast<View
>(in.get(C::execution_last_child_success)));
593 using View =
typename std::tuple_element_t<71, ContainerOverSubrelations>::View;
594 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_success_copy)) *
595 (
static_cast<View
>(in.get(C::execution_mem_tag_reg_0_)) -
CView(constants_MEM_TAG_U1));
599 using View =
typename std::tuple_element_t<72, ContainerOverSubrelations>::View;
600 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_returndata_size)) *
601 (
static_cast<View
>(in.get(C::execution_register_0_)) -
602 static_cast<View
>(in.get(C::execution_last_child_returndata_size)));
606 using View =
typename std::tuple_element_t<73, ContainerOverSubrelations>::View;
607 auto tmp =
static_cast<View
>(in.get(C::execution_sel_execute_returndata_size)) *
608 (
static_cast<View
>(in.get(C::execution_mem_tag_reg_0_)) -
CView(constants_MEM_TAG_U32));
612 using View =
typename std::tuple_element_t<74, ContainerOverSubrelations>::View;
613 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_sstore))) *
614 (
static_cast<View
>(in.get(C::execution_prev_public_data_tree_root)) -
615 static_cast<View
>(in.get(C::execution_public_data_tree_root)));
619 using View =
typename std::tuple_element_t<75, ContainerOverSubrelations>::View;
620 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_sstore))) *
621 (
static_cast<View
>(in.get(C::execution_prev_public_data_tree_size)) -
622 static_cast<View
>(in.get(C::execution_public_data_tree_size)));
626 using View =
typename std::tuple_element_t<76, ContainerOverSubrelations>::View;
627 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_sstore))) *
628 (
static_cast<View
>(in.get(C::execution_prev_written_public_data_slots_tree_root)) -
629 static_cast<View
>(in.get(C::execution_written_public_data_slots_tree_root)));
633 using View =
typename std::tuple_element_t<77, ContainerOverSubrelations>::View;
634 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_sstore))) *
635 (
static_cast<View
>(in.get(C::execution_prev_written_public_data_slots_tree_size)) -
636 static_cast<View
>(in.get(C::execution_written_public_data_slots_tree_size)));
640 using View =
typename std::tuple_element_t<78, ContainerOverSubrelations>::View;
641 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_notehash))) *
642 (
static_cast<View
>(in.get(C::execution_prev_note_hash_tree_root)) -
643 static_cast<View
>(in.get(C::execution_note_hash_tree_root)));
647 using View =
typename std::tuple_element_t<79, ContainerOverSubrelations>::View;
648 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_notehash))) *
649 (
static_cast<View
>(in.get(C::execution_prev_note_hash_tree_size)) -
650 static_cast<View
>(in.get(C::execution_note_hash_tree_size)));
654 using View =
typename std::tuple_element_t<80, ContainerOverSubrelations>::View;
655 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_notehash))) *
656 (
static_cast<View
>(in.get(C::execution_prev_num_note_hashes_emitted)) -
657 static_cast<View
>(in.get(C::execution_num_note_hashes_emitted)));
661 using View =
typename std::tuple_element_t<81, ContainerOverSubrelations>::View;
662 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_nullifier))) *
663 (
static_cast<View
>(in.get(C::execution_prev_nullifier_tree_root)) -
664 static_cast<View
>(in.get(C::execution_nullifier_tree_root)));
668 using View =
typename std::tuple_element_t<82, ContainerOverSubrelations>::View;
669 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_nullifier))) *
670 (
static_cast<View
>(in.get(C::execution_prev_nullifier_tree_size)) -
671 static_cast<View
>(in.get(C::execution_nullifier_tree_size)));
675 using View =
typename std::tuple_element_t<83, ContainerOverSubrelations>::View;
676 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_emit_nullifier))) *
677 (
static_cast<View
>(in.get(C::execution_prev_num_nullifiers_emitted)) -
678 static_cast<View
>(in.get(C::execution_num_nullifiers_emitted)));
682 using View =
typename std::tuple_element_t<84, ContainerOverSubrelations>::View;
683 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_exec_dispatch_emit_public_log))) *
684 (
static_cast<View
>(in.get(C::execution_prev_num_public_log_fields)) -
685 static_cast<View
>(in.get(C::execution_num_public_log_fields)));
689 using View =
typename std::tuple_element_t<85, ContainerOverSubrelations>::View;
690 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_execute_send_l2_to_l1_msg))) *
691 (
static_cast<View
>(in.get(C::execution_prev_num_l2_to_l1_messages)) -
692 static_cast<View
>(in.get(C::execution_num_l2_to_l1_messages)));
696 using View =
typename std::tuple_element_t<86, ContainerOverSubrelations>::View;
697 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_first_row_in_context))) *
698 (
static_cast<View
>(in.get(C::execution_prev_retrieved_bytecodes_tree_root)) -
699 static_cast<View
>(in.get(C::execution_retrieved_bytecodes_tree_root)));
703 using View =
typename std::tuple_element_t<87, ContainerOverSubrelations>::View;
704 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_first_row_in_context))) *
705 (
static_cast<View
>(in.get(C::execution_prev_retrieved_bytecodes_tree_size)) -
706 static_cast<View
>(in.get(C::execution_retrieved_bytecodes_tree_size)));
710 using View =
typename std::tuple_element_t<88, ContainerOverSubrelations>::View;
711 auto tmp =
static_cast<View
>(in.get(C::execution_sel_opcode_error)) *
712 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_opcode_error)));
716 using View =
typename std::tuple_element_t<89, ContainerOverSubrelations>::View;
717 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_execute_mov)) +
718 static_cast<View
>(in.get(C::execution_sel_execute_returndata_size)) +
719 static_cast<View
>(in.get(C::execution_sel_execute_jump)) +
720 static_cast<View
>(in.get(C::execution_sel_execute_jumpi)) +
721 static_cast<View
>(in.get(C::execution_sel_execute_debug_log)) +
722 static_cast<View
>(in.get(C::execution_sel_execute_success_copy)) +
723 static_cast<View
>(in.get(C::execution_sel_execute_call)) +
724 static_cast<View
>(in.get(C::execution_sel_execute_static_call)) +
725 static_cast<View
>(in.get(C::execution_sel_execute_internal_call)) +
726 static_cast<View
>(in.get(C::execution_sel_execute_return)) +
727 static_cast<View
>(in.get(C::execution_sel_execute_revert)) +
728 static_cast<View
>(in.get(C::execution_sel_execute_sload)) +
729 static_cast<View
>(in.get(C::execution_sel_execute_notehash_exists)) +
730 static_cast<View
>(in.get(C::execution_sel_execute_l1_to_l2_message_exists)) +
731 static_cast<View
>(in.get(C::execution_sel_execute_nullifier_exists))) *
732 static_cast<View
>(in.get(C::execution_sel_opcode_error));
736 using View =
typename std::tuple_element_t<90, ContainerOverSubrelations>::View;
737 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_should_execute_opcode))) *
738 static_cast<View
>(in.get(C::execution_sel_opcode_error));
742 using View =
typename std::tuple_element_t<91, ContainerOverSubrelations>::View;
743 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_should_write_registers)) -
744 static_cast<View
>(in.get(C::execution_sel_should_execute_opcode)) *
745 (
FF(1) -
static_cast<View
>(in.get(C::execution_sel_opcode_error))));
749 using View =
typename std::tuple_element_t<92, ContainerOverSubrelations>::View;
750 auto tmp = (
static_cast<View
>(in.get(C::execution_sel_error)) -
751 (
static_cast<View
>(in.get(C::execution_sel_bytecode_retrieval_failure)) +
752 static_cast<View
>(in.get(C::execution_sel_instruction_fetching_failure)) +
753 static_cast<View
>(in.get(C::execution_sel_addressing_error)) +
754 static_cast<View
>(in.get(C::execution_sel_register_read_error)) +
755 static_cast<View
>(in.get(C::execution_sel_out_of_gas)) +
756 static_cast<View
>(in.get(C::execution_sel_opcode_error))));