From 912c3f2e0518d00d41aa9be19fe392e95faeeb5e Mon Sep 17 00:00:00 2001 From: fcarreiro Date: Sat, 25 Jan 2025 15:49:06 +0000 Subject: [PATCH] refactor(avm): less codegen bloat --- .../barretenberg/vm/avm/generated/flavor.cpp | 1634 ----------------- .../barretenberg/vm/avm/generated/flavor.hpp | 15 +- .../src/barretenberg/vm2/generated/flavor.cpp | 212 --- .../src/barretenberg/vm2/generated/flavor.hpp | 15 +- .../bb-pil-backend/templates/flavor.cpp.hbs | 24 - .../bb-pil-backend/templates/flavor.hpp.hbs | 12 +- 6 files changed, 18 insertions(+), 1894 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.cpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.cpp index e535592b9ee..e4d9f2223cf 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.cpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.cpp @@ -3,823 +3,6 @@ namespace bb::avm { -AvmFlavor::AllConstRefValues::AllConstRefValues( - const RefArray& il) - : byte_lookup_sel_bin(il[0]) - , byte_lookup_table_byte_lengths(il[1]) - , byte_lookup_table_in_tags(il[2]) - , byte_lookup_table_input_a(il[3]) - , byte_lookup_table_input_b(il[4]) - , byte_lookup_table_op_id(il[5]) - , byte_lookup_table_output(il[6]) - , gas_base_da_gas_fixed_table(il[7]) - , gas_base_l2_gas_fixed_table(il[8]) - , gas_dyn_da_gas_fixed_table(il[9]) - , gas_dyn_l2_gas_fixed_table(il[10]) - , gas_sel_gas_cost(il[11]) - , main_clk(il[12]) - , main_sel_da_end_gas_kernel_input(il[13]) - , main_sel_da_start_gas_kernel_input(il[14]) - , main_sel_first(il[15]) - , main_sel_l2_end_gas_kernel_input(il[16]) - , main_sel_l2_start_gas_kernel_input(il[17]) - , main_sel_start_exec(il[18]) - , main_zeroes(il[19]) - , powers_power_of_2(il[20]) - , main_kernel_inputs(il[21]) - , main_kernel_value_out(il[22]) - , main_kernel_side_effect_out(il[23]) - , main_kernel_metadata_out(il[24]) - , main_calldata(il[25]) - , main_returndata(il[26]) - , alu_a_hi(il[27]) - , alu_a_lo(il[28]) - , alu_b_hi(il[29]) - , alu_b_lo(il[30]) - , alu_b_pow(il[31]) - , alu_c_hi(il[32]) - , alu_c_lo(il[33]) - , alu_cf(il[34]) - , alu_clk(il[35]) - , alu_cmp_gadget_gt(il[36]) - , alu_cmp_gadget_input_a(il[37]) - , alu_cmp_gadget_input_b(il[38]) - , alu_cmp_gadget_non_ff_gt(il[39]) - , alu_cmp_gadget_result(il[40]) - , alu_cmp_gadget_sel(il[41]) - , alu_ff_tag(il[42]) - , alu_ia(il[43]) - , alu_ib(il[44]) - , alu_ic(il[45]) - , alu_in_tag(il[46]) - , alu_max_bits_sub_b_bits(il[47]) - , alu_max_bits_sub_b_pow(il[48]) - , alu_op_add(il[49]) - , alu_op_cast(il[50]) - , alu_op_div(il[51]) - , alu_op_eq(il[52]) - , alu_op_lt(il[53]) - , alu_op_lte(il[54]) - , alu_op_mul(il[55]) - , alu_op_not(il[56]) - , alu_op_shl(il[57]) - , alu_op_shr(il[58]) - , alu_op_sub(il[59]) - , alu_partial_prod_hi(il[60]) - , alu_partial_prod_lo(il[61]) - , alu_range_check_input_value(il[62]) - , alu_range_check_num_bits(il[63]) - , alu_range_check_sel(il[64]) - , alu_remainder(il[65]) - , alu_sel_alu(il[66]) - , alu_sel_cmp(il[67]) - , alu_sel_shift_which(il[68]) - , alu_u128_tag(il[69]) - , alu_u16_tag(il[70]) - , alu_u1_tag(il[71]) - , alu_u32_tag(il[72]) - , alu_u64_tag(il[73]) - , alu_u8_tag(il[74]) - , alu_zero_shift(il[75]) - , binary_acc_ia(il[76]) - , binary_acc_ib(il[77]) - , binary_acc_ic(il[78]) - , binary_clk(il[79]) - , binary_ia_bytes(il[80]) - , binary_ib_bytes(il[81]) - , binary_ic_bytes(il[82]) - , binary_in_tag(il[83]) - , binary_mem_tag_ctr(il[84]) - , binary_mem_tag_ctr_inv(il[85]) - , binary_op_id(il[86]) - , binary_sel_bin(il[87]) - , binary_start(il[88]) - , bytecode_arifact_hash(il[89]) - , bytecode_as_fields(il[90]) - , bytecode_bytes(il[91]) - , bytecode_bytes_pc(il[92]) - , bytecode_class_id(il[93]) - , bytecode_contract_address(il[94]) - , bytecode_decomposed(il[95]) - , bytecode_deployer_addr(il[96]) - , bytecode_end_latch(il[97]) - , bytecode_incoming_viewing_key_x(il[98]) - , bytecode_incoming_viewing_key_y(il[99]) - , bytecode_initialization_hash(il[100]) - , bytecode_length_remaining(il[101]) - , bytecode_nullifier_key_x(il[102]) - , bytecode_nullifier_key_y(il[103]) - , bytecode_outgoing_viewing_key_x(il[104]) - , bytecode_outgoing_viewing_key_y(il[105]) - , bytecode_private_fn_root(il[106]) - , bytecode_public_key_hash(il[107]) - , bytecode_running_hash(il[108]) - , bytecode_salt(il[109]) - , bytecode_tagging_key_x(il[110]) - , bytecode_tagging_key_y(il[111]) - , cmp_a_hi(il[112]) - , cmp_a_lo(il[113]) - , cmp_b_hi(il[114]) - , cmp_b_lo(il[115]) - , cmp_borrow(il[116]) - , cmp_clk(il[117]) - , cmp_cmp_rng_ctr(il[118]) - , cmp_diff(il[119]) - , cmp_input_a(il[120]) - , cmp_input_b(il[121]) - , cmp_op_eq(il[122]) - , cmp_op_eq_diff_inv(il[123]) - , cmp_op_gt(il[124]) - , cmp_op_non_ff_gt(il[125]) - , cmp_p_a_borrow(il[126]) - , cmp_p_b_borrow(il[127]) - , cmp_p_sub_a_hi(il[128]) - , cmp_p_sub_a_lo(il[129]) - , cmp_p_sub_b_hi(il[130]) - , cmp_p_sub_b_lo(il[131]) - , cmp_range_chk_clk(il[132]) - , cmp_res_hi(il[133]) - , cmp_res_lo(il[134]) - , cmp_result(il[135]) - , cmp_sel_cmp(il[136]) - , cmp_sel_rng_chk(il[137]) - , cmp_shift_sel(il[138]) - , conversion_clk(il[139]) - , conversion_input(il[140]) - , conversion_num_limbs(il[141]) - , conversion_output_bits(il[142]) - , conversion_radix(il[143]) - , conversion_sel_to_radix_be(il[144]) - , keccakf1600_clk(il[145]) - , keccakf1600_input(il[146]) - , keccakf1600_output(il[147]) - , keccakf1600_sel_keccakf1600(il[148]) - , main_abs_da_rem_gas(il[149]) - , main_abs_l2_rem_gas(il[150]) - , main_alu_in_tag(il[151]) - , main_base_da_gas_op_cost(il[152]) - , main_base_l2_gas_op_cost(il[153]) - , main_bin_op_id(il[154]) - , main_call_ptr(il[155]) - , main_da_gas_remaining(il[156]) - , main_da_gas_u16_r0(il[157]) - , main_da_gas_u16_r1(il[158]) - , main_da_out_of_gas(il[159]) - , main_dyn_da_gas_op_cost(il[160]) - , main_dyn_gas_multiplier(il[161]) - , main_dyn_l2_gas_op_cost(il[162]) - , main_ia(il[163]) - , main_ib(il[164]) - , main_ic(il[165]) - , main_id(il[166]) - , main_id_zero(il[167]) - , main_ind_addr_a(il[168]) - , main_ind_addr_b(il[169]) - , main_ind_addr_c(il[170]) - , main_ind_addr_d(il[171]) - , main_internal_return_ptr(il[172]) - , main_inv(il[173]) - , main_is_fake_row(il[174]) - , main_is_gas_accounted(il[175]) - , main_l2_gas_remaining(il[176]) - , main_l2_gas_u16_r0(il[177]) - , main_l2_gas_u16_r1(il[178]) - , main_l2_out_of_gas(il[179]) - , main_mem_addr_a(il[180]) - , main_mem_addr_b(il[181]) - , main_mem_addr_c(il[182]) - , main_mem_addr_d(il[183]) - , main_op_err(il[184]) - , main_opcode_val(il[185]) - , main_pc(il[186]) - , main_r_in_tag(il[187]) - , main_rwa(il[188]) - , main_rwb(il[189]) - , main_rwc(il[190]) - , main_rwd(il[191]) - , main_sel_alu(il[192]) - , main_sel_bin(il[193]) - , main_sel_calldata(il[194]) - , main_sel_execution_end(il[195]) - , main_sel_execution_row(il[196]) - , main_sel_mem_op_a(il[197]) - , main_sel_mem_op_b(il[198]) - , main_sel_mem_op_c(il[199]) - , main_sel_mem_op_d(il[200]) - , main_sel_mov_ia_to_ic(il[201]) - , main_sel_mov_ib_to_ic(il[202]) - , main_sel_op_add(il[203]) - , main_sel_op_address(il[204]) - , main_sel_op_and(il[205]) - , main_sel_op_block_number(il[206]) - , main_sel_op_calldata_copy(il[207]) - , main_sel_op_cast(il[208]) - , main_sel_op_chain_id(il[209]) - , main_sel_op_dagasleft(il[210]) - , main_sel_op_debug_log(il[211]) - , main_sel_op_div(il[212]) - , main_sel_op_ecadd(il[213]) - , main_sel_op_emit_l2_to_l1_msg(il[214]) - , main_sel_op_emit_note_hash(il[215]) - , main_sel_op_emit_nullifier(il[216]) - , main_sel_op_emit_unencrypted_log(il[217]) - , main_sel_op_eq(il[218]) - , main_sel_op_external_call(il[219]) - , main_sel_op_external_return(il[220]) - , main_sel_op_external_revert(il[221]) - , main_sel_op_fdiv(il[222]) - , main_sel_op_fee_per_da_gas(il[223]) - , main_sel_op_fee_per_l2_gas(il[224]) - , main_sel_op_get_contract_instance(il[225]) - , main_sel_op_internal_call(il[226]) - , main_sel_op_internal_return(il[227]) - , main_sel_op_is_static_call(il[228]) - , main_sel_op_jump(il[229]) - , main_sel_op_jumpi(il[230]) - , main_sel_op_keccak(il[231]) - , main_sel_op_l1_to_l2_msg_exists(il[232]) - , main_sel_op_l2gasleft(il[233]) - , main_sel_op_lt(il[234]) - , main_sel_op_lte(il[235]) - , main_sel_op_mov(il[236]) - , main_sel_op_msm(il[237]) - , main_sel_op_mul(il[238]) - , main_sel_op_not(il[239]) - , main_sel_op_note_hash_exists(il[240]) - , main_sel_op_nullifier_exists(il[241]) - , main_sel_op_or(il[242]) - , main_sel_op_poseidon2(il[243]) - , main_sel_op_radix_be(il[244]) - , main_sel_op_returndata_copy(il[245]) - , main_sel_op_returndata_size(il[246]) - , main_sel_op_sender(il[247]) - , main_sel_op_set(il[248]) - , main_sel_op_sha256(il[249]) - , main_sel_op_shl(il[250]) - , main_sel_op_shr(il[251]) - , main_sel_op_sload(il[252]) - , main_sel_op_sstore(il[253]) - , main_sel_op_static_call(il[254]) - , main_sel_op_sub(il[255]) - , main_sel_op_timestamp(il[256]) - , main_sel_op_transaction_fee(il[257]) - , main_sel_op_version(il[258]) - , main_sel_op_xor(il[259]) - , main_sel_q_kernel_lookup(il[260]) - , main_sel_q_kernel_output_lookup(il[261]) - , main_sel_resolve_ind_addr_a(il[262]) - , main_sel_resolve_ind_addr_b(il[263]) - , main_sel_resolve_ind_addr_c(il[264]) - , main_sel_resolve_ind_addr_d(il[265]) - , main_sel_returndata(il[266]) - , main_sel_rng_16(il[267]) - , main_sel_rng_8(il[268]) - , main_sel_slice_gadget(il[269]) - , main_space_id(il[270]) - , main_tag_err(il[271]) - , main_w_in_tag(il[272]) - , mem_addr(il[273]) - , mem_clk(il[274]) - , mem_diff(il[275]) - , mem_glob_addr(il[276]) - , mem_last(il[277]) - , mem_lastAccess(il[278]) - , mem_one_min_inv(il[279]) - , mem_r_in_tag(il[280]) - , mem_rw(il[281]) - , mem_sel_mem(il[282]) - , mem_sel_mov_ia_to_ic(il[283]) - , mem_sel_mov_ib_to_ic(il[284]) - , mem_sel_op_a(il[285]) - , mem_sel_op_b(il[286]) - , mem_sel_op_c(il[287]) - , mem_sel_op_d(il[288]) - , mem_sel_op_poseidon_read_a(il[289]) - , mem_sel_op_poseidon_read_b(il[290]) - , mem_sel_op_poseidon_read_c(il[291]) - , mem_sel_op_poseidon_read_d(il[292]) - , mem_sel_op_poseidon_write_a(il[293]) - , mem_sel_op_poseidon_write_b(il[294]) - , mem_sel_op_poseidon_write_c(il[295]) - , mem_sel_op_poseidon_write_d(il[296]) - , mem_sel_op_slice(il[297]) - , mem_sel_resolve_ind_addr_a(il[298]) - , mem_sel_resolve_ind_addr_b(il[299]) - , mem_sel_resolve_ind_addr_c(il[300]) - , mem_sel_resolve_ind_addr_d(il[301]) - , mem_sel_rng_chk(il[302]) - , mem_skip_check_tag(il[303]) - , mem_space_id(il[304]) - , mem_tag(il[305]) - , mem_tag_err(il[306]) - , mem_tsp(il[307]) - , mem_u16_r0(il[308]) - , mem_u16_r1(il[309]) - , mem_u8_r0(il[310]) - , mem_val(il[311]) - , mem_w_in_tag(il[312]) - , merkle_tree_clk(il[313]) - , merkle_tree_expected_tree_root(il[314]) - , merkle_tree_latch(il[315]) - , merkle_tree_leaf_index(il[316]) - , merkle_tree_leaf_index_is_even(il[317]) - , merkle_tree_leaf_value(il[318]) - , merkle_tree_left_hash(il[319]) - , merkle_tree_output_hash(il[320]) - , merkle_tree_path_len(il[321]) - , merkle_tree_path_len_inv(il[322]) - , merkle_tree_right_hash(il[323]) - , merkle_tree_sel_merkle_tree(il[324]) - , merkle_tree_sibling_value(il[325]) - , poseidon2_B_10_0(il[326]) - , poseidon2_B_10_1(il[327]) - , poseidon2_B_10_2(il[328]) - , poseidon2_B_10_3(il[329]) - , poseidon2_B_11_0(il[330]) - , poseidon2_B_11_1(il[331]) - , poseidon2_B_11_2(il[332]) - , poseidon2_B_11_3(il[333]) - , poseidon2_B_12_0(il[334]) - , poseidon2_B_12_1(il[335]) - , poseidon2_B_12_2(il[336]) - , poseidon2_B_12_3(il[337]) - , poseidon2_B_13_0(il[338]) - , poseidon2_B_13_1(il[339]) - , poseidon2_B_13_2(il[340]) - , poseidon2_B_13_3(il[341]) - , poseidon2_B_14_0(il[342]) - , poseidon2_B_14_1(il[343]) - , poseidon2_B_14_2(il[344]) - , poseidon2_B_14_3(il[345]) - , poseidon2_B_15_0(il[346]) - , poseidon2_B_15_1(il[347]) - , poseidon2_B_15_2(il[348]) - , poseidon2_B_15_3(il[349]) - , poseidon2_B_16_0(il[350]) - , poseidon2_B_16_1(il[351]) - , poseidon2_B_16_2(il[352]) - , poseidon2_B_16_3(il[353]) - , poseidon2_B_17_0(il[354]) - , poseidon2_B_17_1(il[355]) - , poseidon2_B_17_2(il[356]) - , poseidon2_B_17_3(il[357]) - , poseidon2_B_18_0(il[358]) - , poseidon2_B_18_1(il[359]) - , poseidon2_B_18_2(il[360]) - , poseidon2_B_18_3(il[361]) - , poseidon2_B_19_0(il[362]) - , poseidon2_B_19_1(il[363]) - , poseidon2_B_19_2(il[364]) - , poseidon2_B_19_3(il[365]) - , poseidon2_B_20_0(il[366]) - , poseidon2_B_20_1(il[367]) - , poseidon2_B_20_2(il[368]) - , poseidon2_B_20_3(il[369]) - , poseidon2_B_21_0(il[370]) - , poseidon2_B_21_1(il[371]) - , poseidon2_B_21_2(il[372]) - , poseidon2_B_21_3(il[373]) - , poseidon2_B_22_0(il[374]) - , poseidon2_B_22_1(il[375]) - , poseidon2_B_22_2(il[376]) - , poseidon2_B_22_3(il[377]) - , poseidon2_B_23_0(il[378]) - , poseidon2_B_23_1(il[379]) - , poseidon2_B_23_2(il[380]) - , poseidon2_B_23_3(il[381]) - , poseidon2_B_24_0(il[382]) - , poseidon2_B_24_1(il[383]) - , poseidon2_B_24_2(il[384]) - , poseidon2_B_24_3(il[385]) - , poseidon2_B_25_0(il[386]) - , poseidon2_B_25_1(il[387]) - , poseidon2_B_25_2(il[388]) - , poseidon2_B_25_3(il[389]) - , poseidon2_B_26_0(il[390]) - , poseidon2_B_26_1(il[391]) - , poseidon2_B_26_2(il[392]) - , poseidon2_B_26_3(il[393]) - , poseidon2_B_27_0(il[394]) - , poseidon2_B_27_1(il[395]) - , poseidon2_B_27_2(il[396]) - , poseidon2_B_27_3(il[397]) - , poseidon2_B_28_0(il[398]) - , poseidon2_B_28_1(il[399]) - , poseidon2_B_28_2(il[400]) - , poseidon2_B_28_3(il[401]) - , poseidon2_B_29_0(il[402]) - , poseidon2_B_29_1(il[403]) - , poseidon2_B_29_2(il[404]) - , poseidon2_B_29_3(il[405]) - , poseidon2_B_30_0(il[406]) - , poseidon2_B_30_1(il[407]) - , poseidon2_B_30_2(il[408]) - , poseidon2_B_30_3(il[409]) - , poseidon2_B_31_0(il[410]) - , poseidon2_B_31_1(il[411]) - , poseidon2_B_31_2(il[412]) - , poseidon2_B_31_3(il[413]) - , poseidon2_B_32_0(il[414]) - , poseidon2_B_32_1(il[415]) - , poseidon2_B_32_2(il[416]) - , poseidon2_B_32_3(il[417]) - , poseidon2_B_33_0(il[418]) - , poseidon2_B_33_1(il[419]) - , poseidon2_B_33_2(il[420]) - , poseidon2_B_33_3(il[421]) - , poseidon2_B_34_0(il[422]) - , poseidon2_B_34_1(il[423]) - , poseidon2_B_34_2(il[424]) - , poseidon2_B_34_3(il[425]) - , poseidon2_B_35_0(il[426]) - , poseidon2_B_35_1(il[427]) - , poseidon2_B_35_2(il[428]) - , poseidon2_B_35_3(il[429]) - , poseidon2_B_36_0(il[430]) - , poseidon2_B_36_1(il[431]) - , poseidon2_B_36_2(il[432]) - , poseidon2_B_36_3(il[433]) - , poseidon2_B_37_0(il[434]) - , poseidon2_B_37_1(il[435]) - , poseidon2_B_37_2(il[436]) - , poseidon2_B_37_3(il[437]) - , poseidon2_B_38_0(il[438]) - , poseidon2_B_38_1(il[439]) - , poseidon2_B_38_2(il[440]) - , poseidon2_B_38_3(il[441]) - , poseidon2_B_39_0(il[442]) - , poseidon2_B_39_1(il[443]) - , poseidon2_B_39_2(il[444]) - , poseidon2_B_39_3(il[445]) - , poseidon2_B_40_0(il[446]) - , poseidon2_B_40_1(il[447]) - , poseidon2_B_40_2(il[448]) - , poseidon2_B_40_3(il[449]) - , poseidon2_B_41_0(il[450]) - , poseidon2_B_41_1(il[451]) - , poseidon2_B_41_2(il[452]) - , poseidon2_B_41_3(il[453]) - , poseidon2_B_42_0(il[454]) - , poseidon2_B_42_1(il[455]) - , poseidon2_B_42_2(il[456]) - , poseidon2_B_42_3(il[457]) - , poseidon2_B_43_0(il[458]) - , poseidon2_B_43_1(il[459]) - , poseidon2_B_43_2(il[460]) - , poseidon2_B_43_3(il[461]) - , poseidon2_B_44_0(il[462]) - , poseidon2_B_44_1(il[463]) - , poseidon2_B_44_2(il[464]) - , poseidon2_B_44_3(il[465]) - , poseidon2_B_45_0(il[466]) - , poseidon2_B_45_1(il[467]) - , poseidon2_B_45_2(il[468]) - , poseidon2_B_45_3(il[469]) - , poseidon2_B_46_0(il[470]) - , poseidon2_B_46_1(il[471]) - , poseidon2_B_46_2(il[472]) - , poseidon2_B_46_3(il[473]) - , poseidon2_B_47_0(il[474]) - , poseidon2_B_47_1(il[475]) - , poseidon2_B_47_2(il[476]) - , poseidon2_B_47_3(il[477]) - , poseidon2_B_48_0(il[478]) - , poseidon2_B_48_1(il[479]) - , poseidon2_B_48_2(il[480]) - , poseidon2_B_48_3(il[481]) - , poseidon2_B_49_0(il[482]) - , poseidon2_B_49_1(il[483]) - , poseidon2_B_49_2(il[484]) - , poseidon2_B_49_3(il[485]) - , poseidon2_B_4_0(il[486]) - , poseidon2_B_4_1(il[487]) - , poseidon2_B_4_2(il[488]) - , poseidon2_B_4_3(il[489]) - , poseidon2_B_50_0(il[490]) - , poseidon2_B_50_1(il[491]) - , poseidon2_B_50_2(il[492]) - , poseidon2_B_50_3(il[493]) - , poseidon2_B_51_0(il[494]) - , poseidon2_B_51_1(il[495]) - , poseidon2_B_51_2(il[496]) - , poseidon2_B_51_3(il[497]) - , poseidon2_B_52_0(il[498]) - , poseidon2_B_52_1(il[499]) - , poseidon2_B_52_2(il[500]) - , poseidon2_B_52_3(il[501]) - , poseidon2_B_53_0(il[502]) - , poseidon2_B_53_1(il[503]) - , poseidon2_B_53_2(il[504]) - , poseidon2_B_53_3(il[505]) - , poseidon2_B_54_0(il[506]) - , poseidon2_B_54_1(il[507]) - , poseidon2_B_54_2(il[508]) - , poseidon2_B_54_3(il[509]) - , poseidon2_B_55_0(il[510]) - , poseidon2_B_55_1(il[511]) - , poseidon2_B_55_2(il[512]) - , poseidon2_B_55_3(il[513]) - , poseidon2_B_56_0(il[514]) - , poseidon2_B_56_1(il[515]) - , poseidon2_B_56_2(il[516]) - , poseidon2_B_56_3(il[517]) - , poseidon2_B_57_0(il[518]) - , poseidon2_B_57_1(il[519]) - , poseidon2_B_57_2(il[520]) - , poseidon2_B_57_3(il[521]) - , poseidon2_B_58_0(il[522]) - , poseidon2_B_58_1(il[523]) - , poseidon2_B_58_2(il[524]) - , poseidon2_B_58_3(il[525]) - , poseidon2_B_59_0(il[526]) - , poseidon2_B_59_1(il[527]) - , poseidon2_B_59_2(il[528]) - , poseidon2_B_59_3(il[529]) - , poseidon2_B_5_0(il[530]) - , poseidon2_B_5_1(il[531]) - , poseidon2_B_5_2(il[532]) - , poseidon2_B_5_3(il[533]) - , poseidon2_B_6_0(il[534]) - , poseidon2_B_6_1(il[535]) - , poseidon2_B_6_2(il[536]) - , poseidon2_B_6_3(il[537]) - , poseidon2_B_7_0(il[538]) - , poseidon2_B_7_1(il[539]) - , poseidon2_B_7_2(il[540]) - , poseidon2_B_7_3(il[541]) - , poseidon2_B_8_0(il[542]) - , poseidon2_B_8_1(il[543]) - , poseidon2_B_8_2(il[544]) - , poseidon2_B_8_3(il[545]) - , poseidon2_B_9_0(il[546]) - , poseidon2_B_9_1(il[547]) - , poseidon2_B_9_2(il[548]) - , poseidon2_B_9_3(il[549]) - , poseidon2_EXT_LAYER_4(il[550]) - , poseidon2_EXT_LAYER_5(il[551]) - , poseidon2_EXT_LAYER_6(il[552]) - , poseidon2_EXT_LAYER_7(il[553]) - , poseidon2_T_0_4(il[554]) - , poseidon2_T_0_5(il[555]) - , poseidon2_T_0_6(il[556]) - , poseidon2_T_0_7(il[557]) - , poseidon2_T_1_4(il[558]) - , poseidon2_T_1_5(il[559]) - , poseidon2_T_1_6(il[560]) - , poseidon2_T_1_7(il[561]) - , poseidon2_T_2_4(il[562]) - , poseidon2_T_2_5(il[563]) - , poseidon2_T_2_6(il[564]) - , poseidon2_T_2_7(il[565]) - , poseidon2_T_3_4(il[566]) - , poseidon2_T_3_5(il[567]) - , poseidon2_T_3_6(il[568]) - , poseidon2_T_3_7(il[569]) - , poseidon2_T_60_4(il[570]) - , poseidon2_T_60_5(il[571]) - , poseidon2_T_60_6(il[572]) - , poseidon2_T_60_7(il[573]) - , poseidon2_T_61_4(il[574]) - , poseidon2_T_61_5(il[575]) - , poseidon2_T_61_6(il[576]) - , poseidon2_T_61_7(il[577]) - , poseidon2_T_62_4(il[578]) - , poseidon2_T_62_5(il[579]) - , poseidon2_T_62_6(il[580]) - , poseidon2_T_62_7(il[581]) - , poseidon2_T_63_4(il[582]) - , poseidon2_T_63_5(il[583]) - , poseidon2_T_63_6(il[584]) - , poseidon2_T_63_7(il[585]) - , poseidon2_a_0(il[586]) - , poseidon2_a_1(il[587]) - , poseidon2_a_2(il[588]) - , poseidon2_a_3(il[589]) - , poseidon2_b_0(il[590]) - , poseidon2_b_1(il[591]) - , poseidon2_b_2(il[592]) - , poseidon2_b_3(il[593]) - , poseidon2_clk(il[594]) - , poseidon2_full_a_0(il[595]) - , poseidon2_full_a_1(il[596]) - , poseidon2_full_a_2(il[597]) - , poseidon2_full_a_3(il[598]) - , poseidon2_full_b_0(il[599]) - , poseidon2_full_b_1(il[600]) - , poseidon2_full_b_2(il[601]) - , poseidon2_full_b_3(il[602]) - , poseidon2_full_clk(il[603]) - , poseidon2_full_end_poseidon(il[604]) - , poseidon2_full_execute_poseidon_perm(il[605]) - , poseidon2_full_input_0(il[606]) - , poseidon2_full_input_1(il[607]) - , poseidon2_full_input_2(il[608]) - , poseidon2_full_input_len(il[609]) - , poseidon2_full_num_perm_rounds_rem(il[610]) - , poseidon2_full_num_perm_rounds_rem_inv(il[611]) - , poseidon2_full_output(il[612]) - , poseidon2_full_padding(il[613]) - , poseidon2_full_sel_merkle_tree(il[614]) - , poseidon2_full_sel_poseidon(il[615]) - , poseidon2_full_start_poseidon(il[616]) - , poseidon2_input_addr(il[617]) - , poseidon2_mem_addr_read_a(il[618]) - , poseidon2_mem_addr_read_b(il[619]) - , poseidon2_mem_addr_read_c(il[620]) - , poseidon2_mem_addr_read_d(il[621]) - , poseidon2_mem_addr_write_a(il[622]) - , poseidon2_mem_addr_write_b(il[623]) - , poseidon2_mem_addr_write_c(il[624]) - , poseidon2_mem_addr_write_d(il[625]) - , poseidon2_output_addr(il[626]) - , poseidon2_sel_poseidon_perm(il[627]) - , poseidon2_sel_poseidon_perm_immediate(il[628]) - , poseidon2_sel_poseidon_perm_mem_op(il[629]) - , poseidon2_space_id(il[630]) - , range_check_alu_rng_chk(il[631]) - , range_check_clk(il[632]) - , range_check_cmp_hi_bits_rng_chk(il[633]) - , range_check_cmp_lo_bits_rng_chk(il[634]) - , range_check_cmp_non_ff_rng_chk(il[635]) - , range_check_dyn_diff(il[636]) - , range_check_dyn_rng_chk_bits(il[637]) - , range_check_dyn_rng_chk_pow_2(il[638]) - , range_check_gas_da_rng_chk(il[639]) - , range_check_gas_l2_rng_chk(il[640]) - , range_check_is_lte_u112(il[641]) - , range_check_is_lte_u128(il[642]) - , range_check_is_lte_u16(il[643]) - , range_check_is_lte_u32(il[644]) - , range_check_is_lte_u48(il[645]) - , range_check_is_lte_u64(il[646]) - , range_check_is_lte_u80(il[647]) - , range_check_is_lte_u96(il[648]) - , range_check_rng_chk_bits(il[649]) - , range_check_sel_lookup_0(il[650]) - , range_check_sel_lookup_1(il[651]) - , range_check_sel_lookup_2(il[652]) - , range_check_sel_lookup_3(il[653]) - , range_check_sel_lookup_4(il[654]) - , range_check_sel_lookup_5(il[655]) - , range_check_sel_lookup_6(il[656]) - , range_check_sel_rng_chk(il[657]) - , range_check_u16_r0(il[658]) - , range_check_u16_r1(il[659]) - , range_check_u16_r2(il[660]) - , range_check_u16_r3(il[661]) - , range_check_u16_r4(il[662]) - , range_check_u16_r5(il[663]) - , range_check_u16_r6(il[664]) - , range_check_u16_r7(il[665]) - , range_check_value(il[666]) - , sha256_clk(il[667]) - , sha256_input(il[668]) - , sha256_output(il[669]) - , sha256_sel_sha256_compression(il[670]) - , sha256_state(il[671]) - , slice_addr(il[672]) - , slice_clk(il[673]) - , slice_cnt(il[674]) - , slice_col_offset(il[675]) - , slice_one_min_inv(il[676]) - , slice_sel_cd_cpy(il[677]) - , slice_sel_mem_active(il[678]) - , slice_sel_return(il[679]) - , slice_sel_start(il[680]) - , slice_space_id(il[681]) - , slice_val(il[682]) - , lookup_rng_chk_pow_2_counts(il[683]) - , lookup_rng_chk_diff_counts(il[684]) - , lookup_rng_chk_0_counts(il[685]) - , lookup_rng_chk_1_counts(il[686]) - , lookup_rng_chk_2_counts(il[687]) - , lookup_rng_chk_3_counts(il[688]) - , lookup_rng_chk_4_counts(il[689]) - , lookup_rng_chk_5_counts(il[690]) - , lookup_rng_chk_6_counts(il[691]) - , lookup_rng_chk_7_counts(il[692]) - , lookup_mem_rng_chk_0_counts(il[693]) - , lookup_mem_rng_chk_1_counts(il[694]) - , lookup_mem_rng_chk_2_counts(il[695]) - , lookup_pow_2_0_counts(il[696]) - , lookup_pow_2_1_counts(il[697]) - , lookup_byte_lengths_counts(il[698]) - , lookup_byte_operations_counts(il[699]) - , lookup_opcode_gas_counts(il[700]) - , lookup_l2_gas_rng_chk_0_counts(il[701]) - , lookup_l2_gas_rng_chk_1_counts(il[702]) - , lookup_da_gas_rng_chk_0_counts(il[703]) - , lookup_da_gas_rng_chk_1_counts(il[704]) - , lookup_cd_value_counts(il[705]) - , lookup_ret_value_counts(il[706]) - , incl_main_tag_err_counts(il[707]) - , incl_mem_tag_err_counts(il[708]) - , perm_rng_non_ff_cmp_inv(il[709]) - , perm_rng_cmp_lo_inv(il[710]) - , perm_rng_cmp_hi_inv(il[711]) - , perm_rng_alu_inv(il[712]) - , perm_cmp_alu_inv(il[713]) - , perm_pos_mem_read_a_inv(il[714]) - , perm_pos_mem_read_b_inv(il[715]) - , perm_pos_mem_read_c_inv(il[716]) - , perm_pos_mem_read_d_inv(il[717]) - , perm_pos_mem_write_a_inv(il[718]) - , perm_pos_mem_write_b_inv(il[719]) - , perm_pos_mem_write_c_inv(il[720]) - , perm_pos_mem_write_d_inv(il[721]) - , perm_pos2_fixed_pos2_perm_inv(il[722]) - , perm_slice_mem_inv(il[723]) - , perm_merkle_poseidon2_inv(il[724]) - , perm_main_alu_inv(il[725]) - , perm_main_bin_inv(il[726]) - , perm_main_conv_inv(il[727]) - , perm_main_sha256_inv(il[728]) - , perm_main_pos2_perm_inv(il[729]) - , perm_main_mem_a_inv(il[730]) - , perm_main_mem_b_inv(il[731]) - , perm_main_mem_c_inv(il[732]) - , perm_main_mem_d_inv(il[733]) - , perm_main_mem_ind_addr_a_inv(il[734]) - , perm_main_mem_ind_addr_b_inv(il[735]) - , perm_main_mem_ind_addr_c_inv(il[736]) - , perm_main_mem_ind_addr_d_inv(il[737]) - , lookup_rng_chk_pow_2_inv(il[738]) - , lookup_rng_chk_diff_inv(il[739]) - , lookup_rng_chk_0_inv(il[740]) - , lookup_rng_chk_1_inv(il[741]) - , lookup_rng_chk_2_inv(il[742]) - , lookup_rng_chk_3_inv(il[743]) - , lookup_rng_chk_4_inv(il[744]) - , lookup_rng_chk_5_inv(il[745]) - , lookup_rng_chk_6_inv(il[746]) - , lookup_rng_chk_7_inv(il[747]) - , lookup_mem_rng_chk_0_inv(il[748]) - , lookup_mem_rng_chk_1_inv(il[749]) - , lookup_mem_rng_chk_2_inv(il[750]) - , lookup_pow_2_0_inv(il[751]) - , lookup_pow_2_1_inv(il[752]) - , lookup_byte_lengths_inv(il[753]) - , lookup_byte_operations_inv(il[754]) - , lookup_opcode_gas_inv(il[755]) - , lookup_l2_gas_rng_chk_0_inv(il[756]) - , lookup_l2_gas_rng_chk_1_inv(il[757]) - , lookup_da_gas_rng_chk_0_inv(il[758]) - , lookup_da_gas_rng_chk_1_inv(il[759]) - , lookup_cd_value_inv(il[760]) - , lookup_ret_value_inv(il[761]) - , incl_main_tag_err_inv(il[762]) - , incl_mem_tag_err_inv(il[763]) - , binary_acc_ia_shift(il[764]) - , binary_acc_ib_shift(il[765]) - , binary_acc_ic_shift(il[766]) - , binary_mem_tag_ctr_shift(il[767]) - , binary_op_id_shift(il[768]) - , cmp_a_hi_shift(il[769]) - , cmp_a_lo_shift(il[770]) - , cmp_b_hi_shift(il[771]) - , cmp_b_lo_shift(il[772]) - , cmp_cmp_rng_ctr_shift(il[773]) - , cmp_op_gt_shift(il[774]) - , cmp_p_sub_a_hi_shift(il[775]) - , cmp_p_sub_a_lo_shift(il[776]) - , cmp_p_sub_b_hi_shift(il[777]) - , cmp_p_sub_b_lo_shift(il[778]) - , cmp_sel_rng_chk_shift(il[779]) - , main_da_gas_remaining_shift(il[780]) - , main_l2_gas_remaining_shift(il[781]) - , main_pc_shift(il[782]) - , main_sel_execution_end_shift(il[783]) - , main_sel_execution_row_shift(il[784]) - , mem_glob_addr_shift(il[785]) - , mem_rw_shift(il[786]) - , mem_sel_mem_shift(il[787]) - , mem_tag_shift(il[788]) - , mem_tsp_shift(il[789]) - , mem_val_shift(il[790]) - , merkle_tree_leaf_index_shift(il[791]) - , merkle_tree_leaf_value_shift(il[792]) - , merkle_tree_path_len_shift(il[793]) - , poseidon2_full_a_0_shift(il[794]) - , poseidon2_full_a_1_shift(il[795]) - , poseidon2_full_a_2_shift(il[796]) - , poseidon2_full_a_3_shift(il[797]) - , poseidon2_full_execute_poseidon_perm_shift(il[798]) - , poseidon2_full_input_0_shift(il[799]) - , poseidon2_full_input_1_shift(il[800]) - , poseidon2_full_input_2_shift(il[801]) - , poseidon2_full_num_perm_rounds_rem_shift(il[802]) - , poseidon2_full_sel_poseidon_shift(il[803]) - , poseidon2_full_start_poseidon_shift(il[804]) - , slice_addr_shift(il[805]) - , slice_clk_shift(il[806]) - , slice_cnt_shift(il[807]) - , slice_sel_cd_cpy_shift(il[808]) - , slice_sel_mem_active_shift(il[809]) - , slice_sel_return_shift(il[810]) - , slice_sel_start_shift(il[811]) - , slice_space_id_shift(il[812]) -{} - AvmFlavor::ProverPolynomials::ProverPolynomials(ProvingKey& proving_key) { for (auto [prover_poly, key_poly] : zip_view(this->get_unshifted(), proving_key.get_all())) { @@ -832,823 +15,6 @@ AvmFlavor::ProverPolynomials::ProverPolynomials(ProvingKey& proving_key) } } -AvmFlavor::AllConstRefValues AvmFlavor::ProverPolynomials::get_row(size_t row_idx) const -{ - return RefArray{ byte_lookup_sel_bin[row_idx], - byte_lookup_table_byte_lengths[row_idx], - byte_lookup_table_in_tags[row_idx], - byte_lookup_table_input_a[row_idx], - byte_lookup_table_input_b[row_idx], - byte_lookup_table_op_id[row_idx], - byte_lookup_table_output[row_idx], - gas_base_da_gas_fixed_table[row_idx], - gas_base_l2_gas_fixed_table[row_idx], - gas_dyn_da_gas_fixed_table[row_idx], - gas_dyn_l2_gas_fixed_table[row_idx], - gas_sel_gas_cost[row_idx], - main_clk[row_idx], - main_sel_da_end_gas_kernel_input[row_idx], - main_sel_da_start_gas_kernel_input[row_idx], - main_sel_first[row_idx], - main_sel_l2_end_gas_kernel_input[row_idx], - main_sel_l2_start_gas_kernel_input[row_idx], - main_sel_start_exec[row_idx], - main_zeroes[row_idx], - powers_power_of_2[row_idx], - main_kernel_inputs[row_idx], - main_kernel_value_out[row_idx], - main_kernel_side_effect_out[row_idx], - main_kernel_metadata_out[row_idx], - main_calldata[row_idx], - main_returndata[row_idx], - alu_a_hi[row_idx], - alu_a_lo[row_idx], - alu_b_hi[row_idx], - alu_b_lo[row_idx], - alu_b_pow[row_idx], - alu_c_hi[row_idx], - alu_c_lo[row_idx], - alu_cf[row_idx], - alu_clk[row_idx], - alu_cmp_gadget_gt[row_idx], - alu_cmp_gadget_input_a[row_idx], - alu_cmp_gadget_input_b[row_idx], - alu_cmp_gadget_non_ff_gt[row_idx], - alu_cmp_gadget_result[row_idx], - alu_cmp_gadget_sel[row_idx], - alu_ff_tag[row_idx], - alu_ia[row_idx], - alu_ib[row_idx], - alu_ic[row_idx], - alu_in_tag[row_idx], - alu_max_bits_sub_b_bits[row_idx], - alu_max_bits_sub_b_pow[row_idx], - alu_op_add[row_idx], - alu_op_cast[row_idx], - alu_op_div[row_idx], - alu_op_eq[row_idx], - alu_op_lt[row_idx], - alu_op_lte[row_idx], - alu_op_mul[row_idx], - alu_op_not[row_idx], - alu_op_shl[row_idx], - alu_op_shr[row_idx], - alu_op_sub[row_idx], - alu_partial_prod_hi[row_idx], - alu_partial_prod_lo[row_idx], - alu_range_check_input_value[row_idx], - alu_range_check_num_bits[row_idx], - alu_range_check_sel[row_idx], - alu_remainder[row_idx], - alu_sel_alu[row_idx], - alu_sel_cmp[row_idx], - alu_sel_shift_which[row_idx], - alu_u128_tag[row_idx], - alu_u16_tag[row_idx], - alu_u1_tag[row_idx], - alu_u32_tag[row_idx], - alu_u64_tag[row_idx], - alu_u8_tag[row_idx], - alu_zero_shift[row_idx], - binary_acc_ia[row_idx], - binary_acc_ib[row_idx], - binary_acc_ic[row_idx], - binary_clk[row_idx], - binary_ia_bytes[row_idx], - binary_ib_bytes[row_idx], - binary_ic_bytes[row_idx], - binary_in_tag[row_idx], - binary_mem_tag_ctr[row_idx], - binary_mem_tag_ctr_inv[row_idx], - binary_op_id[row_idx], - binary_sel_bin[row_idx], - binary_start[row_idx], - bytecode_arifact_hash[row_idx], - bytecode_as_fields[row_idx], - bytecode_bytes[row_idx], - bytecode_bytes_pc[row_idx], - bytecode_class_id[row_idx], - bytecode_contract_address[row_idx], - bytecode_decomposed[row_idx], - bytecode_deployer_addr[row_idx], - bytecode_end_latch[row_idx], - bytecode_incoming_viewing_key_x[row_idx], - bytecode_incoming_viewing_key_y[row_idx], - bytecode_initialization_hash[row_idx], - bytecode_length_remaining[row_idx], - bytecode_nullifier_key_x[row_idx], - bytecode_nullifier_key_y[row_idx], - bytecode_outgoing_viewing_key_x[row_idx], - bytecode_outgoing_viewing_key_y[row_idx], - bytecode_private_fn_root[row_idx], - bytecode_public_key_hash[row_idx], - bytecode_running_hash[row_idx], - bytecode_salt[row_idx], - bytecode_tagging_key_x[row_idx], - bytecode_tagging_key_y[row_idx], - cmp_a_hi[row_idx], - cmp_a_lo[row_idx], - cmp_b_hi[row_idx], - cmp_b_lo[row_idx], - cmp_borrow[row_idx], - cmp_clk[row_idx], - cmp_cmp_rng_ctr[row_idx], - cmp_diff[row_idx], - cmp_input_a[row_idx], - cmp_input_b[row_idx], - cmp_op_eq[row_idx], - cmp_op_eq_diff_inv[row_idx], - cmp_op_gt[row_idx], - cmp_op_non_ff_gt[row_idx], - cmp_p_a_borrow[row_idx], - cmp_p_b_borrow[row_idx], - cmp_p_sub_a_hi[row_idx], - cmp_p_sub_a_lo[row_idx], - cmp_p_sub_b_hi[row_idx], - cmp_p_sub_b_lo[row_idx], - cmp_range_chk_clk[row_idx], - cmp_res_hi[row_idx], - cmp_res_lo[row_idx], - cmp_result[row_idx], - cmp_sel_cmp[row_idx], - cmp_sel_rng_chk[row_idx], - cmp_shift_sel[row_idx], - conversion_clk[row_idx], - conversion_input[row_idx], - conversion_num_limbs[row_idx], - conversion_output_bits[row_idx], - conversion_radix[row_idx], - conversion_sel_to_radix_be[row_idx], - keccakf1600_clk[row_idx], - keccakf1600_input[row_idx], - keccakf1600_output[row_idx], - keccakf1600_sel_keccakf1600[row_idx], - main_abs_da_rem_gas[row_idx], - main_abs_l2_rem_gas[row_idx], - main_alu_in_tag[row_idx], - main_base_da_gas_op_cost[row_idx], - main_base_l2_gas_op_cost[row_idx], - main_bin_op_id[row_idx], - main_call_ptr[row_idx], - main_da_gas_remaining[row_idx], - main_da_gas_u16_r0[row_idx], - main_da_gas_u16_r1[row_idx], - main_da_out_of_gas[row_idx], - main_dyn_da_gas_op_cost[row_idx], - main_dyn_gas_multiplier[row_idx], - main_dyn_l2_gas_op_cost[row_idx], - main_ia[row_idx], - main_ib[row_idx], - main_ic[row_idx], - main_id[row_idx], - main_id_zero[row_idx], - main_ind_addr_a[row_idx], - main_ind_addr_b[row_idx], - main_ind_addr_c[row_idx], - main_ind_addr_d[row_idx], - main_internal_return_ptr[row_idx], - main_inv[row_idx], - main_is_fake_row[row_idx], - main_is_gas_accounted[row_idx], - main_l2_gas_remaining[row_idx], - main_l2_gas_u16_r0[row_idx], - main_l2_gas_u16_r1[row_idx], - main_l2_out_of_gas[row_idx], - main_mem_addr_a[row_idx], - main_mem_addr_b[row_idx], - main_mem_addr_c[row_idx], - main_mem_addr_d[row_idx], - main_op_err[row_idx], - main_opcode_val[row_idx], - main_pc[row_idx], - main_r_in_tag[row_idx], - main_rwa[row_idx], - main_rwb[row_idx], - main_rwc[row_idx], - main_rwd[row_idx], - main_sel_alu[row_idx], - main_sel_bin[row_idx], - main_sel_calldata[row_idx], - main_sel_execution_end[row_idx], - main_sel_execution_row[row_idx], - main_sel_mem_op_a[row_idx], - main_sel_mem_op_b[row_idx], - main_sel_mem_op_c[row_idx], - main_sel_mem_op_d[row_idx], - main_sel_mov_ia_to_ic[row_idx], - main_sel_mov_ib_to_ic[row_idx], - main_sel_op_add[row_idx], - main_sel_op_address[row_idx], - main_sel_op_and[row_idx], - main_sel_op_block_number[row_idx], - main_sel_op_calldata_copy[row_idx], - main_sel_op_cast[row_idx], - main_sel_op_chain_id[row_idx], - main_sel_op_dagasleft[row_idx], - main_sel_op_debug_log[row_idx], - main_sel_op_div[row_idx], - main_sel_op_ecadd[row_idx], - main_sel_op_emit_l2_to_l1_msg[row_idx], - main_sel_op_emit_note_hash[row_idx], - main_sel_op_emit_nullifier[row_idx], - main_sel_op_emit_unencrypted_log[row_idx], - main_sel_op_eq[row_idx], - main_sel_op_external_call[row_idx], - main_sel_op_external_return[row_idx], - main_sel_op_external_revert[row_idx], - main_sel_op_fdiv[row_idx], - main_sel_op_fee_per_da_gas[row_idx], - main_sel_op_fee_per_l2_gas[row_idx], - main_sel_op_get_contract_instance[row_idx], - main_sel_op_internal_call[row_idx], - main_sel_op_internal_return[row_idx], - main_sel_op_is_static_call[row_idx], - main_sel_op_jump[row_idx], - main_sel_op_jumpi[row_idx], - main_sel_op_keccak[row_idx], - main_sel_op_l1_to_l2_msg_exists[row_idx], - main_sel_op_l2gasleft[row_idx], - main_sel_op_lt[row_idx], - main_sel_op_lte[row_idx], - main_sel_op_mov[row_idx], - main_sel_op_msm[row_idx], - main_sel_op_mul[row_idx], - main_sel_op_not[row_idx], - main_sel_op_note_hash_exists[row_idx], - main_sel_op_nullifier_exists[row_idx], - main_sel_op_or[row_idx], - main_sel_op_poseidon2[row_idx], - main_sel_op_radix_be[row_idx], - main_sel_op_returndata_copy[row_idx], - main_sel_op_returndata_size[row_idx], - main_sel_op_sender[row_idx], - main_sel_op_set[row_idx], - main_sel_op_sha256[row_idx], - main_sel_op_shl[row_idx], - main_sel_op_shr[row_idx], - main_sel_op_sload[row_idx], - main_sel_op_sstore[row_idx], - main_sel_op_static_call[row_idx], - main_sel_op_sub[row_idx], - main_sel_op_timestamp[row_idx], - main_sel_op_transaction_fee[row_idx], - main_sel_op_version[row_idx], - main_sel_op_xor[row_idx], - main_sel_q_kernel_lookup[row_idx], - main_sel_q_kernel_output_lookup[row_idx], - main_sel_resolve_ind_addr_a[row_idx], - main_sel_resolve_ind_addr_b[row_idx], - main_sel_resolve_ind_addr_c[row_idx], - main_sel_resolve_ind_addr_d[row_idx], - main_sel_returndata[row_idx], - main_sel_rng_16[row_idx], - main_sel_rng_8[row_idx], - main_sel_slice_gadget[row_idx], - main_space_id[row_idx], - main_tag_err[row_idx], - main_w_in_tag[row_idx], - mem_addr[row_idx], - mem_clk[row_idx], - mem_diff[row_idx], - mem_glob_addr[row_idx], - mem_last[row_idx], - mem_lastAccess[row_idx], - mem_one_min_inv[row_idx], - mem_r_in_tag[row_idx], - mem_rw[row_idx], - mem_sel_mem[row_idx], - mem_sel_mov_ia_to_ic[row_idx], - mem_sel_mov_ib_to_ic[row_idx], - mem_sel_op_a[row_idx], - mem_sel_op_b[row_idx], - mem_sel_op_c[row_idx], - mem_sel_op_d[row_idx], - mem_sel_op_poseidon_read_a[row_idx], - mem_sel_op_poseidon_read_b[row_idx], - mem_sel_op_poseidon_read_c[row_idx], - mem_sel_op_poseidon_read_d[row_idx], - mem_sel_op_poseidon_write_a[row_idx], - mem_sel_op_poseidon_write_b[row_idx], - mem_sel_op_poseidon_write_c[row_idx], - mem_sel_op_poseidon_write_d[row_idx], - mem_sel_op_slice[row_idx], - mem_sel_resolve_ind_addr_a[row_idx], - mem_sel_resolve_ind_addr_b[row_idx], - mem_sel_resolve_ind_addr_c[row_idx], - mem_sel_resolve_ind_addr_d[row_idx], - mem_sel_rng_chk[row_idx], - mem_skip_check_tag[row_idx], - mem_space_id[row_idx], - mem_tag[row_idx], - mem_tag_err[row_idx], - mem_tsp[row_idx], - mem_u16_r0[row_idx], - mem_u16_r1[row_idx], - mem_u8_r0[row_idx], - mem_val[row_idx], - mem_w_in_tag[row_idx], - merkle_tree_clk[row_idx], - merkle_tree_expected_tree_root[row_idx], - merkle_tree_latch[row_idx], - merkle_tree_leaf_index[row_idx], - merkle_tree_leaf_index_is_even[row_idx], - merkle_tree_leaf_value[row_idx], - merkle_tree_left_hash[row_idx], - merkle_tree_output_hash[row_idx], - merkle_tree_path_len[row_idx], - merkle_tree_path_len_inv[row_idx], - merkle_tree_right_hash[row_idx], - merkle_tree_sel_merkle_tree[row_idx], - merkle_tree_sibling_value[row_idx], - poseidon2_B_10_0[row_idx], - poseidon2_B_10_1[row_idx], - poseidon2_B_10_2[row_idx], - poseidon2_B_10_3[row_idx], - poseidon2_B_11_0[row_idx], - poseidon2_B_11_1[row_idx], - poseidon2_B_11_2[row_idx], - poseidon2_B_11_3[row_idx], - poseidon2_B_12_0[row_idx], - poseidon2_B_12_1[row_idx], - poseidon2_B_12_2[row_idx], - poseidon2_B_12_3[row_idx], - poseidon2_B_13_0[row_idx], - poseidon2_B_13_1[row_idx], - poseidon2_B_13_2[row_idx], - poseidon2_B_13_3[row_idx], - poseidon2_B_14_0[row_idx], - poseidon2_B_14_1[row_idx], - poseidon2_B_14_2[row_idx], - poseidon2_B_14_3[row_idx], - poseidon2_B_15_0[row_idx], - poseidon2_B_15_1[row_idx], - poseidon2_B_15_2[row_idx], - poseidon2_B_15_3[row_idx], - poseidon2_B_16_0[row_idx], - poseidon2_B_16_1[row_idx], - poseidon2_B_16_2[row_idx], - poseidon2_B_16_3[row_idx], - poseidon2_B_17_0[row_idx], - poseidon2_B_17_1[row_idx], - poseidon2_B_17_2[row_idx], - poseidon2_B_17_3[row_idx], - poseidon2_B_18_0[row_idx], - poseidon2_B_18_1[row_idx], - poseidon2_B_18_2[row_idx], - poseidon2_B_18_3[row_idx], - poseidon2_B_19_0[row_idx], - poseidon2_B_19_1[row_idx], - poseidon2_B_19_2[row_idx], - poseidon2_B_19_3[row_idx], - poseidon2_B_20_0[row_idx], - poseidon2_B_20_1[row_idx], - poseidon2_B_20_2[row_idx], - poseidon2_B_20_3[row_idx], - poseidon2_B_21_0[row_idx], - poseidon2_B_21_1[row_idx], - poseidon2_B_21_2[row_idx], - poseidon2_B_21_3[row_idx], - poseidon2_B_22_0[row_idx], - poseidon2_B_22_1[row_idx], - poseidon2_B_22_2[row_idx], - poseidon2_B_22_3[row_idx], - poseidon2_B_23_0[row_idx], - poseidon2_B_23_1[row_idx], - poseidon2_B_23_2[row_idx], - poseidon2_B_23_3[row_idx], - poseidon2_B_24_0[row_idx], - poseidon2_B_24_1[row_idx], - poseidon2_B_24_2[row_idx], - poseidon2_B_24_3[row_idx], - poseidon2_B_25_0[row_idx], - poseidon2_B_25_1[row_idx], - poseidon2_B_25_2[row_idx], - poseidon2_B_25_3[row_idx], - poseidon2_B_26_0[row_idx], - poseidon2_B_26_1[row_idx], - poseidon2_B_26_2[row_idx], - poseidon2_B_26_3[row_idx], - poseidon2_B_27_0[row_idx], - poseidon2_B_27_1[row_idx], - poseidon2_B_27_2[row_idx], - poseidon2_B_27_3[row_idx], - poseidon2_B_28_0[row_idx], - poseidon2_B_28_1[row_idx], - poseidon2_B_28_2[row_idx], - poseidon2_B_28_3[row_idx], - poseidon2_B_29_0[row_idx], - poseidon2_B_29_1[row_idx], - poseidon2_B_29_2[row_idx], - poseidon2_B_29_3[row_idx], - poseidon2_B_30_0[row_idx], - poseidon2_B_30_1[row_idx], - poseidon2_B_30_2[row_idx], - poseidon2_B_30_3[row_idx], - poseidon2_B_31_0[row_idx], - poseidon2_B_31_1[row_idx], - poseidon2_B_31_2[row_idx], - poseidon2_B_31_3[row_idx], - poseidon2_B_32_0[row_idx], - poseidon2_B_32_1[row_idx], - poseidon2_B_32_2[row_idx], - poseidon2_B_32_3[row_idx], - poseidon2_B_33_0[row_idx], - poseidon2_B_33_1[row_idx], - poseidon2_B_33_2[row_idx], - poseidon2_B_33_3[row_idx], - poseidon2_B_34_0[row_idx], - poseidon2_B_34_1[row_idx], - poseidon2_B_34_2[row_idx], - poseidon2_B_34_3[row_idx], - poseidon2_B_35_0[row_idx], - poseidon2_B_35_1[row_idx], - poseidon2_B_35_2[row_idx], - poseidon2_B_35_3[row_idx], - poseidon2_B_36_0[row_idx], - poseidon2_B_36_1[row_idx], - poseidon2_B_36_2[row_idx], - poseidon2_B_36_3[row_idx], - poseidon2_B_37_0[row_idx], - poseidon2_B_37_1[row_idx], - poseidon2_B_37_2[row_idx], - poseidon2_B_37_3[row_idx], - poseidon2_B_38_0[row_idx], - poseidon2_B_38_1[row_idx], - poseidon2_B_38_2[row_idx], - poseidon2_B_38_3[row_idx], - poseidon2_B_39_0[row_idx], - poseidon2_B_39_1[row_idx], - poseidon2_B_39_2[row_idx], - poseidon2_B_39_3[row_idx], - poseidon2_B_40_0[row_idx], - poseidon2_B_40_1[row_idx], - poseidon2_B_40_2[row_idx], - poseidon2_B_40_3[row_idx], - poseidon2_B_41_0[row_idx], - poseidon2_B_41_1[row_idx], - poseidon2_B_41_2[row_idx], - poseidon2_B_41_3[row_idx], - poseidon2_B_42_0[row_idx], - poseidon2_B_42_1[row_idx], - poseidon2_B_42_2[row_idx], - poseidon2_B_42_3[row_idx], - poseidon2_B_43_0[row_idx], - poseidon2_B_43_1[row_idx], - poseidon2_B_43_2[row_idx], - poseidon2_B_43_3[row_idx], - poseidon2_B_44_0[row_idx], - poseidon2_B_44_1[row_idx], - poseidon2_B_44_2[row_idx], - poseidon2_B_44_3[row_idx], - poseidon2_B_45_0[row_idx], - poseidon2_B_45_1[row_idx], - poseidon2_B_45_2[row_idx], - poseidon2_B_45_3[row_idx], - poseidon2_B_46_0[row_idx], - poseidon2_B_46_1[row_idx], - poseidon2_B_46_2[row_idx], - poseidon2_B_46_3[row_idx], - poseidon2_B_47_0[row_idx], - poseidon2_B_47_1[row_idx], - poseidon2_B_47_2[row_idx], - poseidon2_B_47_3[row_idx], - poseidon2_B_48_0[row_idx], - poseidon2_B_48_1[row_idx], - poseidon2_B_48_2[row_idx], - poseidon2_B_48_3[row_idx], - poseidon2_B_49_0[row_idx], - poseidon2_B_49_1[row_idx], - poseidon2_B_49_2[row_idx], - poseidon2_B_49_3[row_idx], - poseidon2_B_4_0[row_idx], - poseidon2_B_4_1[row_idx], - poseidon2_B_4_2[row_idx], - poseidon2_B_4_3[row_idx], - poseidon2_B_50_0[row_idx], - poseidon2_B_50_1[row_idx], - poseidon2_B_50_2[row_idx], - poseidon2_B_50_3[row_idx], - poseidon2_B_51_0[row_idx], - poseidon2_B_51_1[row_idx], - poseidon2_B_51_2[row_idx], - poseidon2_B_51_3[row_idx], - poseidon2_B_52_0[row_idx], - poseidon2_B_52_1[row_idx], - poseidon2_B_52_2[row_idx], - poseidon2_B_52_3[row_idx], - poseidon2_B_53_0[row_idx], - poseidon2_B_53_1[row_idx], - poseidon2_B_53_2[row_idx], - poseidon2_B_53_3[row_idx], - poseidon2_B_54_0[row_idx], - poseidon2_B_54_1[row_idx], - poseidon2_B_54_2[row_idx], - poseidon2_B_54_3[row_idx], - poseidon2_B_55_0[row_idx], - poseidon2_B_55_1[row_idx], - poseidon2_B_55_2[row_idx], - poseidon2_B_55_3[row_idx], - poseidon2_B_56_0[row_idx], - poseidon2_B_56_1[row_idx], - poseidon2_B_56_2[row_idx], - poseidon2_B_56_3[row_idx], - poseidon2_B_57_0[row_idx], - poseidon2_B_57_1[row_idx], - poseidon2_B_57_2[row_idx], - poseidon2_B_57_3[row_idx], - poseidon2_B_58_0[row_idx], - poseidon2_B_58_1[row_idx], - poseidon2_B_58_2[row_idx], - poseidon2_B_58_3[row_idx], - poseidon2_B_59_0[row_idx], - poseidon2_B_59_1[row_idx], - poseidon2_B_59_2[row_idx], - poseidon2_B_59_3[row_idx], - poseidon2_B_5_0[row_idx], - poseidon2_B_5_1[row_idx], - poseidon2_B_5_2[row_idx], - poseidon2_B_5_3[row_idx], - poseidon2_B_6_0[row_idx], - poseidon2_B_6_1[row_idx], - poseidon2_B_6_2[row_idx], - poseidon2_B_6_3[row_idx], - poseidon2_B_7_0[row_idx], - poseidon2_B_7_1[row_idx], - poseidon2_B_7_2[row_idx], - poseidon2_B_7_3[row_idx], - poseidon2_B_8_0[row_idx], - poseidon2_B_8_1[row_idx], - poseidon2_B_8_2[row_idx], - poseidon2_B_8_3[row_idx], - poseidon2_B_9_0[row_idx], - poseidon2_B_9_1[row_idx], - poseidon2_B_9_2[row_idx], - poseidon2_B_9_3[row_idx], - poseidon2_EXT_LAYER_4[row_idx], - poseidon2_EXT_LAYER_5[row_idx], - poseidon2_EXT_LAYER_6[row_idx], - poseidon2_EXT_LAYER_7[row_idx], - poseidon2_T_0_4[row_idx], - poseidon2_T_0_5[row_idx], - poseidon2_T_0_6[row_idx], - poseidon2_T_0_7[row_idx], - poseidon2_T_1_4[row_idx], - poseidon2_T_1_5[row_idx], - poseidon2_T_1_6[row_idx], - poseidon2_T_1_7[row_idx], - poseidon2_T_2_4[row_idx], - poseidon2_T_2_5[row_idx], - poseidon2_T_2_6[row_idx], - poseidon2_T_2_7[row_idx], - poseidon2_T_3_4[row_idx], - poseidon2_T_3_5[row_idx], - poseidon2_T_3_6[row_idx], - poseidon2_T_3_7[row_idx], - poseidon2_T_60_4[row_idx], - poseidon2_T_60_5[row_idx], - poseidon2_T_60_6[row_idx], - poseidon2_T_60_7[row_idx], - poseidon2_T_61_4[row_idx], - poseidon2_T_61_5[row_idx], - poseidon2_T_61_6[row_idx], - poseidon2_T_61_7[row_idx], - poseidon2_T_62_4[row_idx], - poseidon2_T_62_5[row_idx], - poseidon2_T_62_6[row_idx], - poseidon2_T_62_7[row_idx], - poseidon2_T_63_4[row_idx], - poseidon2_T_63_5[row_idx], - poseidon2_T_63_6[row_idx], - poseidon2_T_63_7[row_idx], - poseidon2_a_0[row_idx], - poseidon2_a_1[row_idx], - poseidon2_a_2[row_idx], - poseidon2_a_3[row_idx], - poseidon2_b_0[row_idx], - poseidon2_b_1[row_idx], - poseidon2_b_2[row_idx], - poseidon2_b_3[row_idx], - poseidon2_clk[row_idx], - poseidon2_full_a_0[row_idx], - poseidon2_full_a_1[row_idx], - poseidon2_full_a_2[row_idx], - poseidon2_full_a_3[row_idx], - poseidon2_full_b_0[row_idx], - poseidon2_full_b_1[row_idx], - poseidon2_full_b_2[row_idx], - poseidon2_full_b_3[row_idx], - poseidon2_full_clk[row_idx], - poseidon2_full_end_poseidon[row_idx], - poseidon2_full_execute_poseidon_perm[row_idx], - poseidon2_full_input_0[row_idx], - poseidon2_full_input_1[row_idx], - poseidon2_full_input_2[row_idx], - poseidon2_full_input_len[row_idx], - poseidon2_full_num_perm_rounds_rem[row_idx], - poseidon2_full_num_perm_rounds_rem_inv[row_idx], - poseidon2_full_output[row_idx], - poseidon2_full_padding[row_idx], - poseidon2_full_sel_merkle_tree[row_idx], - poseidon2_full_sel_poseidon[row_idx], - poseidon2_full_start_poseidon[row_idx], - poseidon2_input_addr[row_idx], - poseidon2_mem_addr_read_a[row_idx], - poseidon2_mem_addr_read_b[row_idx], - poseidon2_mem_addr_read_c[row_idx], - poseidon2_mem_addr_read_d[row_idx], - poseidon2_mem_addr_write_a[row_idx], - poseidon2_mem_addr_write_b[row_idx], - poseidon2_mem_addr_write_c[row_idx], - poseidon2_mem_addr_write_d[row_idx], - poseidon2_output_addr[row_idx], - poseidon2_sel_poseidon_perm[row_idx], - poseidon2_sel_poseidon_perm_immediate[row_idx], - poseidon2_sel_poseidon_perm_mem_op[row_idx], - poseidon2_space_id[row_idx], - range_check_alu_rng_chk[row_idx], - range_check_clk[row_idx], - range_check_cmp_hi_bits_rng_chk[row_idx], - range_check_cmp_lo_bits_rng_chk[row_idx], - range_check_cmp_non_ff_rng_chk[row_idx], - range_check_dyn_diff[row_idx], - range_check_dyn_rng_chk_bits[row_idx], - range_check_dyn_rng_chk_pow_2[row_idx], - range_check_gas_da_rng_chk[row_idx], - range_check_gas_l2_rng_chk[row_idx], - range_check_is_lte_u112[row_idx], - range_check_is_lte_u128[row_idx], - range_check_is_lte_u16[row_idx], - range_check_is_lte_u32[row_idx], - range_check_is_lte_u48[row_idx], - range_check_is_lte_u64[row_idx], - range_check_is_lte_u80[row_idx], - range_check_is_lte_u96[row_idx], - range_check_rng_chk_bits[row_idx], - range_check_sel_lookup_0[row_idx], - range_check_sel_lookup_1[row_idx], - range_check_sel_lookup_2[row_idx], - range_check_sel_lookup_3[row_idx], - range_check_sel_lookup_4[row_idx], - range_check_sel_lookup_5[row_idx], - range_check_sel_lookup_6[row_idx], - range_check_sel_rng_chk[row_idx], - range_check_u16_r0[row_idx], - range_check_u16_r1[row_idx], - range_check_u16_r2[row_idx], - range_check_u16_r3[row_idx], - range_check_u16_r4[row_idx], - range_check_u16_r5[row_idx], - range_check_u16_r6[row_idx], - range_check_u16_r7[row_idx], - range_check_value[row_idx], - sha256_clk[row_idx], - sha256_input[row_idx], - sha256_output[row_idx], - sha256_sel_sha256_compression[row_idx], - sha256_state[row_idx], - slice_addr[row_idx], - slice_clk[row_idx], - slice_cnt[row_idx], - slice_col_offset[row_idx], - slice_one_min_inv[row_idx], - slice_sel_cd_cpy[row_idx], - slice_sel_mem_active[row_idx], - slice_sel_return[row_idx], - slice_sel_start[row_idx], - slice_space_id[row_idx], - slice_val[row_idx], - lookup_rng_chk_pow_2_counts[row_idx], - lookup_rng_chk_diff_counts[row_idx], - lookup_rng_chk_0_counts[row_idx], - lookup_rng_chk_1_counts[row_idx], - lookup_rng_chk_2_counts[row_idx], - lookup_rng_chk_3_counts[row_idx], - lookup_rng_chk_4_counts[row_idx], - lookup_rng_chk_5_counts[row_idx], - lookup_rng_chk_6_counts[row_idx], - lookup_rng_chk_7_counts[row_idx], - lookup_mem_rng_chk_0_counts[row_idx], - lookup_mem_rng_chk_1_counts[row_idx], - lookup_mem_rng_chk_2_counts[row_idx], - lookup_pow_2_0_counts[row_idx], - lookup_pow_2_1_counts[row_idx], - lookup_byte_lengths_counts[row_idx], - lookup_byte_operations_counts[row_idx], - lookup_opcode_gas_counts[row_idx], - lookup_l2_gas_rng_chk_0_counts[row_idx], - lookup_l2_gas_rng_chk_1_counts[row_idx], - lookup_da_gas_rng_chk_0_counts[row_idx], - lookup_da_gas_rng_chk_1_counts[row_idx], - lookup_cd_value_counts[row_idx], - lookup_ret_value_counts[row_idx], - incl_main_tag_err_counts[row_idx], - incl_mem_tag_err_counts[row_idx], - perm_rng_non_ff_cmp_inv[row_idx], - perm_rng_cmp_lo_inv[row_idx], - perm_rng_cmp_hi_inv[row_idx], - perm_rng_alu_inv[row_idx], - perm_cmp_alu_inv[row_idx], - perm_pos_mem_read_a_inv[row_idx], - perm_pos_mem_read_b_inv[row_idx], - perm_pos_mem_read_c_inv[row_idx], - perm_pos_mem_read_d_inv[row_idx], - perm_pos_mem_write_a_inv[row_idx], - perm_pos_mem_write_b_inv[row_idx], - perm_pos_mem_write_c_inv[row_idx], - perm_pos_mem_write_d_inv[row_idx], - perm_pos2_fixed_pos2_perm_inv[row_idx], - perm_slice_mem_inv[row_idx], - perm_merkle_poseidon2_inv[row_idx], - perm_main_alu_inv[row_idx], - perm_main_bin_inv[row_idx], - perm_main_conv_inv[row_idx], - perm_main_sha256_inv[row_idx], - perm_main_pos2_perm_inv[row_idx], - perm_main_mem_a_inv[row_idx], - perm_main_mem_b_inv[row_idx], - perm_main_mem_c_inv[row_idx], - perm_main_mem_d_inv[row_idx], - perm_main_mem_ind_addr_a_inv[row_idx], - perm_main_mem_ind_addr_b_inv[row_idx], - perm_main_mem_ind_addr_c_inv[row_idx], - perm_main_mem_ind_addr_d_inv[row_idx], - lookup_rng_chk_pow_2_inv[row_idx], - lookup_rng_chk_diff_inv[row_idx], - lookup_rng_chk_0_inv[row_idx], - lookup_rng_chk_1_inv[row_idx], - lookup_rng_chk_2_inv[row_idx], - lookup_rng_chk_3_inv[row_idx], - lookup_rng_chk_4_inv[row_idx], - lookup_rng_chk_5_inv[row_idx], - lookup_rng_chk_6_inv[row_idx], - lookup_rng_chk_7_inv[row_idx], - lookup_mem_rng_chk_0_inv[row_idx], - lookup_mem_rng_chk_1_inv[row_idx], - lookup_mem_rng_chk_2_inv[row_idx], - lookup_pow_2_0_inv[row_idx], - lookup_pow_2_1_inv[row_idx], - lookup_byte_lengths_inv[row_idx], - lookup_byte_operations_inv[row_idx], - lookup_opcode_gas_inv[row_idx], - lookup_l2_gas_rng_chk_0_inv[row_idx], - lookup_l2_gas_rng_chk_1_inv[row_idx], - lookup_da_gas_rng_chk_0_inv[row_idx], - lookup_da_gas_rng_chk_1_inv[row_idx], - lookup_cd_value_inv[row_idx], - lookup_ret_value_inv[row_idx], - incl_main_tag_err_inv[row_idx], - incl_mem_tag_err_inv[row_idx], - binary_acc_ia_shift[row_idx], - binary_acc_ib_shift[row_idx], - binary_acc_ic_shift[row_idx], - binary_mem_tag_ctr_shift[row_idx], - binary_op_id_shift[row_idx], - cmp_a_hi_shift[row_idx], - cmp_a_lo_shift[row_idx], - cmp_b_hi_shift[row_idx], - cmp_b_lo_shift[row_idx], - cmp_cmp_rng_ctr_shift[row_idx], - cmp_op_gt_shift[row_idx], - cmp_p_sub_a_hi_shift[row_idx], - cmp_p_sub_a_lo_shift[row_idx], - cmp_p_sub_b_hi_shift[row_idx], - cmp_p_sub_b_lo_shift[row_idx], - cmp_sel_rng_chk_shift[row_idx], - main_da_gas_remaining_shift[row_idx], - main_l2_gas_remaining_shift[row_idx], - main_pc_shift[row_idx], - main_sel_execution_end_shift[row_idx], - main_sel_execution_row_shift[row_idx], - mem_glob_addr_shift[row_idx], - mem_rw_shift[row_idx], - mem_sel_mem_shift[row_idx], - mem_tag_shift[row_idx], - mem_tsp_shift[row_idx], - mem_val_shift[row_idx], - merkle_tree_leaf_index_shift[row_idx], - merkle_tree_leaf_value_shift[row_idx], - merkle_tree_path_len_shift[row_idx], - poseidon2_full_a_0_shift[row_idx], - poseidon2_full_a_1_shift[row_idx], - poseidon2_full_a_2_shift[row_idx], - poseidon2_full_a_3_shift[row_idx], - poseidon2_full_execute_poseidon_perm_shift[row_idx], - poseidon2_full_input_0_shift[row_idx], - poseidon2_full_input_1_shift[row_idx], - poseidon2_full_input_2_shift[row_idx], - poseidon2_full_num_perm_rounds_rem_shift[row_idx], - poseidon2_full_sel_poseidon_shift[row_idx], - poseidon2_full_start_poseidon_shift[row_idx], - slice_addr_shift[row_idx], - slice_clk_shift[row_idx], - slice_cnt_shift[row_idx], - slice_sel_cd_cpy_shift[row_idx], - slice_sel_mem_active_shift[row_idx], - slice_sel_return_shift[row_idx], - slice_sel_start_shift[row_idx], - slice_space_id_shift[row_idx] }; -} - AvmFlavor::CommitmentLabels::CommitmentLabels() { Base::byte_lookup_sel_bin = "BYTE_LOOKUP_SEL_BIN"; diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp index 7b40402879a..aed03871066 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp @@ -391,8 +391,6 @@ class AvmFlavor { using DataType = BaseDataType&; DEFINE_FLAVOR_MEMBERS(DataType, AVM_ALL_ENTITIES) - - AllConstRefValues(const RefArray& il); }; /** @@ -410,12 +408,13 @@ class AvmFlavor { ProverPolynomials(ProvingKey& proving_key); - [[nodiscard]] size_t get_polynomial_size() const { return main_kernel_inputs.size(); } - /** - * @brief Returns the evaluations of all prover polynomials at one point on the boolean hypercube, which - * represents one row in the execution trace. - */ - [[nodiscard]] AllConstRefValues get_row(size_t row_idx) const; + size_t get_polynomial_size() const { return main_kernel_inputs.size(); } + AllConstRefValues get_row(size_t row_idx) const + { + return [row_idx](auto&... entities) -> AllConstRefValues { + return { entities[row_idx]... }; + }(AVM_ALL_ENTITIES); + } }; class PartiallyEvaluatedMultivariates : public AllEntities { diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.cpp b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.cpp index 22a2d790fd3..c1538b5eb58 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.cpp @@ -3,112 +3,6 @@ namespace bb::avm2 { -AvmFlavor::AllConstRefValues::AllConstRefValues( - const RefArray& il) - : precomputed_bitwise_input_a(il[0]) - , precomputed_bitwise_input_b(il[1]) - , precomputed_bitwise_op_id(il[2]) - , precomputed_bitwise_output(il[3]) - , precomputed_clk(il[4]) - , precomputed_first_row(il[5]) - , precomputed_power_of_2(il[6]) - , precomputed_sel_bitwise(il[7]) - , precomputed_sel_range_16(il[8]) - , precomputed_sel_range_8(il[9]) - , execution_input(il[10]) - , alu_dst_addr(il[11]) - , alu_ia(il[12]) - , alu_ia_addr(il[13]) - , alu_ib(il[14]) - , alu_ib_addr(il[15]) - , alu_ic(il[16]) - , alu_op(il[17]) - , alu_sel_op_add(il[18]) - , execution_addressing_error_idx(il[19]) - , execution_addressing_error_kind(il[20]) - , execution_base_address_tag(il[21]) - , execution_base_address_val(il[22]) - , execution_bytecode_id(il[23]) - , execution_clk(il[24]) - , execution_ex_opcode(il[25]) - , execution_indirect(il[26]) - , execution_last(il[27]) - , execution_op1(il[28]) - , execution_op1_after_relative(il[29]) - , execution_op2(il[30]) - , execution_op2_after_relative(il[31]) - , execution_op3(il[32]) - , execution_op3_after_relative(il[33]) - , execution_op4(il[34]) - , execution_op4_after_relative(il[35]) - , execution_pc(il[36]) - , execution_rop1(il[37]) - , execution_rop2(il[38]) - , execution_rop3(il[39]) - , execution_rop4(il[40]) - , execution_sel(il[41]) - , execution_sel_addressing_error(il[42]) - , execution_sel_op1_is_address(il[43]) - , execution_sel_op2_is_address(il[44]) - , execution_sel_op3_is_address(il[45]) - , execution_sel_op4_is_address(il[46]) - , range_check_dyn_diff(il[47]) - , range_check_dyn_rng_chk_bits(il[48]) - , range_check_dyn_rng_chk_pow_2(il[49]) - , range_check_is_lte_u112(il[50]) - , range_check_is_lte_u128(il[51]) - , range_check_is_lte_u16(il[52]) - , range_check_is_lte_u32(il[53]) - , range_check_is_lte_u48(il[54]) - , range_check_is_lte_u64(il[55]) - , range_check_is_lte_u80(il[56]) - , range_check_is_lte_u96(il[57]) - , range_check_rng_chk_bits(il[58]) - , range_check_sel(il[59]) - , range_check_sel_r0_16_bit_rng_lookup(il[60]) - , range_check_sel_r1_16_bit_rng_lookup(il[61]) - , range_check_sel_r2_16_bit_rng_lookup(il[62]) - , range_check_sel_r3_16_bit_rng_lookup(il[63]) - , range_check_sel_r4_16_bit_rng_lookup(il[64]) - , range_check_sel_r5_16_bit_rng_lookup(il[65]) - , range_check_sel_r6_16_bit_rng_lookup(il[66]) - , range_check_u16_r0(il[67]) - , range_check_u16_r1(il[68]) - , range_check_u16_r2(il[69]) - , range_check_u16_r3(il[70]) - , range_check_u16_r4(il[71]) - , range_check_u16_r5(il[72]) - , range_check_u16_r6(il[73]) - , range_check_u16_r7(il[74]) - , range_check_value(il[75]) - , lookup_rng_chk_pow_2_counts(il[76]) - , lookup_rng_chk_diff_counts(il[77]) - , lookup_rng_chk_is_r0_16_bit_counts(il[78]) - , lookup_rng_chk_is_r1_16_bit_counts(il[79]) - , lookup_rng_chk_is_r2_16_bit_counts(il[80]) - , lookup_rng_chk_is_r3_16_bit_counts(il[81]) - , lookup_rng_chk_is_r4_16_bit_counts(il[82]) - , lookup_rng_chk_is_r5_16_bit_counts(il[83]) - , lookup_rng_chk_is_r6_16_bit_counts(il[84]) - , lookup_rng_chk_is_r7_16_bit_counts(il[85]) - , lookup_dummy_precomputed_counts(il[86]) - , lookup_dummy_dynamic_counts(il[87]) - , perm_dummy_dynamic_inv(il[88]) - , lookup_rng_chk_pow_2_inv(il[89]) - , lookup_rng_chk_diff_inv(il[90]) - , lookup_rng_chk_is_r0_16_bit_inv(il[91]) - , lookup_rng_chk_is_r1_16_bit_inv(il[92]) - , lookup_rng_chk_is_r2_16_bit_inv(il[93]) - , lookup_rng_chk_is_r3_16_bit_inv(il[94]) - , lookup_rng_chk_is_r4_16_bit_inv(il[95]) - , lookup_rng_chk_is_r5_16_bit_inv(il[96]) - , lookup_rng_chk_is_r6_16_bit_inv(il[97]) - , lookup_rng_chk_is_r7_16_bit_inv(il[98]) - , lookup_dummy_precomputed_inv(il[99]) - , lookup_dummy_dynamic_inv(il[100]) - , execution_sel_shift(il[101]) -{} - AvmFlavor::ProverPolynomials::ProverPolynomials(ProvingKey& proving_key) { for (auto [prover_poly, key_poly] : zip_view(this->get_unshifted(), proving_key.get_all())) { @@ -121,112 +15,6 @@ AvmFlavor::ProverPolynomials::ProverPolynomials(ProvingKey& proving_key) } } -AvmFlavor::AllConstRefValues AvmFlavor::ProverPolynomials::get_row(size_t row_idx) const -{ - return RefArray{ precomputed_bitwise_input_a[row_idx], - precomputed_bitwise_input_b[row_idx], - precomputed_bitwise_op_id[row_idx], - precomputed_bitwise_output[row_idx], - precomputed_clk[row_idx], - precomputed_first_row[row_idx], - precomputed_power_of_2[row_idx], - precomputed_sel_bitwise[row_idx], - precomputed_sel_range_16[row_idx], - precomputed_sel_range_8[row_idx], - execution_input[row_idx], - alu_dst_addr[row_idx], - alu_ia[row_idx], - alu_ia_addr[row_idx], - alu_ib[row_idx], - alu_ib_addr[row_idx], - alu_ic[row_idx], - alu_op[row_idx], - alu_sel_op_add[row_idx], - execution_addressing_error_idx[row_idx], - execution_addressing_error_kind[row_idx], - execution_base_address_tag[row_idx], - execution_base_address_val[row_idx], - execution_bytecode_id[row_idx], - execution_clk[row_idx], - execution_ex_opcode[row_idx], - execution_indirect[row_idx], - execution_last[row_idx], - execution_op1[row_idx], - execution_op1_after_relative[row_idx], - execution_op2[row_idx], - execution_op2_after_relative[row_idx], - execution_op3[row_idx], - execution_op3_after_relative[row_idx], - execution_op4[row_idx], - execution_op4_after_relative[row_idx], - execution_pc[row_idx], - execution_rop1[row_idx], - execution_rop2[row_idx], - execution_rop3[row_idx], - execution_rop4[row_idx], - execution_sel[row_idx], - execution_sel_addressing_error[row_idx], - execution_sel_op1_is_address[row_idx], - execution_sel_op2_is_address[row_idx], - execution_sel_op3_is_address[row_idx], - execution_sel_op4_is_address[row_idx], - range_check_dyn_diff[row_idx], - range_check_dyn_rng_chk_bits[row_idx], - range_check_dyn_rng_chk_pow_2[row_idx], - range_check_is_lte_u112[row_idx], - range_check_is_lte_u128[row_idx], - range_check_is_lte_u16[row_idx], - range_check_is_lte_u32[row_idx], - range_check_is_lte_u48[row_idx], - range_check_is_lte_u64[row_idx], - range_check_is_lte_u80[row_idx], - range_check_is_lte_u96[row_idx], - range_check_rng_chk_bits[row_idx], - range_check_sel[row_idx], - range_check_sel_r0_16_bit_rng_lookup[row_idx], - range_check_sel_r1_16_bit_rng_lookup[row_idx], - range_check_sel_r2_16_bit_rng_lookup[row_idx], - range_check_sel_r3_16_bit_rng_lookup[row_idx], - range_check_sel_r4_16_bit_rng_lookup[row_idx], - range_check_sel_r5_16_bit_rng_lookup[row_idx], - range_check_sel_r6_16_bit_rng_lookup[row_idx], - range_check_u16_r0[row_idx], - range_check_u16_r1[row_idx], - range_check_u16_r2[row_idx], - range_check_u16_r3[row_idx], - range_check_u16_r4[row_idx], - range_check_u16_r5[row_idx], - range_check_u16_r6[row_idx], - range_check_u16_r7[row_idx], - range_check_value[row_idx], - lookup_rng_chk_pow_2_counts[row_idx], - lookup_rng_chk_diff_counts[row_idx], - lookup_rng_chk_is_r0_16_bit_counts[row_idx], - lookup_rng_chk_is_r1_16_bit_counts[row_idx], - lookup_rng_chk_is_r2_16_bit_counts[row_idx], - lookup_rng_chk_is_r3_16_bit_counts[row_idx], - lookup_rng_chk_is_r4_16_bit_counts[row_idx], - lookup_rng_chk_is_r5_16_bit_counts[row_idx], - lookup_rng_chk_is_r6_16_bit_counts[row_idx], - lookup_rng_chk_is_r7_16_bit_counts[row_idx], - lookup_dummy_precomputed_counts[row_idx], - lookup_dummy_dynamic_counts[row_idx], - perm_dummy_dynamic_inv[row_idx], - lookup_rng_chk_pow_2_inv[row_idx], - lookup_rng_chk_diff_inv[row_idx], - lookup_rng_chk_is_r0_16_bit_inv[row_idx], - lookup_rng_chk_is_r1_16_bit_inv[row_idx], - lookup_rng_chk_is_r2_16_bit_inv[row_idx], - lookup_rng_chk_is_r3_16_bit_inv[row_idx], - lookup_rng_chk_is_r4_16_bit_inv[row_idx], - lookup_rng_chk_is_r5_16_bit_inv[row_idx], - lookup_rng_chk_is_r6_16_bit_inv[row_idx], - lookup_rng_chk_is_r7_16_bit_inv[row_idx], - lookup_dummy_precomputed_inv[row_idx], - lookup_dummy_dynamic_inv[row_idx], - execution_sel_shift[row_idx] }; -} - AvmFlavor::CommitmentLabels::CommitmentLabels() { Base::precomputed_bitwise_input_a = "PRECOMPUTED_BITWISE_INPUT_A"; diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp index 8206297ffcf..88cb5280b4e 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp @@ -269,8 +269,6 @@ class AvmFlavor { using DataType = BaseDataType&; DEFINE_FLAVOR_MEMBERS(DataType, AVM2_ALL_ENTITIES) - - AllConstRefValues(const RefArray& il); }; /** @@ -288,12 +286,13 @@ class AvmFlavor { ProverPolynomials(ProvingKey& proving_key); - [[nodiscard]] size_t get_polynomial_size() const { return execution_input.size(); } - /** - * @brief Returns the evaluations of all prover polynomials at one point on the boolean hypercube, which - * represents one row in the execution trace. - */ - [[nodiscard]] AllConstRefValues get_row(size_t row_idx) const; + size_t get_polynomial_size() const { return execution_input.size(); } + AllConstRefValues get_row(size_t row_idx) const + { + return [row_idx](auto&... entities) -> AllConstRefValues { + return { entities[row_idx]... }; + }(AVM2_ALL_ENTITIES); + } }; class PartiallyEvaluatedMultivariates : public AllEntities { diff --git a/bb-pilcom/bb-pil-backend/templates/flavor.cpp.hbs b/bb-pilcom/bb-pil-backend/templates/flavor.cpp.hbs index f5b528a4856..6ac20888eb6 100644 --- a/bb-pilcom/bb-pil-backend/templates/flavor.cpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/flavor.cpp.hbs @@ -3,10 +3,6 @@ namespace bb::{{snakeCase name}} { -AvmFlavor::AllConstRefValues::AllConstRefValues(const RefArray& il) : - {{#each (join fixed witness_without_inverses inverses shifted) as |item|}}{{item}}(il[{{@index}}]){{#unless @last}},{{/unless}}{{/each}} - {} - AvmFlavor::ProverPolynomials::ProverPolynomials(ProvingKey& proving_key) { for (auto [prover_poly, key_poly] : zip_view(this->get_unshifted(), proving_key.get_all())) { @@ -19,26 +15,6 @@ AvmFlavor::ProverPolynomials::ProverPolynomials(ProvingKey& proving_key) } } -AvmFlavor::AllConstRefValues AvmFlavor::ProverPolynomials::get_row(size_t row_idx) const -{ - {{!-- - // TODO: try to make something like this work. - // Right now it's too risky because it relies on the order of the columns in `get_all()`. - RefArray all_cols = get_all(); - std::array refs; - for (size_t i = 0; i < refs.size(); ++i) { - refs[i] = &all_cols[i][row_idx]; - } - // Note: the order of the constructor must match the order of the columns in `get_all()`! - return AllConstRefValues(refs); - --}} - return RefArray{ - {{#each (join fixed witness_without_inverses inverses shifted) as |item|}} - {{item}}[row_idx]{{#unless @last}},{{/unless}} - {{/each}} - }; -} - AvmFlavor::CommitmentLabels::CommitmentLabels() { {{#each all_cols as |item|}} diff --git a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs index 30ba9f58e11..6f31274bdd4 100644 --- a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs @@ -272,8 +272,6 @@ class AvmFlavor { the classes that AllEntities inherits from, in cascade. --}} DEFINE_FLAVOR_MEMBERS(DataType, {{shoutySnakeCase name}}_ALL_ENTITIES) - - AllConstRefValues(const RefArray& il); }; /** @@ -291,12 +289,10 @@ class AvmFlavor { ProverPolynomials(ProvingKey& proving_key); - [[nodiscard]] size_t get_polynomial_size() const { return {{witness.0}}.size(); } - /** - * @brief Returns the evaluations of all prover polynomials at one point on the boolean hypercube, which - * represents one row in the execution trace. - */ - [[nodiscard]] AllConstRefValues get_row(size_t row_idx) const; + size_t get_polynomial_size() const { return {{witness.0}}.size(); } + AllConstRefValues get_row(size_t row_idx) const { + return [row_idx](auto&... entities) -> AllConstRefValues { return { entities[row_idx]... }; }({{shoutySnakeCase name}}_ALL_ENTITIES); + } }; class PartiallyEvaluatedMultivariates : public AllEntities {