diff --git a/.github/workflows/cairo-ci.yaml b/.github/workflows/cairo-ci.yaml index 336727d8..ec3efbf2 100644 --- a/.github/workflows/cairo-ci.yaml +++ b/.github/workflows/cairo-ci.yaml @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@v3 - uses: software-mansion/setup-scarb@v1 with: - scarb-version: "nightly-2024-11-19" + scarb-version: "nightly-2024-12-14" - run: scarb fmt --check - run: scarb test @@ -39,6 +39,7 @@ jobs: - uses: actions/checkout@v3 with: lfs: false + - run: ./scripts/run_large_test.sh - uses: dtolnay/rust-toolchain@master with: components: rustfmt diff --git a/README.md b/README.md index cc5ab447..364d8665 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ # stwo-cairo-air - -This repo is using Git LFS ``` -https://packagecloud.io/github/git-lfs/install -sudo apt-get update -sudo apt-get install git-lfs -git lfs install -git lfs fetch --all -git lfs pull +This repo utilizes Google Cloud Storage for test artifacts. The test artifacts can be found and modified at the following URL: +https://console.cloud.google.com/storage/browser/stwo-cairo-testing-artifacts?project=starkware-thirdparties + +To run the test: "test_read_from_large_files", use the run_large_test.sh script. + +This script will: +Download the required input files from Google Cloud Storage. +Execute the test. +Delete the downloaded files after the test is complete. + +This test is configured to run automatically in the CI pipeline and will be ignored unless the --features "ci-test" flag is specified in the cargo test command." + ``` diff --git a/stwo_cairo_prover/Cargo.lock b/stwo_cairo_prover/Cargo.lock index fe965a12..1ce3e053 100644 --- a/stwo_cairo_prover/Cargo.lock +++ b/stwo_cairo_prover/Cargo.lock @@ -1633,7 +1633,7 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "stwo-prover" version = "0.1.1" -source = "git+https://github.com/starkware-libs/stwo?rev=76af3c6#76af3c6c7afc5b6e582ec5d16a03e74efe5a11ee" +source = "git+https://github.com/starkware-libs/stwo?rev=060f0e4#060f0e4e2b2d32bfad8eabc17ef66292d883e220" dependencies = [ "blake2", "blake3", @@ -1666,6 +1666,7 @@ dependencies = [ "paste", "prover_types", "rand", + "rayon", "serde", "sonic-rs", "stwo-prover", diff --git a/stwo_cairo_prover/Cargo.toml b/stwo_cairo_prover/Cargo.toml index f5f03aff..8ac04604 100644 --- a/stwo_cairo_prover/Cargo.toml +++ b/stwo_cairo_prover/Cargo.toml @@ -30,7 +30,7 @@ serde = "1.0.207" serde_json = "1.0.1" sonic-rs = "0.3.10" # TODO(ShaharS): take stwo version from the source repository. -stwo-prover = { git = "https://github.com/starkware-libs/stwo", rev = "76af3c6", features = [ +stwo-prover = { git = "https://github.com/starkware-libs/stwo", rev = "060f0e4", features = [ "parallel", ] } thiserror = "1.0.63" diff --git a/stwo_cairo_prover/crates/adapted_prover/src/main.rs b/stwo_cairo_prover/crates/adapted_prover/src/main.rs index 9a5695e9..9051e565 100644 --- a/stwo_cairo_prover/crates/adapted_prover/src/main.rs +++ b/stwo_cairo_prover/crates/adapted_prover/src/main.rs @@ -28,6 +28,8 @@ struct Args { proof_path: PathBuf, #[structopt(long = "debug_lookup")] debug_lookup: bool, + #[structopt(long = "display_components")] + display_components: bool, } #[derive(Debug, Error)] @@ -69,7 +71,7 @@ fn run(args: impl Iterator) -> Result) -> std::fmt::Result { + writeln!(f, "CairoComponents")?; + writeln!(f, "Opcodes: {}", self.opcodes)?; + writeln!( + f, + "VerifyInstruction: {}", + indented_component_display(&self.verify_instruction) + )?; + writeln!( + f, + "MemoryAddressToId: {}", + indented_component_display(&self.memory_address_to_id) + )?; + writeln!( + f, + "MemoryIdToValue: {}", + indented_component_display(&self.memory_id_to_value.0) + )?; + writeln!( + f, + "SmallMemoryIdToValue: {}", + indented_component_display(&self.memory_id_to_value.1) + )?; + writeln!( + f, + "RangeCheck19: {}", + indented_component_display(&self.range_check_19) + )?; + writeln!( + f, + "RangeCheck9_9: {}", + indented_component_display(&self.range_check9_9) + )?; + writeln!( + f, + "RangeCheck7_2_5: {}", + indented_component_display(&self.range_check7_2_5) + )?; + writeln!( + f, + "RangeCheck4_3: {}", + indented_component_display(&self.range_check4_3) + )?; + Ok(()) + } +} diff --git a/stwo_cairo_prover/crates/prover/src/cairo_air/debug.rs b/stwo_cairo_prover/crates/prover/src/cairo_air/debug_tools.rs similarity index 97% rename from stwo_cairo_prover/crates/prover/src/cairo_air/debug.rs rename to stwo_cairo_prover/crates/prover/src/cairo_air/debug_tools.rs index 70066dfc..bb8d7c98 100644 --- a/stwo_cairo_prover/crates/prover/src/cairo_air/debug.rs +++ b/stwo_cairo_prover/crates/prover/src/cairo_air/debug_tools.rs @@ -3,7 +3,9 @@ use num_traits::One; use stwo_prover::constraint_framework::relation_tracker::{ RelationTrackerComponent, RelationTrackerEntry, }; -use stwo_prover::constraint_framework::TraceLocationAllocator; +use stwo_prover::constraint_framework::{ + FrameworkComponent, FrameworkEval, TraceLocationAllocator, +}; use stwo_prover::core::backend::simd::SimdBackend; use stwo_prover::core::fields::m31::M31; use stwo_prover::core::pcs::CommitmentSchemeProver; @@ -583,3 +585,20 @@ pub fn track_cairo_relations( entries } + +pub(super) fn indented_component_display( + component: &FrameworkComponent, +) -> String { + let component_display = &format!("\n{}", component); + component_display + .lines() + .map(|line| format!("\t{}", line)) + .join("\n") +} + +pub(super) fn display_components(components: &[FrameworkComponent]) -> String { + components + .iter() + .map(|component| indented_component_display(component)) + .join("\n") +} diff --git a/stwo_cairo_prover/crates/prover/src/cairo_air/mod.rs b/stwo_cairo_prover/crates/prover/src/cairo_air/mod.rs index 4f6f7422..267ce535 100644 --- a/stwo_cairo_prover/crates/prover/src/cairo_air/mod.rs +++ b/stwo_cairo_prover/crates/prover/src/cairo_air/mod.rs @@ -1,9 +1,9 @@ pub mod air; -mod debug; +mod debug_tools; pub mod opcodes_air; use air::{lookup_sum, CairoClaimGenerator, CairoComponents, CairoInteractionElements, CairoProof}; -use debug::track_cairo_relations; +use debug_tools::track_cairo_relations; use num_traits::Zero; use stwo_prover::constraint_framework::preprocessed_columns::gen_is_first; use stwo_prover::constraint_framework::relation_tracker::RelationSummary; @@ -24,9 +24,12 @@ const LOG_MAX_ROWS: u32 = 22; const IS_FIRST_LOG_SIZES: [u32; 19] = [ 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, ]; + pub fn prove_cairo( input: CairoInput, + // TODO(Ohad): wrap these flags in a struct. track_relations: bool, + display_components: bool, ) -> Result, ProvingError> { let _span = span!(Level::INFO, "prove_cairo").entered(); let config = PcsConfig::default(); @@ -94,6 +97,10 @@ pub fn prove_cairo( // Prove stark. let proof = prove::(&components, channel, commitment_scheme)?; + if display_components { + println!("{}", component_builder); + } + Ok(CairoProof { claim, interaction_claim, @@ -183,14 +190,14 @@ mod tests { #[test] fn test_basic_cairo_air() { - let cairo_proof = prove_cairo(test_input(), true).unwrap(); + let cairo_proof = prove_cairo(test_input(), true, true).unwrap(); verify_cairo(cairo_proof).unwrap(); } #[ignore] #[test] fn test_full_cairo_air() { - let cairo_proof = prove_cairo(small_cairo_input(), true).unwrap(); + let cairo_proof = prove_cairo(small_cairo_input(), true, true).unwrap(); verify_cairo(cairo_proof).unwrap(); } } diff --git a/stwo_cairo_prover/crates/prover/src/cairo_air/opcodes_air.rs b/stwo_cairo_prover/crates/prover/src/cairo_air/opcodes_air.rs index 0118909e..61fa733c 100644 --- a/stwo_cairo_prover/crates/prover/src/cairo_air/opcodes_air.rs +++ b/stwo_cairo_prover/crates/prover/src/cairo_air/opcodes_air.rs @@ -10,6 +10,7 @@ use stwo_prover::core::pcs::{TreeBuilder, TreeVec}; use stwo_prover::core::vcs::blake2_merkle::Blake2sMerkleChannel; use super::air::CairoInteractionElements; +use super::debug_tools::display_components; use crate::components::{ add_ap_opcode_is_imm_f_op1_base_fp_f, add_ap_opcode_is_imm_f_op1_base_fp_t, add_ap_opcode_is_imm_t_op1_base_fp_f, add_opcode_is_small_f_is_imm_f, @@ -2260,3 +2261,59 @@ impl OpcodeComponents { vec } } + +impl std::fmt::Display for OpcodeComponents { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + writeln!(f, "add_f_f:")?; + writeln!(f, "{}", display_components(&self.add_f_f))?; + writeln!(f, "add_f_t:")?; + writeln!(f, "{}", display_components(&self.add_f_t))?; + writeln!(f, "add_t_f:")?; + writeln!(f, "{}", display_components(&self.add_t_f))?; + writeln!(f, "add_t_t:")?; + writeln!(f, "{}", display_components(&self.add_t_t))?; + writeln!(f, "add_ap_f_f:")?; + writeln!(f, "{}", display_components(&self.add_ap_f_f))?; + writeln!(f, "add_ap_f_t:")?; + writeln!(f, "{}", display_components(&self.add_ap_f_t))?; + writeln!(f, "add_ap_t_f:")?; + writeln!(f, "{}", display_components(&self.add_ap_t_f))?; + writeln!(f, "assert_eq_f_f:")?; + writeln!(f, "{}", display_components(&self.assert_eq_f_f))?; + writeln!(f, "assert_eq_f_t:")?; + writeln!(f, "{}", display_components(&self.assert_eq_f_t))?; + writeln!(f, "assert_eq_t_f:")?; + writeln!(f, "{}", display_components(&self.assert_eq_t_f))?; + writeln!(f, "call_f_f:")?; + writeln!(f, "{}", display_components(&self.call_f_f))?; + writeln!(f, "call_f_t:")?; + writeln!(f, "{}", display_components(&self.call_f_t))?; + writeln!(f, "call_t_f:")?; + writeln!(f, "{}", display_components(&self.call_t_f))?; + writeln!(f, "generic:")?; + writeln!(f, "{}", display_components(&self.generic))?; + writeln!(f, "jnz_f_f:")?; + writeln!(f, "{}", display_components(&self.jnz_f_f))?; + writeln!(f, "jnz_f_t:")?; + writeln!(f, "{}", display_components(&self.jnz_f_t))?; + writeln!(f, "jnz_t_f:")?; + writeln!(f, "{}", display_components(&self.jnz_t_f))?; + writeln!(f, "jnz_t_t:")?; + writeln!(f, "{}", display_components(&self.jnz_t_t))?; + writeln!(f, "jump_f_f_f:")?; + writeln!(f, "{}", display_components(&self.jump_f_f_f))?; + writeln!(f, "jump_f_f_t:")?; + writeln!(f, "{}", display_components(&self.jump_f_f_t))?; + writeln!(f, "jump_t_f_f:")?; + writeln!(f, "{}", display_components(&self.jump_t_f_f))?; + writeln!(f, "jump_t_t_f:")?; + writeln!(f, "{}", display_components(&self.jump_t_t_f))?; + writeln!(f, "mul_f_f:")?; + writeln!(f, "{}", display_components(&self.mul_f_f))?; + writeln!(f, "mul_f_t:")?; + writeln!(f, "{}", display_components(&self.mul_f_t))?; + writeln!(f, "ret:")?; + writeln!(f, "{}", display_components(&self.ret))?; + Ok(()) + } +} diff --git a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/component.rs index e2c6b5d9..b6c6aff7 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/component.rs @@ -96,9 +96,9 @@ impl FrameworkEval for Eval { let op1_limb_1_col8 = eval.next_trace_mask(); let op1_limb_2_col9 = eval.next_trace_mask(); - // decode_instruction_95ed11aea2bb2eff. + // DecodeInstruction_95ed11aea2bb2eff. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -118,20 +118,20 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + (offset2_col3.clone() - M31_32768.clone())), op1_id_col4.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col5.clone() * (msb_col5.clone() - M31_1.clone()))); @@ -144,7 +144,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col6.clone()) * (msb_col5.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -178,9 +178,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col5.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -188,9 +188,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -203,7 +203,7 @@ impl FrameworkEval for Eval { - (M31_134217728.clone() * mid_limbs_set_col6.clone()))), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/prover.rs index 8b9ba632..8be1fa3a 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_f/prover.rs @@ -178,29 +178,29 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, add_ap_opcode_is_imm_f_op1_base_fp_f_input)| { - let input_tmp_916 = add_ap_opcode_is_imm_f_op1_base_fp_f_input; - let input_pc_col0 = input_tmp_916.pc; + let input_tmp_8b74_0 = add_ap_opcode_is_imm_f_op1_base_fp_f_input; + let input_pc_col0 = input_tmp_8b74_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_916.ap; + let input_ap_col1 = input_tmp_8b74_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_916.fp; + let input_fp_col2 = input_tmp_8b74_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_95ed11aea2bb2eff. + // DecodeInstruction_95ed11aea2bb2eff. - let memory_address_to_id_value_tmp_921 = + let memoryaddresstoid_value_tmp_8b74_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_922 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_921); - let offset2_tmp_923 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_922.get_m31(3))) + let memoryidtobig_value_tmp_8b74_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_8b74_1); + let offset2_tmp_8b74_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_8b74_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_922.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_8b74_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_922.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_8b74_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col3 = offset2_tmp_923.as_m31(); + let offset2_col3 = offset2_tmp_8b74_3.as_m31(); trace[3].data[row_index] = offset2_col3; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -237,13 +237,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_929 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_8b74_4 = memory_address_to_id_state .deduce_output(((input_ap_col1) + ((offset2_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_930 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_929); - let op1_id_col4 = memory_address_to_id_value_tmp_929; + let memoryidtobig_value_tmp_8b74_5 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_8b74_4); + let op1_id_col4 = memoryaddresstoid_value_tmp_8b74_4; trace[4].data[row_index] = op1_id_col4; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_ap_col1) + ((offset2_col3) - (M31_32768))).unpack()); @@ -253,20 +253,20 @@ pub fn write_trace_simd( op1_id_col4, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_931 = memory_id_to_big_value_tmp_930.get_m31(27).eq(M31_256); - let msb_col5 = msb_tmp_931.as_m31(); + let msb_tmp_8b74_6 = memoryidtobig_value_tmp_8b74_5.get_m31(27).eq(M31_256); + let msb_col5 = msb_tmp_8b74_6.as_m31(); trace[5].data[row_index] = msb_col5; - let mid_limbs_set_tmp_932 = memory_id_to_big_value_tmp_930.get_m31(20).eq(M31_511); - let mid_limbs_set_col6 = mid_limbs_set_tmp_932.as_m31(); + let mid_limbs_set_tmp_8b74_7 = memoryidtobig_value_tmp_8b74_5.get_m31(20).eq(M31_511); + let mid_limbs_set_col6 = mid_limbs_set_tmp_8b74_7.as_m31(); trace[6].data[row_index] = mid_limbs_set_col6; - let op1_limb_0_col7 = memory_id_to_big_value_tmp_930.get_m31(0); + let op1_limb_0_col7 = memoryidtobig_value_tmp_8b74_5.get_m31(0); trace[7].data[row_index] = op1_limb_0_col7; - let op1_limb_1_col8 = memory_id_to_big_value_tmp_930.get_m31(1); + let op1_limb_1_col8 = memoryidtobig_value_tmp_8b74_5.get_m31(1); trace[8].data[row_index] = op1_limb_1_col8; - let op1_limb_2_col9 = memory_id_to_big_value_tmp_930.get_m31(2); + let op1_limb_2_col9 = memoryidtobig_value_tmp_8b74_5.get_m31(2); trace[9].data[row_index] = op1_limb_2_col9; sub_components_inputs.memory_id_to_big_inputs[0].extend(op1_id_col4.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/component.rs index 1d5ea340..dfcb18d5 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/component.rs @@ -96,9 +96,9 @@ impl FrameworkEval for Eval { let op1_limb_1_col8 = eval.next_trace_mask(); let op1_limb_2_col9 = eval.next_trace_mask(); - // decode_instruction_3a1aeaa2aac0bdcf. + // DecodeInstruction_3a1aeaa2aac0bdcf. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -118,20 +118,20 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_fp_col2.clone() + (offset2_col3.clone() - M31_32768.clone())), op1_id_col4.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col5.clone() * (msb_col5.clone() - M31_1.clone()))); @@ -144,7 +144,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col6.clone()) * (msb_col5.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -178,9 +178,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col5.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -188,9 +188,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -203,7 +203,7 @@ impl FrameworkEval for Eval { - (M31_134217728.clone() * mid_limbs_set_col6.clone()))), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/prover.rs index ff59b6b8..5145ebc6 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_f_op1_base_fp_t/prover.rs @@ -178,29 +178,29 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, add_ap_opcode_is_imm_f_op1_base_fp_t_input)| { - let input_tmp_944 = add_ap_opcode_is_imm_f_op1_base_fp_t_input; - let input_pc_col0 = input_tmp_944.pc; + let input_tmp_c5eb_0 = add_ap_opcode_is_imm_f_op1_base_fp_t_input; + let input_pc_col0 = input_tmp_c5eb_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_944.ap; + let input_ap_col1 = input_tmp_c5eb_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_944.fp; + let input_fp_col2 = input_tmp_c5eb_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_3a1aeaa2aac0bdcf. + // DecodeInstruction_3a1aeaa2aac0bdcf. - let memory_address_to_id_value_tmp_949 = + let memoryaddresstoid_value_tmp_c5eb_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_950 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_949); - let offset2_tmp_951 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_950.get_m31(3))) + let memoryidtobig_value_tmp_c5eb_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c5eb_1); + let offset2_tmp_c5eb_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5eb_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_950.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5eb_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_950.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5eb_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col3 = offset2_tmp_951.as_m31(); + let offset2_col3 = offset2_tmp_c5eb_3.as_m31(); trace[3].data[row_index] = offset2_col3; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -237,13 +237,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_953 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_c5eb_4 = memory_address_to_id_state .deduce_output(((input_fp_col2) + ((offset2_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_954 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_953); - let op1_id_col4 = memory_address_to_id_value_tmp_953; + let memoryidtobig_value_tmp_c5eb_5 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c5eb_4); + let op1_id_col4 = memoryaddresstoid_value_tmp_c5eb_4; trace[4].data[row_index] = op1_id_col4; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_fp_col2) + ((offset2_col3) - (M31_32768))).unpack()); @@ -253,20 +253,20 @@ pub fn write_trace_simd( op1_id_col4, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_955 = memory_id_to_big_value_tmp_954.get_m31(27).eq(M31_256); - let msb_col5 = msb_tmp_955.as_m31(); + let msb_tmp_c5eb_6 = memoryidtobig_value_tmp_c5eb_5.get_m31(27).eq(M31_256); + let msb_col5 = msb_tmp_c5eb_6.as_m31(); trace[5].data[row_index] = msb_col5; - let mid_limbs_set_tmp_956 = memory_id_to_big_value_tmp_954.get_m31(20).eq(M31_511); - let mid_limbs_set_col6 = mid_limbs_set_tmp_956.as_m31(); + let mid_limbs_set_tmp_c5eb_7 = memoryidtobig_value_tmp_c5eb_5.get_m31(20).eq(M31_511); + let mid_limbs_set_col6 = mid_limbs_set_tmp_c5eb_7.as_m31(); trace[6].data[row_index] = mid_limbs_set_col6; - let op1_limb_0_col7 = memory_id_to_big_value_tmp_954.get_m31(0); + let op1_limb_0_col7 = memoryidtobig_value_tmp_c5eb_5.get_m31(0); trace[7].data[row_index] = op1_limb_0_col7; - let op1_limb_1_col8 = memory_id_to_big_value_tmp_954.get_m31(1); + let op1_limb_1_col8 = memoryidtobig_value_tmp_c5eb_5.get_m31(1); trace[8].data[row_index] = op1_limb_1_col8; - let op1_limb_2_col9 = memory_id_to_big_value_tmp_954.get_m31(2); + let op1_limb_2_col9 = memoryidtobig_value_tmp_c5eb_5.get_m31(2); trace[9].data[row_index] = op1_limb_2_col9; sub_components_inputs.memory_id_to_big_inputs[0].extend(op1_id_col4.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/component.rs index 2be7334f..2db9c28c 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/component.rs @@ -96,9 +96,9 @@ impl FrameworkEval for Eval { let op1_limb_1_col7 = eval.next_trace_mask(); let op1_limb_2_col8 = eval.next_trace_mask(); - // decode_instruction_a14b71db698d77c8. + // DecodeInstruction_a14b71db698d77c8. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -118,17 +118,17 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[(input_pc_col0.clone() + M31_1.clone()), op1_id_col3.clone()], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col4.clone() * (msb_col4.clone() - M31_1.clone()))); @@ -141,7 +141,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col5.clone()) * (msb_col4.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -175,9 +175,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col4.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -185,9 +185,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -200,7 +200,7 @@ impl FrameworkEval for Eval { - (M31_134217728.clone() * mid_limbs_set_col5.clone()))), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/prover.rs index b20dc6c8..90c1344c 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_ap_opcode_is_imm_t_op1_base_fp_f/prover.rs @@ -175,20 +175,20 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, add_ap_opcode_is_imm_t_op1_base_fp_f_input)| { - let input_tmp_933 = add_ap_opcode_is_imm_t_op1_base_fp_f_input; - let input_pc_col0 = input_tmp_933.pc; + let input_tmp_38a0_0 = add_ap_opcode_is_imm_t_op1_base_fp_f_input; + let input_pc_col0 = input_tmp_38a0_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_933.ap; + let input_ap_col1 = input_tmp_38a0_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_933.fp; + let input_fp_col2 = input_tmp_38a0_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_a14b71db698d77c8. + // DecodeInstruction_a14b71db698d77c8. - let memory_address_to_id_value_tmp_937 = + let memoryaddresstoid_value_tmp_38a0_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_938 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_937); + let memoryidtobig_value_tmp_38a0_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_38a0_1); sub_components_inputs.verify_instruction_inputs[0].extend( ( @@ -224,33 +224,33 @@ pub fn write_trace_simd( M31_0, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_940 = + let memoryaddresstoid_value_tmp_38a0_3 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_941 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_940); - let op1_id_col3 = memory_address_to_id_value_tmp_940; + let memoryidtobig_value_tmp_38a0_4 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_38a0_3); + let op1_id_col3 = memoryaddresstoid_value_tmp_38a0_3; trace[3].data[row_index] = op1_id_col3; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[0].push([((input_pc_col0) + (M31_1)), op1_id_col3]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_942 = memory_id_to_big_value_tmp_941.get_m31(27).eq(M31_256); - let msb_col4 = msb_tmp_942.as_m31(); + let msb_tmp_38a0_5 = memoryidtobig_value_tmp_38a0_4.get_m31(27).eq(M31_256); + let msb_col4 = msb_tmp_38a0_5.as_m31(); trace[4].data[row_index] = msb_col4; - let mid_limbs_set_tmp_943 = memory_id_to_big_value_tmp_941.get_m31(20).eq(M31_511); - let mid_limbs_set_col5 = mid_limbs_set_tmp_943.as_m31(); + let mid_limbs_set_tmp_38a0_6 = memoryidtobig_value_tmp_38a0_4.get_m31(20).eq(M31_511); + let mid_limbs_set_col5 = mid_limbs_set_tmp_38a0_6.as_m31(); trace[5].data[row_index] = mid_limbs_set_col5; - let op1_limb_0_col6 = memory_id_to_big_value_tmp_941.get_m31(0); + let op1_limb_0_col6 = memoryidtobig_value_tmp_38a0_4.get_m31(0); trace[6].data[row_index] = op1_limb_0_col6; - let op1_limb_1_col7 = memory_id_to_big_value_tmp_941.get_m31(1); + let op1_limb_1_col7 = memoryidtobig_value_tmp_38a0_4.get_m31(1); trace[7].data[row_index] = op1_limb_1_col7; - let op1_limb_2_col8 = memory_id_to_big_value_tmp_941.get_m31(2); + let op1_limb_2_col8 = memoryidtobig_value_tmp_38a0_4.get_m31(2); trace[8].data[row_index] = op1_limb_2_col8; sub_components_inputs.memory_id_to_big_inputs[0].extend(op1_id_col3.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/component.rs index 669bbc88..0862d836 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/component.rs @@ -181,9 +181,9 @@ impl FrameworkEval for Eval { let op1_limb_27_col97 = eval.next_trace_mask(); let sub_p_bit_col98 = eval.next_trace_mask(); - // decode_instruction_52ce7a4a3d9be19a. + // DecodeInstruction_52ce7a4a3d9be19a. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -207,16 +207,16 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); // Either flag op1_base_fp is on or flag op1_base_ap is on. eval.add_constraint( ((op1_base_fp_col8.clone() + op1_base_ap_col9.clone()) - M31_1.clone()), ); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -225,9 +225,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col11.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -261,11 +261,11 @@ impl FrameworkEval for Eval { dst_limb_26_col38.clone(), dst_limb_27_col39.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -274,9 +274,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col40.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -310,11 +310,11 @@ impl FrameworkEval for Eval { op0_limb_26_col67.clone(), op0_limb_27_col68.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -323,9 +323,9 @@ impl FrameworkEval for Eval { + (offset2_col5.clone() - M31_32768.clone())), op1_id_col69.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -359,262 +359,263 @@ impl FrameworkEval for Eval { op1_limb_26_col96.clone(), op1_limb_27_col97.clone(), ], - )]); + )); - // verify_add252. + // VerifyAdd252. // sub_p_bit is a bit. eval.add_constraint((sub_p_bit_col98.clone() * (sub_p_bit_col98.clone() - M31_1.clone()))); - let carry_tmp_1016 = (((((op0_limb_0_col41.clone() + op1_limb_0_col70.clone()) + let carry_tmp_f459_18 = (((((op0_limb_0_col41.clone() + op1_limb_0_col70.clone()) + M31_0.clone()) - dst_limb_0_col12.clone()) - (M31_1.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1016.clone() - * ((carry_tmp_1016.clone() * carry_tmp_1016.clone()) - M31_1.clone())), + (carry_tmp_f459_18.clone() + * ((carry_tmp_f459_18.clone() * carry_tmp_f459_18.clone()) - M31_1.clone())), ); - let carry_tmp_1017 = (((((op0_limb_1_col42.clone() + op1_limb_1_col71.clone()) - + carry_tmp_1016.clone()) + let carry_tmp_f459_19 = (((((op0_limb_1_col42.clone() + op1_limb_1_col71.clone()) + + carry_tmp_f459_18.clone()) - dst_limb_1_col13.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1017.clone() - * ((carry_tmp_1017.clone() * carry_tmp_1017.clone()) - M31_1.clone())), + (carry_tmp_f459_19.clone() + * ((carry_tmp_f459_19.clone() * carry_tmp_f459_19.clone()) - M31_1.clone())), ); - let carry_tmp_1018 = (((((op0_limb_2_col43.clone() + op1_limb_2_col72.clone()) - + carry_tmp_1017.clone()) + let carry_tmp_f459_20 = (((((op0_limb_2_col43.clone() + op1_limb_2_col72.clone()) + + carry_tmp_f459_19.clone()) - dst_limb_2_col14.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1018.clone() - * ((carry_tmp_1018.clone() * carry_tmp_1018.clone()) - M31_1.clone())), + (carry_tmp_f459_20.clone() + * ((carry_tmp_f459_20.clone() * carry_tmp_f459_20.clone()) - M31_1.clone())), ); - let carry_tmp_1019 = (((((op0_limb_3_col44.clone() + op1_limb_3_col73.clone()) - + carry_tmp_1018.clone()) + let carry_tmp_f459_21 = (((((op0_limb_3_col44.clone() + op1_limb_3_col73.clone()) + + carry_tmp_f459_20.clone()) - dst_limb_3_col15.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1019.clone() - * ((carry_tmp_1019.clone() * carry_tmp_1019.clone()) - M31_1.clone())), + (carry_tmp_f459_21.clone() + * ((carry_tmp_f459_21.clone() * carry_tmp_f459_21.clone()) - M31_1.clone())), ); - let carry_tmp_1020 = (((((op0_limb_4_col45.clone() + op1_limb_4_col74.clone()) - + carry_tmp_1019.clone()) + let carry_tmp_f459_22 = (((((op0_limb_4_col45.clone() + op1_limb_4_col74.clone()) + + carry_tmp_f459_21.clone()) - dst_limb_4_col16.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1020.clone() - * ((carry_tmp_1020.clone() * carry_tmp_1020.clone()) - M31_1.clone())), + (carry_tmp_f459_22.clone() + * ((carry_tmp_f459_22.clone() * carry_tmp_f459_22.clone()) - M31_1.clone())), ); - let carry_tmp_1021 = (((((op0_limb_5_col46.clone() + op1_limb_5_col75.clone()) - + carry_tmp_1020.clone()) + let carry_tmp_f459_23 = (((((op0_limb_5_col46.clone() + op1_limb_5_col75.clone()) + + carry_tmp_f459_22.clone()) - dst_limb_5_col17.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1021.clone() - * ((carry_tmp_1021.clone() * carry_tmp_1021.clone()) - M31_1.clone())), + (carry_tmp_f459_23.clone() + * ((carry_tmp_f459_23.clone() * carry_tmp_f459_23.clone()) - M31_1.clone())), ); - let carry_tmp_1022 = (((((op0_limb_6_col47.clone() + op1_limb_6_col76.clone()) - + carry_tmp_1021.clone()) + let carry_tmp_f459_24 = (((((op0_limb_6_col47.clone() + op1_limb_6_col76.clone()) + + carry_tmp_f459_23.clone()) - dst_limb_6_col18.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1022.clone() - * ((carry_tmp_1022.clone() * carry_tmp_1022.clone()) - M31_1.clone())), + (carry_tmp_f459_24.clone() + * ((carry_tmp_f459_24.clone() * carry_tmp_f459_24.clone()) - M31_1.clone())), ); - let carry_tmp_1023 = (((((op0_limb_7_col48.clone() + op1_limb_7_col77.clone()) - + carry_tmp_1022.clone()) + let carry_tmp_f459_25 = (((((op0_limb_7_col48.clone() + op1_limb_7_col77.clone()) + + carry_tmp_f459_24.clone()) - dst_limb_7_col19.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1023.clone() - * ((carry_tmp_1023.clone() * carry_tmp_1023.clone()) - M31_1.clone())), + (carry_tmp_f459_25.clone() + * ((carry_tmp_f459_25.clone() * carry_tmp_f459_25.clone()) - M31_1.clone())), ); - let carry_tmp_1024 = (((((op0_limb_8_col49.clone() + op1_limb_8_col78.clone()) - + carry_tmp_1023.clone()) + let carry_tmp_f459_26 = (((((op0_limb_8_col49.clone() + op1_limb_8_col78.clone()) + + carry_tmp_f459_25.clone()) - dst_limb_8_col20.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1024.clone() - * ((carry_tmp_1024.clone() * carry_tmp_1024.clone()) - M31_1.clone())), + (carry_tmp_f459_26.clone() + * ((carry_tmp_f459_26.clone() * carry_tmp_f459_26.clone()) - M31_1.clone())), ); - let carry_tmp_1025 = (((((op0_limb_9_col50.clone() + op1_limb_9_col79.clone()) - + carry_tmp_1024.clone()) + let carry_tmp_f459_27 = (((((op0_limb_9_col50.clone() + op1_limb_9_col79.clone()) + + carry_tmp_f459_26.clone()) - dst_limb_9_col21.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1025.clone() - * ((carry_tmp_1025.clone() * carry_tmp_1025.clone()) - M31_1.clone())), + (carry_tmp_f459_27.clone() + * ((carry_tmp_f459_27.clone() * carry_tmp_f459_27.clone()) - M31_1.clone())), ); - let carry_tmp_1026 = (((((op0_limb_10_col51.clone() + op1_limb_10_col80.clone()) - + carry_tmp_1025.clone()) + let carry_tmp_f459_28 = (((((op0_limb_10_col51.clone() + op1_limb_10_col80.clone()) + + carry_tmp_f459_27.clone()) - dst_limb_10_col22.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1026.clone() - * ((carry_tmp_1026.clone() * carry_tmp_1026.clone()) - M31_1.clone())), + (carry_tmp_f459_28.clone() + * ((carry_tmp_f459_28.clone() * carry_tmp_f459_28.clone()) - M31_1.clone())), ); - let carry_tmp_1027 = (((((op0_limb_11_col52.clone() + op1_limb_11_col81.clone()) - + carry_tmp_1026.clone()) + let carry_tmp_f459_29 = (((((op0_limb_11_col52.clone() + op1_limb_11_col81.clone()) + + carry_tmp_f459_28.clone()) - dst_limb_11_col23.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1027.clone() - * ((carry_tmp_1027.clone() * carry_tmp_1027.clone()) - M31_1.clone())), + (carry_tmp_f459_29.clone() + * ((carry_tmp_f459_29.clone() * carry_tmp_f459_29.clone()) - M31_1.clone())), ); - let carry_tmp_1028 = (((((op0_limb_12_col53.clone() + op1_limb_12_col82.clone()) - + carry_tmp_1027.clone()) + let carry_tmp_f459_30 = (((((op0_limb_12_col53.clone() + op1_limb_12_col82.clone()) + + carry_tmp_f459_29.clone()) - dst_limb_12_col24.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1028.clone() - * ((carry_tmp_1028.clone() * carry_tmp_1028.clone()) - M31_1.clone())), + (carry_tmp_f459_30.clone() + * ((carry_tmp_f459_30.clone() * carry_tmp_f459_30.clone()) - M31_1.clone())), ); - let carry_tmp_1029 = (((((op0_limb_13_col54.clone() + op1_limb_13_col83.clone()) - + carry_tmp_1028.clone()) + let carry_tmp_f459_31 = (((((op0_limb_13_col54.clone() + op1_limb_13_col83.clone()) + + carry_tmp_f459_30.clone()) - dst_limb_13_col25.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1029.clone() - * ((carry_tmp_1029.clone() * carry_tmp_1029.clone()) - M31_1.clone())), + (carry_tmp_f459_31.clone() + * ((carry_tmp_f459_31.clone() * carry_tmp_f459_31.clone()) - M31_1.clone())), ); - let carry_tmp_1030 = (((((op0_limb_14_col55.clone() + op1_limb_14_col84.clone()) - + carry_tmp_1029.clone()) + let carry_tmp_f459_32 = (((((op0_limb_14_col55.clone() + op1_limb_14_col84.clone()) + + carry_tmp_f459_31.clone()) - dst_limb_14_col26.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1030.clone() - * ((carry_tmp_1030.clone() * carry_tmp_1030.clone()) - M31_1.clone())), + (carry_tmp_f459_32.clone() + * ((carry_tmp_f459_32.clone() * carry_tmp_f459_32.clone()) - M31_1.clone())), ); - let carry_tmp_1031 = (((((op0_limb_15_col56.clone() + op1_limb_15_col85.clone()) - + carry_tmp_1030.clone()) + let carry_tmp_f459_33 = (((((op0_limb_15_col56.clone() + op1_limb_15_col85.clone()) + + carry_tmp_f459_32.clone()) - dst_limb_15_col27.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1031.clone() - * ((carry_tmp_1031.clone() * carry_tmp_1031.clone()) - M31_1.clone())), + (carry_tmp_f459_33.clone() + * ((carry_tmp_f459_33.clone() * carry_tmp_f459_33.clone()) - M31_1.clone())), ); - let carry_tmp_1032 = (((((op0_limb_16_col57.clone() + op1_limb_16_col86.clone()) - + carry_tmp_1031.clone()) + let carry_tmp_f459_34 = (((((op0_limb_16_col57.clone() + op1_limb_16_col86.clone()) + + carry_tmp_f459_33.clone()) - dst_limb_16_col28.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1032.clone() - * ((carry_tmp_1032.clone() * carry_tmp_1032.clone()) - M31_1.clone())), + (carry_tmp_f459_34.clone() + * ((carry_tmp_f459_34.clone() * carry_tmp_f459_34.clone()) - M31_1.clone())), ); - let carry_tmp_1033 = (((((op0_limb_17_col58.clone() + op1_limb_17_col87.clone()) - + carry_tmp_1032.clone()) + let carry_tmp_f459_35 = (((((op0_limb_17_col58.clone() + op1_limb_17_col87.clone()) + + carry_tmp_f459_34.clone()) - dst_limb_17_col29.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1033.clone() - * ((carry_tmp_1033.clone() * carry_tmp_1033.clone()) - M31_1.clone())), + (carry_tmp_f459_35.clone() + * ((carry_tmp_f459_35.clone() * carry_tmp_f459_35.clone()) - M31_1.clone())), ); - let carry_tmp_1034 = (((((op0_limb_18_col59.clone() + op1_limb_18_col88.clone()) - + carry_tmp_1033.clone()) + let carry_tmp_f459_36 = (((((op0_limb_18_col59.clone() + op1_limb_18_col88.clone()) + + carry_tmp_f459_35.clone()) - dst_limb_18_col30.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1034.clone() - * ((carry_tmp_1034.clone() * carry_tmp_1034.clone()) - M31_1.clone())), + (carry_tmp_f459_36.clone() + * ((carry_tmp_f459_36.clone() * carry_tmp_f459_36.clone()) - M31_1.clone())), ); - let carry_tmp_1035 = (((((op0_limb_19_col60.clone() + op1_limb_19_col89.clone()) - + carry_tmp_1034.clone()) + let carry_tmp_f459_37 = (((((op0_limb_19_col60.clone() + op1_limb_19_col89.clone()) + + carry_tmp_f459_36.clone()) - dst_limb_19_col31.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1035.clone() - * ((carry_tmp_1035.clone() * carry_tmp_1035.clone()) - M31_1.clone())), + (carry_tmp_f459_37.clone() + * ((carry_tmp_f459_37.clone() * carry_tmp_f459_37.clone()) - M31_1.clone())), ); - let carry_tmp_1036 = (((((op0_limb_20_col61.clone() + op1_limb_20_col90.clone()) - + carry_tmp_1035.clone()) + let carry_tmp_f459_38 = (((((op0_limb_20_col61.clone() + op1_limb_20_col90.clone()) + + carry_tmp_f459_37.clone()) - dst_limb_20_col32.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1036.clone() - * ((carry_tmp_1036.clone() * carry_tmp_1036.clone()) - M31_1.clone())), + (carry_tmp_f459_38.clone() + * ((carry_tmp_f459_38.clone() * carry_tmp_f459_38.clone()) - M31_1.clone())), ); - let carry_tmp_1037 = (((((op0_limb_21_col62.clone() + op1_limb_21_col91.clone()) - + carry_tmp_1036.clone()) + let carry_tmp_f459_39 = (((((op0_limb_21_col62.clone() + op1_limb_21_col91.clone()) + + carry_tmp_f459_38.clone()) - dst_limb_21_col33.clone()) - (M31_136.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1037.clone() - * ((carry_tmp_1037.clone() * carry_tmp_1037.clone()) - M31_1.clone())), + (carry_tmp_f459_39.clone() + * ((carry_tmp_f459_39.clone() * carry_tmp_f459_39.clone()) - M31_1.clone())), ); - let carry_tmp_1038 = (((((op0_limb_22_col63.clone() + op1_limb_22_col92.clone()) - + carry_tmp_1037.clone()) + let carry_tmp_f459_40 = (((((op0_limb_22_col63.clone() + op1_limb_22_col92.clone()) + + carry_tmp_f459_39.clone()) - dst_limb_22_col34.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1038.clone() - * ((carry_tmp_1038.clone() * carry_tmp_1038.clone()) - M31_1.clone())), + (carry_tmp_f459_40.clone() + * ((carry_tmp_f459_40.clone() * carry_tmp_f459_40.clone()) - M31_1.clone())), ); - let carry_tmp_1039 = (((((op0_limb_23_col64.clone() + op1_limb_23_col93.clone()) - + carry_tmp_1038.clone()) + let carry_tmp_f459_41 = (((((op0_limb_23_col64.clone() + op1_limb_23_col93.clone()) + + carry_tmp_f459_40.clone()) - dst_limb_23_col35.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1039.clone() - * ((carry_tmp_1039.clone() * carry_tmp_1039.clone()) - M31_1.clone())), + (carry_tmp_f459_41.clone() + * ((carry_tmp_f459_41.clone() * carry_tmp_f459_41.clone()) - M31_1.clone())), ); - let carry_tmp_1040 = (((((op0_limb_24_col65.clone() + op1_limb_24_col94.clone()) - + carry_tmp_1039.clone()) + let carry_tmp_f459_42 = (((((op0_limb_24_col65.clone() + op1_limb_24_col94.clone()) + + carry_tmp_f459_41.clone()) - dst_limb_24_col36.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1040.clone() - * ((carry_tmp_1040.clone() * carry_tmp_1040.clone()) - M31_1.clone())), + (carry_tmp_f459_42.clone() + * ((carry_tmp_f459_42.clone() * carry_tmp_f459_42.clone()) - M31_1.clone())), ); - let carry_tmp_1041 = (((((op0_limb_25_col66.clone() + op1_limb_25_col95.clone()) - + carry_tmp_1040.clone()) + let carry_tmp_f459_43 = (((((op0_limb_25_col66.clone() + op1_limb_25_col95.clone()) + + carry_tmp_f459_42.clone()) - dst_limb_25_col37.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1041.clone() - * ((carry_tmp_1041.clone() * carry_tmp_1041.clone()) - M31_1.clone())), + (carry_tmp_f459_43.clone() + * ((carry_tmp_f459_43.clone() * carry_tmp_f459_43.clone()) - M31_1.clone())), ); - let carry_tmp_1042 = (((((op0_limb_26_col67.clone() + op1_limb_26_col96.clone()) - + carry_tmp_1041.clone()) + let carry_tmp_f459_44 = (((((op0_limb_26_col67.clone() + op1_limb_26_col96.clone()) + + carry_tmp_f459_43.clone()) - dst_limb_26_col38.clone()) - (M31_0.clone() * sub_p_bit_col98.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1042.clone() - * ((carry_tmp_1042.clone() * carry_tmp_1042.clone()) - M31_1.clone())), + (carry_tmp_f459_44.clone() + * ((carry_tmp_f459_44.clone() * carry_tmp_f459_44.clone()) - M31_1.clone())), ); eval.add_constraint( - ((((op0_limb_27_col68.clone() + op1_limb_27_col97.clone()) + carry_tmp_1042.clone()) + ((((op0_limb_27_col68.clone() + op1_limb_27_col97.clone()) + + carry_tmp_f459_44.clone()) - dst_limb_27_col39.clone()) - (M31_256.clone() * sub_p_bit_col98.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -622,9 +623,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -632,7 +633,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col10.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/prover.rs index e0562af2..8c0088ef 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_f/prover.rs @@ -190,91 +190,91 @@ pub fn write_trace_simd( .into_iter() .enumerate() .for_each(|(row_index, add_opcode_is_small_f_is_imm_f_input)| { - let input_tmp_986 = add_opcode_is_small_f_is_imm_f_input; - let input_pc_col0 = input_tmp_986.pc; + let input_tmp_f459_0 = add_opcode_is_small_f_is_imm_f_input; + let input_pc_col0 = input_tmp_f459_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_986.ap; + let input_ap_col1 = input_tmp_f459_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_986.fp; + let input_fp_col2 = input_tmp_f459_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_52ce7a4a3d9be19a. + // DecodeInstruction_52ce7a4a3d9be19a. - let memory_address_to_id_value_tmp_998 = + let memoryaddresstoid_value_tmp_f459_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_999 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_998); - let offset0_tmp_1000 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(1))) + let memoryidtobig_value_tmp_f459_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f459_1); + let offset0_tmp_f459_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1000.as_m31(); + let offset0_col3 = offset0_tmp_f459_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_1001 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(1))) + let offset1_tmp_f459_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_1001.as_m31(); + let offset1_col4 = offset1_tmp_f459_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let offset2_tmp_1002 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(3))) + let offset2_tmp_f459_5 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col5 = offset2_tmp_1002.as_m31(); + let offset2_col5 = offset2_tmp_f459_5.as_m31(); trace[5].data[row_index] = offset2_col5; - let dst_base_fp_tmp_1003 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(5))) + let dst_base_fp_tmp_f459_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col6 = dst_base_fp_tmp_1003.as_m31(); + let dst_base_fp_col6 = dst_base_fp_tmp_f459_6.as_m31(); trace[6].data[row_index] = dst_base_fp_col6; - let op0_base_fp_tmp_1004 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(5))) + let op0_base_fp_tmp_f459_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col7 = op0_base_fp_tmp_1004.as_m31(); + let op0_base_fp_col7 = op0_base_fp_tmp_f459_7.as_m31(); trace[7].data[row_index] = op0_base_fp_col7; - let op1_base_fp_tmp_1005 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(5))) + let op1_base_fp_tmp_f459_8 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(6))) << (UInt16_6))) >> (UInt16_3)) & (UInt16_1)); - let op1_base_fp_col8 = op1_base_fp_tmp_1005.as_m31(); + let op1_base_fp_col8 = op1_base_fp_tmp_f459_8.as_m31(); trace[8].data[row_index] = op1_base_fp_col8; - let op1_base_ap_tmp_1006 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(5))) + let op1_base_ap_tmp_f459_9 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(6))) << (UInt16_6))) >> (UInt16_4)) & (UInt16_1)); - let op1_base_ap_col9 = op1_base_ap_tmp_1006.as_m31(); + let op1_base_ap_col9 = op1_base_ap_tmp_f459_9.as_m31(); trace[9].data[row_index] = op1_base_ap_col9; - let ap_update_add_1_tmp_1007 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(5))) + let ap_update_add_1_tmp_f459_10 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_999.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f459_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col10 = ap_update_add_1_tmp_1007.as_m31(); + let ap_update_add_1_col10 = ap_update_add_1_tmp_f459_10.as_m31(); trace[10].data[row_index] = ap_update_add_1_col10; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -324,16 +324,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1009 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_f459_11 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col6)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1010 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1009); - let dst_id_col11 = memory_address_to_id_value_tmp_1009; + let memoryidtobig_value_tmp_f459_12 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f459_11); + let dst_id_col11 = memoryaddresstoid_value_tmp_f459_11; trace[11].data[row_index] = dst_id_col11; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col6) * (input_fp_col2)) @@ -348,61 +348,61 @@ pub fn write_trace_simd( + ((offset0_col3) - (M31_32768))), dst_id_col11, ]); - let dst_limb_0_col12 = memory_id_to_big_value_tmp_1010.get_m31(0); + let dst_limb_0_col12 = memoryidtobig_value_tmp_f459_12.get_m31(0); trace[12].data[row_index] = dst_limb_0_col12; - let dst_limb_1_col13 = memory_id_to_big_value_tmp_1010.get_m31(1); + let dst_limb_1_col13 = memoryidtobig_value_tmp_f459_12.get_m31(1); trace[13].data[row_index] = dst_limb_1_col13; - let dst_limb_2_col14 = memory_id_to_big_value_tmp_1010.get_m31(2); + let dst_limb_2_col14 = memoryidtobig_value_tmp_f459_12.get_m31(2); trace[14].data[row_index] = dst_limb_2_col14; - let dst_limb_3_col15 = memory_id_to_big_value_tmp_1010.get_m31(3); + let dst_limb_3_col15 = memoryidtobig_value_tmp_f459_12.get_m31(3); trace[15].data[row_index] = dst_limb_3_col15; - let dst_limb_4_col16 = memory_id_to_big_value_tmp_1010.get_m31(4); + let dst_limb_4_col16 = memoryidtobig_value_tmp_f459_12.get_m31(4); trace[16].data[row_index] = dst_limb_4_col16; - let dst_limb_5_col17 = memory_id_to_big_value_tmp_1010.get_m31(5); + let dst_limb_5_col17 = memoryidtobig_value_tmp_f459_12.get_m31(5); trace[17].data[row_index] = dst_limb_5_col17; - let dst_limb_6_col18 = memory_id_to_big_value_tmp_1010.get_m31(6); + let dst_limb_6_col18 = memoryidtobig_value_tmp_f459_12.get_m31(6); trace[18].data[row_index] = dst_limb_6_col18; - let dst_limb_7_col19 = memory_id_to_big_value_tmp_1010.get_m31(7); + let dst_limb_7_col19 = memoryidtobig_value_tmp_f459_12.get_m31(7); trace[19].data[row_index] = dst_limb_7_col19; - let dst_limb_8_col20 = memory_id_to_big_value_tmp_1010.get_m31(8); + let dst_limb_8_col20 = memoryidtobig_value_tmp_f459_12.get_m31(8); trace[20].data[row_index] = dst_limb_8_col20; - let dst_limb_9_col21 = memory_id_to_big_value_tmp_1010.get_m31(9); + let dst_limb_9_col21 = memoryidtobig_value_tmp_f459_12.get_m31(9); trace[21].data[row_index] = dst_limb_9_col21; - let dst_limb_10_col22 = memory_id_to_big_value_tmp_1010.get_m31(10); + let dst_limb_10_col22 = memoryidtobig_value_tmp_f459_12.get_m31(10); trace[22].data[row_index] = dst_limb_10_col22; - let dst_limb_11_col23 = memory_id_to_big_value_tmp_1010.get_m31(11); + let dst_limb_11_col23 = memoryidtobig_value_tmp_f459_12.get_m31(11); trace[23].data[row_index] = dst_limb_11_col23; - let dst_limb_12_col24 = memory_id_to_big_value_tmp_1010.get_m31(12); + let dst_limb_12_col24 = memoryidtobig_value_tmp_f459_12.get_m31(12); trace[24].data[row_index] = dst_limb_12_col24; - let dst_limb_13_col25 = memory_id_to_big_value_tmp_1010.get_m31(13); + let dst_limb_13_col25 = memoryidtobig_value_tmp_f459_12.get_m31(13); trace[25].data[row_index] = dst_limb_13_col25; - let dst_limb_14_col26 = memory_id_to_big_value_tmp_1010.get_m31(14); + let dst_limb_14_col26 = memoryidtobig_value_tmp_f459_12.get_m31(14); trace[26].data[row_index] = dst_limb_14_col26; - let dst_limb_15_col27 = memory_id_to_big_value_tmp_1010.get_m31(15); + let dst_limb_15_col27 = memoryidtobig_value_tmp_f459_12.get_m31(15); trace[27].data[row_index] = dst_limb_15_col27; - let dst_limb_16_col28 = memory_id_to_big_value_tmp_1010.get_m31(16); + let dst_limb_16_col28 = memoryidtobig_value_tmp_f459_12.get_m31(16); trace[28].data[row_index] = dst_limb_16_col28; - let dst_limb_17_col29 = memory_id_to_big_value_tmp_1010.get_m31(17); + let dst_limb_17_col29 = memoryidtobig_value_tmp_f459_12.get_m31(17); trace[29].data[row_index] = dst_limb_17_col29; - let dst_limb_18_col30 = memory_id_to_big_value_tmp_1010.get_m31(18); + let dst_limb_18_col30 = memoryidtobig_value_tmp_f459_12.get_m31(18); trace[30].data[row_index] = dst_limb_18_col30; - let dst_limb_19_col31 = memory_id_to_big_value_tmp_1010.get_m31(19); + let dst_limb_19_col31 = memoryidtobig_value_tmp_f459_12.get_m31(19); trace[31].data[row_index] = dst_limb_19_col31; - let dst_limb_20_col32 = memory_id_to_big_value_tmp_1010.get_m31(20); + let dst_limb_20_col32 = memoryidtobig_value_tmp_f459_12.get_m31(20); trace[32].data[row_index] = dst_limb_20_col32; - let dst_limb_21_col33 = memory_id_to_big_value_tmp_1010.get_m31(21); + let dst_limb_21_col33 = memoryidtobig_value_tmp_f459_12.get_m31(21); trace[33].data[row_index] = dst_limb_21_col33; - let dst_limb_22_col34 = memory_id_to_big_value_tmp_1010.get_m31(22); + let dst_limb_22_col34 = memoryidtobig_value_tmp_f459_12.get_m31(22); trace[34].data[row_index] = dst_limb_22_col34; - let dst_limb_23_col35 = memory_id_to_big_value_tmp_1010.get_m31(23); + let dst_limb_23_col35 = memoryidtobig_value_tmp_f459_12.get_m31(23); trace[35].data[row_index] = dst_limb_23_col35; - let dst_limb_24_col36 = memory_id_to_big_value_tmp_1010.get_m31(24); + let dst_limb_24_col36 = memoryidtobig_value_tmp_f459_12.get_m31(24); trace[36].data[row_index] = dst_limb_24_col36; - let dst_limb_25_col37 = memory_id_to_big_value_tmp_1010.get_m31(25); + let dst_limb_25_col37 = memoryidtobig_value_tmp_f459_12.get_m31(25); trace[37].data[row_index] = dst_limb_25_col37; - let dst_limb_26_col38 = memory_id_to_big_value_tmp_1010.get_m31(26); + let dst_limb_26_col38 = memoryidtobig_value_tmp_f459_12.get_m31(26); trace[38].data[row_index] = dst_limb_26_col38; - let dst_limb_27_col39 = memory_id_to_big_value_tmp_1010.get_m31(27); + let dst_limb_27_col39 = memoryidtobig_value_tmp_f459_12.get_m31(27); trace[39].data[row_index] = dst_limb_27_col39; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col11.unpack()); @@ -438,16 +438,16 @@ pub fn write_trace_simd( dst_limb_27_col39, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1011 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_f459_13 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col7) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col7)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1012 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1011); - let op0_id_col40 = memory_address_to_id_value_tmp_1011; + let memoryidtobig_value_tmp_f459_14 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f459_13); + let op0_id_col40 = memoryaddresstoid_value_tmp_f459_13; trace[40].data[row_index] = op0_id_col40; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((op0_base_fp_col7) * (input_fp_col2)) @@ -462,61 +462,61 @@ pub fn write_trace_simd( + ((offset1_col4) - (M31_32768))), op0_id_col40, ]); - let op0_limb_0_col41 = memory_id_to_big_value_tmp_1012.get_m31(0); + let op0_limb_0_col41 = memoryidtobig_value_tmp_f459_14.get_m31(0); trace[41].data[row_index] = op0_limb_0_col41; - let op0_limb_1_col42 = memory_id_to_big_value_tmp_1012.get_m31(1); + let op0_limb_1_col42 = memoryidtobig_value_tmp_f459_14.get_m31(1); trace[42].data[row_index] = op0_limb_1_col42; - let op0_limb_2_col43 = memory_id_to_big_value_tmp_1012.get_m31(2); + let op0_limb_2_col43 = memoryidtobig_value_tmp_f459_14.get_m31(2); trace[43].data[row_index] = op0_limb_2_col43; - let op0_limb_3_col44 = memory_id_to_big_value_tmp_1012.get_m31(3); + let op0_limb_3_col44 = memoryidtobig_value_tmp_f459_14.get_m31(3); trace[44].data[row_index] = op0_limb_3_col44; - let op0_limb_4_col45 = memory_id_to_big_value_tmp_1012.get_m31(4); + let op0_limb_4_col45 = memoryidtobig_value_tmp_f459_14.get_m31(4); trace[45].data[row_index] = op0_limb_4_col45; - let op0_limb_5_col46 = memory_id_to_big_value_tmp_1012.get_m31(5); + let op0_limb_5_col46 = memoryidtobig_value_tmp_f459_14.get_m31(5); trace[46].data[row_index] = op0_limb_5_col46; - let op0_limb_6_col47 = memory_id_to_big_value_tmp_1012.get_m31(6); + let op0_limb_6_col47 = memoryidtobig_value_tmp_f459_14.get_m31(6); trace[47].data[row_index] = op0_limb_6_col47; - let op0_limb_7_col48 = memory_id_to_big_value_tmp_1012.get_m31(7); + let op0_limb_7_col48 = memoryidtobig_value_tmp_f459_14.get_m31(7); trace[48].data[row_index] = op0_limb_7_col48; - let op0_limb_8_col49 = memory_id_to_big_value_tmp_1012.get_m31(8); + let op0_limb_8_col49 = memoryidtobig_value_tmp_f459_14.get_m31(8); trace[49].data[row_index] = op0_limb_8_col49; - let op0_limb_9_col50 = memory_id_to_big_value_tmp_1012.get_m31(9); + let op0_limb_9_col50 = memoryidtobig_value_tmp_f459_14.get_m31(9); trace[50].data[row_index] = op0_limb_9_col50; - let op0_limb_10_col51 = memory_id_to_big_value_tmp_1012.get_m31(10); + let op0_limb_10_col51 = memoryidtobig_value_tmp_f459_14.get_m31(10); trace[51].data[row_index] = op0_limb_10_col51; - let op0_limb_11_col52 = memory_id_to_big_value_tmp_1012.get_m31(11); + let op0_limb_11_col52 = memoryidtobig_value_tmp_f459_14.get_m31(11); trace[52].data[row_index] = op0_limb_11_col52; - let op0_limb_12_col53 = memory_id_to_big_value_tmp_1012.get_m31(12); + let op0_limb_12_col53 = memoryidtobig_value_tmp_f459_14.get_m31(12); trace[53].data[row_index] = op0_limb_12_col53; - let op0_limb_13_col54 = memory_id_to_big_value_tmp_1012.get_m31(13); + let op0_limb_13_col54 = memoryidtobig_value_tmp_f459_14.get_m31(13); trace[54].data[row_index] = op0_limb_13_col54; - let op0_limb_14_col55 = memory_id_to_big_value_tmp_1012.get_m31(14); + let op0_limb_14_col55 = memoryidtobig_value_tmp_f459_14.get_m31(14); trace[55].data[row_index] = op0_limb_14_col55; - let op0_limb_15_col56 = memory_id_to_big_value_tmp_1012.get_m31(15); + let op0_limb_15_col56 = memoryidtobig_value_tmp_f459_14.get_m31(15); trace[56].data[row_index] = op0_limb_15_col56; - let op0_limb_16_col57 = memory_id_to_big_value_tmp_1012.get_m31(16); + let op0_limb_16_col57 = memoryidtobig_value_tmp_f459_14.get_m31(16); trace[57].data[row_index] = op0_limb_16_col57; - let op0_limb_17_col58 = memory_id_to_big_value_tmp_1012.get_m31(17); + let op0_limb_17_col58 = memoryidtobig_value_tmp_f459_14.get_m31(17); trace[58].data[row_index] = op0_limb_17_col58; - let op0_limb_18_col59 = memory_id_to_big_value_tmp_1012.get_m31(18); + let op0_limb_18_col59 = memoryidtobig_value_tmp_f459_14.get_m31(18); trace[59].data[row_index] = op0_limb_18_col59; - let op0_limb_19_col60 = memory_id_to_big_value_tmp_1012.get_m31(19); + let op0_limb_19_col60 = memoryidtobig_value_tmp_f459_14.get_m31(19); trace[60].data[row_index] = op0_limb_19_col60; - let op0_limb_20_col61 = memory_id_to_big_value_tmp_1012.get_m31(20); + let op0_limb_20_col61 = memoryidtobig_value_tmp_f459_14.get_m31(20); trace[61].data[row_index] = op0_limb_20_col61; - let op0_limb_21_col62 = memory_id_to_big_value_tmp_1012.get_m31(21); + let op0_limb_21_col62 = memoryidtobig_value_tmp_f459_14.get_m31(21); trace[62].data[row_index] = op0_limb_21_col62; - let op0_limb_22_col63 = memory_id_to_big_value_tmp_1012.get_m31(22); + let op0_limb_22_col63 = memoryidtobig_value_tmp_f459_14.get_m31(22); trace[63].data[row_index] = op0_limb_22_col63; - let op0_limb_23_col64 = memory_id_to_big_value_tmp_1012.get_m31(23); + let op0_limb_23_col64 = memoryidtobig_value_tmp_f459_14.get_m31(23); trace[64].data[row_index] = op0_limb_23_col64; - let op0_limb_24_col65 = memory_id_to_big_value_tmp_1012.get_m31(24); + let op0_limb_24_col65 = memoryidtobig_value_tmp_f459_14.get_m31(24); trace[65].data[row_index] = op0_limb_24_col65; - let op0_limb_25_col66 = memory_id_to_big_value_tmp_1012.get_m31(25); + let op0_limb_25_col66 = memoryidtobig_value_tmp_f459_14.get_m31(25); trace[66].data[row_index] = op0_limb_25_col66; - let op0_limb_26_col67 = memory_id_to_big_value_tmp_1012.get_m31(26); + let op0_limb_26_col67 = memoryidtobig_value_tmp_f459_14.get_m31(26); trace[67].data[row_index] = op0_limb_26_col67; - let op0_limb_27_col68 = memory_id_to_big_value_tmp_1012.get_m31(27); + let op0_limb_27_col68 = memoryidtobig_value_tmp_f459_14.get_m31(27); trace[68].data[row_index] = op0_limb_27_col68; sub_components_inputs.memory_id_to_big_inputs[1].extend(op0_id_col40.unpack()); @@ -552,15 +552,15 @@ pub fn write_trace_simd( op0_limb_27_col68, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1013 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_f459_15 = memory_address_to_id_state.deduce_output( ((((op1_base_fp_col8) * (input_fp_col2)) + ((op1_base_ap_col9) * (input_ap_col1))) + ((offset2_col5) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1014 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1013); - let op1_id_col69 = memory_address_to_id_value_tmp_1013; + let memoryidtobig_value_tmp_f459_16 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f459_15); + let op1_id_col69 = memoryaddresstoid_value_tmp_f459_15; trace[69].data[row_index] = op1_id_col69; sub_components_inputs.memory_address_to_id_inputs[2].extend( ((((op1_base_fp_col8) * (input_fp_col2)) + ((op1_base_ap_col9) * (input_ap_col1))) @@ -573,61 +573,61 @@ pub fn write_trace_simd( + ((offset2_col5) - (M31_32768))), op1_id_col69, ]); - let op1_limb_0_col70 = memory_id_to_big_value_tmp_1014.get_m31(0); + let op1_limb_0_col70 = memoryidtobig_value_tmp_f459_16.get_m31(0); trace[70].data[row_index] = op1_limb_0_col70; - let op1_limb_1_col71 = memory_id_to_big_value_tmp_1014.get_m31(1); + let op1_limb_1_col71 = memoryidtobig_value_tmp_f459_16.get_m31(1); trace[71].data[row_index] = op1_limb_1_col71; - let op1_limb_2_col72 = memory_id_to_big_value_tmp_1014.get_m31(2); + let op1_limb_2_col72 = memoryidtobig_value_tmp_f459_16.get_m31(2); trace[72].data[row_index] = op1_limb_2_col72; - let op1_limb_3_col73 = memory_id_to_big_value_tmp_1014.get_m31(3); + let op1_limb_3_col73 = memoryidtobig_value_tmp_f459_16.get_m31(3); trace[73].data[row_index] = op1_limb_3_col73; - let op1_limb_4_col74 = memory_id_to_big_value_tmp_1014.get_m31(4); + let op1_limb_4_col74 = memoryidtobig_value_tmp_f459_16.get_m31(4); trace[74].data[row_index] = op1_limb_4_col74; - let op1_limb_5_col75 = memory_id_to_big_value_tmp_1014.get_m31(5); + let op1_limb_5_col75 = memoryidtobig_value_tmp_f459_16.get_m31(5); trace[75].data[row_index] = op1_limb_5_col75; - let op1_limb_6_col76 = memory_id_to_big_value_tmp_1014.get_m31(6); + let op1_limb_6_col76 = memoryidtobig_value_tmp_f459_16.get_m31(6); trace[76].data[row_index] = op1_limb_6_col76; - let op1_limb_7_col77 = memory_id_to_big_value_tmp_1014.get_m31(7); + let op1_limb_7_col77 = memoryidtobig_value_tmp_f459_16.get_m31(7); trace[77].data[row_index] = op1_limb_7_col77; - let op1_limb_8_col78 = memory_id_to_big_value_tmp_1014.get_m31(8); + let op1_limb_8_col78 = memoryidtobig_value_tmp_f459_16.get_m31(8); trace[78].data[row_index] = op1_limb_8_col78; - let op1_limb_9_col79 = memory_id_to_big_value_tmp_1014.get_m31(9); + let op1_limb_9_col79 = memoryidtobig_value_tmp_f459_16.get_m31(9); trace[79].data[row_index] = op1_limb_9_col79; - let op1_limb_10_col80 = memory_id_to_big_value_tmp_1014.get_m31(10); + let op1_limb_10_col80 = memoryidtobig_value_tmp_f459_16.get_m31(10); trace[80].data[row_index] = op1_limb_10_col80; - let op1_limb_11_col81 = memory_id_to_big_value_tmp_1014.get_m31(11); + let op1_limb_11_col81 = memoryidtobig_value_tmp_f459_16.get_m31(11); trace[81].data[row_index] = op1_limb_11_col81; - let op1_limb_12_col82 = memory_id_to_big_value_tmp_1014.get_m31(12); + let op1_limb_12_col82 = memoryidtobig_value_tmp_f459_16.get_m31(12); trace[82].data[row_index] = op1_limb_12_col82; - let op1_limb_13_col83 = memory_id_to_big_value_tmp_1014.get_m31(13); + let op1_limb_13_col83 = memoryidtobig_value_tmp_f459_16.get_m31(13); trace[83].data[row_index] = op1_limb_13_col83; - let op1_limb_14_col84 = memory_id_to_big_value_tmp_1014.get_m31(14); + let op1_limb_14_col84 = memoryidtobig_value_tmp_f459_16.get_m31(14); trace[84].data[row_index] = op1_limb_14_col84; - let op1_limb_15_col85 = memory_id_to_big_value_tmp_1014.get_m31(15); + let op1_limb_15_col85 = memoryidtobig_value_tmp_f459_16.get_m31(15); trace[85].data[row_index] = op1_limb_15_col85; - let op1_limb_16_col86 = memory_id_to_big_value_tmp_1014.get_m31(16); + let op1_limb_16_col86 = memoryidtobig_value_tmp_f459_16.get_m31(16); trace[86].data[row_index] = op1_limb_16_col86; - let op1_limb_17_col87 = memory_id_to_big_value_tmp_1014.get_m31(17); + let op1_limb_17_col87 = memoryidtobig_value_tmp_f459_16.get_m31(17); trace[87].data[row_index] = op1_limb_17_col87; - let op1_limb_18_col88 = memory_id_to_big_value_tmp_1014.get_m31(18); + let op1_limb_18_col88 = memoryidtobig_value_tmp_f459_16.get_m31(18); trace[88].data[row_index] = op1_limb_18_col88; - let op1_limb_19_col89 = memory_id_to_big_value_tmp_1014.get_m31(19); + let op1_limb_19_col89 = memoryidtobig_value_tmp_f459_16.get_m31(19); trace[89].data[row_index] = op1_limb_19_col89; - let op1_limb_20_col90 = memory_id_to_big_value_tmp_1014.get_m31(20); + let op1_limb_20_col90 = memoryidtobig_value_tmp_f459_16.get_m31(20); trace[90].data[row_index] = op1_limb_20_col90; - let op1_limb_21_col91 = memory_id_to_big_value_tmp_1014.get_m31(21); + let op1_limb_21_col91 = memoryidtobig_value_tmp_f459_16.get_m31(21); trace[91].data[row_index] = op1_limb_21_col91; - let op1_limb_22_col92 = memory_id_to_big_value_tmp_1014.get_m31(22); + let op1_limb_22_col92 = memoryidtobig_value_tmp_f459_16.get_m31(22); trace[92].data[row_index] = op1_limb_22_col92; - let op1_limb_23_col93 = memory_id_to_big_value_tmp_1014.get_m31(23); + let op1_limb_23_col93 = memoryidtobig_value_tmp_f459_16.get_m31(23); trace[93].data[row_index] = op1_limb_23_col93; - let op1_limb_24_col94 = memory_id_to_big_value_tmp_1014.get_m31(24); + let op1_limb_24_col94 = memoryidtobig_value_tmp_f459_16.get_m31(24); trace[94].data[row_index] = op1_limb_24_col94; - let op1_limb_25_col95 = memory_id_to_big_value_tmp_1014.get_m31(25); + let op1_limb_25_col95 = memoryidtobig_value_tmp_f459_16.get_m31(25); trace[95].data[row_index] = op1_limb_25_col95; - let op1_limb_26_col96 = memory_id_to_big_value_tmp_1014.get_m31(26); + let op1_limb_26_col96 = memoryidtobig_value_tmp_f459_16.get_m31(26); trace[96].data[row_index] = op1_limb_26_col96; - let op1_limb_27_col97 = memory_id_to_big_value_tmp_1014.get_m31(27); + let op1_limb_27_col97 = memoryidtobig_value_tmp_f459_16.get_m31(27); trace[97].data[row_index] = op1_limb_27_col97; sub_components_inputs.memory_id_to_big_inputs[2].extend(op1_id_col69.unpack()); @@ -663,13 +663,13 @@ pub fn write_trace_simd( op1_limb_27_col97, ]); - // verify_add252. + // VerifyAdd252. - let sub_p_bit_tmp_1015 = ((UInt16_1) + let sub_p_bit_tmp_f459_17 = ((UInt16_1) & (((PackedUInt16::from_m31(op0_limb_0_col41)) ^ (PackedUInt16::from_m31(op1_limb_0_col70))) ^ (PackedUInt16::from_m31(dst_limb_0_col12)))); - let sub_p_bit_col98 = sub_p_bit_tmp_1015.as_m31(); + let sub_p_bit_col98 = sub_p_bit_tmp_f459_17.as_m31(); trace[98].data[row_index] = sub_p_bit_col98; lookup_data.opcodes[0].push([input_pc_col0, input_ap_col1, input_fp_col2]); diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/component.rs index af331975..e4b744b8 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/component.rs @@ -180,9 +180,9 @@ impl FrameworkEval for Eval { let op1_limb_27_col94 = eval.next_trace_mask(); let sub_p_bit_col95 = eval.next_trace_mask(); - // decode_instruction_9aed6a790187299c. + // DecodeInstruction_9aed6a790187299c. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -206,11 +206,11 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -219,9 +219,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col8.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -255,11 +255,11 @@ impl FrameworkEval for Eval { dst_limb_26_col35.clone(), dst_limb_27_col36.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -268,9 +268,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col37.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -304,20 +304,20 @@ impl FrameworkEval for Eval { op0_limb_26_col64.clone(), op0_limb_27_col65.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), op1_id_col66.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -351,262 +351,263 @@ impl FrameworkEval for Eval { op1_limb_26_col93.clone(), op1_limb_27_col94.clone(), ], - )]); + )); - // verify_add252. + // VerifyAdd252. // sub_p_bit is a bit. eval.add_constraint((sub_p_bit_col95.clone() * (sub_p_bit_col95.clone() - M31_1.clone()))); - let carry_tmp_1083 = (((((op0_limb_0_col38.clone() + op1_limb_0_col67.clone()) + let carry_tmp_f0ae_15 = (((((op0_limb_0_col38.clone() + op1_limb_0_col67.clone()) + M31_0.clone()) - dst_limb_0_col9.clone()) - (M31_1.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1083.clone() - * ((carry_tmp_1083.clone() * carry_tmp_1083.clone()) - M31_1.clone())), + (carry_tmp_f0ae_15.clone() + * ((carry_tmp_f0ae_15.clone() * carry_tmp_f0ae_15.clone()) - M31_1.clone())), ); - let carry_tmp_1084 = (((((op0_limb_1_col39.clone() + op1_limb_1_col68.clone()) - + carry_tmp_1083.clone()) + let carry_tmp_f0ae_16 = (((((op0_limb_1_col39.clone() + op1_limb_1_col68.clone()) + + carry_tmp_f0ae_15.clone()) - dst_limb_1_col10.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1084.clone() - * ((carry_tmp_1084.clone() * carry_tmp_1084.clone()) - M31_1.clone())), + (carry_tmp_f0ae_16.clone() + * ((carry_tmp_f0ae_16.clone() * carry_tmp_f0ae_16.clone()) - M31_1.clone())), ); - let carry_tmp_1085 = (((((op0_limb_2_col40.clone() + op1_limb_2_col69.clone()) - + carry_tmp_1084.clone()) + let carry_tmp_f0ae_17 = (((((op0_limb_2_col40.clone() + op1_limb_2_col69.clone()) + + carry_tmp_f0ae_16.clone()) - dst_limb_2_col11.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1085.clone() - * ((carry_tmp_1085.clone() * carry_tmp_1085.clone()) - M31_1.clone())), + (carry_tmp_f0ae_17.clone() + * ((carry_tmp_f0ae_17.clone() * carry_tmp_f0ae_17.clone()) - M31_1.clone())), ); - let carry_tmp_1086 = (((((op0_limb_3_col41.clone() + op1_limb_3_col70.clone()) - + carry_tmp_1085.clone()) + let carry_tmp_f0ae_18 = (((((op0_limb_3_col41.clone() + op1_limb_3_col70.clone()) + + carry_tmp_f0ae_17.clone()) - dst_limb_3_col12.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1086.clone() - * ((carry_tmp_1086.clone() * carry_tmp_1086.clone()) - M31_1.clone())), + (carry_tmp_f0ae_18.clone() + * ((carry_tmp_f0ae_18.clone() * carry_tmp_f0ae_18.clone()) - M31_1.clone())), ); - let carry_tmp_1087 = (((((op0_limb_4_col42.clone() + op1_limb_4_col71.clone()) - + carry_tmp_1086.clone()) + let carry_tmp_f0ae_19 = (((((op0_limb_4_col42.clone() + op1_limb_4_col71.clone()) + + carry_tmp_f0ae_18.clone()) - dst_limb_4_col13.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1087.clone() - * ((carry_tmp_1087.clone() * carry_tmp_1087.clone()) - M31_1.clone())), + (carry_tmp_f0ae_19.clone() + * ((carry_tmp_f0ae_19.clone() * carry_tmp_f0ae_19.clone()) - M31_1.clone())), ); - let carry_tmp_1088 = (((((op0_limb_5_col43.clone() + op1_limb_5_col72.clone()) - + carry_tmp_1087.clone()) + let carry_tmp_f0ae_20 = (((((op0_limb_5_col43.clone() + op1_limb_5_col72.clone()) + + carry_tmp_f0ae_19.clone()) - dst_limb_5_col14.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1088.clone() - * ((carry_tmp_1088.clone() * carry_tmp_1088.clone()) - M31_1.clone())), + (carry_tmp_f0ae_20.clone() + * ((carry_tmp_f0ae_20.clone() * carry_tmp_f0ae_20.clone()) - M31_1.clone())), ); - let carry_tmp_1089 = (((((op0_limb_6_col44.clone() + op1_limb_6_col73.clone()) - + carry_tmp_1088.clone()) + let carry_tmp_f0ae_21 = (((((op0_limb_6_col44.clone() + op1_limb_6_col73.clone()) + + carry_tmp_f0ae_20.clone()) - dst_limb_6_col15.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1089.clone() - * ((carry_tmp_1089.clone() * carry_tmp_1089.clone()) - M31_1.clone())), + (carry_tmp_f0ae_21.clone() + * ((carry_tmp_f0ae_21.clone() * carry_tmp_f0ae_21.clone()) - M31_1.clone())), ); - let carry_tmp_1090 = (((((op0_limb_7_col45.clone() + op1_limb_7_col74.clone()) - + carry_tmp_1089.clone()) + let carry_tmp_f0ae_22 = (((((op0_limb_7_col45.clone() + op1_limb_7_col74.clone()) + + carry_tmp_f0ae_21.clone()) - dst_limb_7_col16.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1090.clone() - * ((carry_tmp_1090.clone() * carry_tmp_1090.clone()) - M31_1.clone())), + (carry_tmp_f0ae_22.clone() + * ((carry_tmp_f0ae_22.clone() * carry_tmp_f0ae_22.clone()) - M31_1.clone())), ); - let carry_tmp_1091 = (((((op0_limb_8_col46.clone() + op1_limb_8_col75.clone()) - + carry_tmp_1090.clone()) + let carry_tmp_f0ae_23 = (((((op0_limb_8_col46.clone() + op1_limb_8_col75.clone()) + + carry_tmp_f0ae_22.clone()) - dst_limb_8_col17.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1091.clone() - * ((carry_tmp_1091.clone() * carry_tmp_1091.clone()) - M31_1.clone())), + (carry_tmp_f0ae_23.clone() + * ((carry_tmp_f0ae_23.clone() * carry_tmp_f0ae_23.clone()) - M31_1.clone())), ); - let carry_tmp_1092 = (((((op0_limb_9_col47.clone() + op1_limb_9_col76.clone()) - + carry_tmp_1091.clone()) + let carry_tmp_f0ae_24 = (((((op0_limb_9_col47.clone() + op1_limb_9_col76.clone()) + + carry_tmp_f0ae_23.clone()) - dst_limb_9_col18.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1092.clone() - * ((carry_tmp_1092.clone() * carry_tmp_1092.clone()) - M31_1.clone())), + (carry_tmp_f0ae_24.clone() + * ((carry_tmp_f0ae_24.clone() * carry_tmp_f0ae_24.clone()) - M31_1.clone())), ); - let carry_tmp_1093 = (((((op0_limb_10_col48.clone() + op1_limb_10_col77.clone()) - + carry_tmp_1092.clone()) + let carry_tmp_f0ae_25 = (((((op0_limb_10_col48.clone() + op1_limb_10_col77.clone()) + + carry_tmp_f0ae_24.clone()) - dst_limb_10_col19.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1093.clone() - * ((carry_tmp_1093.clone() * carry_tmp_1093.clone()) - M31_1.clone())), + (carry_tmp_f0ae_25.clone() + * ((carry_tmp_f0ae_25.clone() * carry_tmp_f0ae_25.clone()) - M31_1.clone())), ); - let carry_tmp_1094 = (((((op0_limb_11_col49.clone() + op1_limb_11_col78.clone()) - + carry_tmp_1093.clone()) + let carry_tmp_f0ae_26 = (((((op0_limb_11_col49.clone() + op1_limb_11_col78.clone()) + + carry_tmp_f0ae_25.clone()) - dst_limb_11_col20.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1094.clone() - * ((carry_tmp_1094.clone() * carry_tmp_1094.clone()) - M31_1.clone())), + (carry_tmp_f0ae_26.clone() + * ((carry_tmp_f0ae_26.clone() * carry_tmp_f0ae_26.clone()) - M31_1.clone())), ); - let carry_tmp_1095 = (((((op0_limb_12_col50.clone() + op1_limb_12_col79.clone()) - + carry_tmp_1094.clone()) + let carry_tmp_f0ae_27 = (((((op0_limb_12_col50.clone() + op1_limb_12_col79.clone()) + + carry_tmp_f0ae_26.clone()) - dst_limb_12_col21.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1095.clone() - * ((carry_tmp_1095.clone() * carry_tmp_1095.clone()) - M31_1.clone())), + (carry_tmp_f0ae_27.clone() + * ((carry_tmp_f0ae_27.clone() * carry_tmp_f0ae_27.clone()) - M31_1.clone())), ); - let carry_tmp_1096 = (((((op0_limb_13_col51.clone() + op1_limb_13_col80.clone()) - + carry_tmp_1095.clone()) + let carry_tmp_f0ae_28 = (((((op0_limb_13_col51.clone() + op1_limb_13_col80.clone()) + + carry_tmp_f0ae_27.clone()) - dst_limb_13_col22.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1096.clone() - * ((carry_tmp_1096.clone() * carry_tmp_1096.clone()) - M31_1.clone())), + (carry_tmp_f0ae_28.clone() + * ((carry_tmp_f0ae_28.clone() * carry_tmp_f0ae_28.clone()) - M31_1.clone())), ); - let carry_tmp_1097 = (((((op0_limb_14_col52.clone() + op1_limb_14_col81.clone()) - + carry_tmp_1096.clone()) + let carry_tmp_f0ae_29 = (((((op0_limb_14_col52.clone() + op1_limb_14_col81.clone()) + + carry_tmp_f0ae_28.clone()) - dst_limb_14_col23.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1097.clone() - * ((carry_tmp_1097.clone() * carry_tmp_1097.clone()) - M31_1.clone())), + (carry_tmp_f0ae_29.clone() + * ((carry_tmp_f0ae_29.clone() * carry_tmp_f0ae_29.clone()) - M31_1.clone())), ); - let carry_tmp_1098 = (((((op0_limb_15_col53.clone() + op1_limb_15_col82.clone()) - + carry_tmp_1097.clone()) + let carry_tmp_f0ae_30 = (((((op0_limb_15_col53.clone() + op1_limb_15_col82.clone()) + + carry_tmp_f0ae_29.clone()) - dst_limb_15_col24.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1098.clone() - * ((carry_tmp_1098.clone() * carry_tmp_1098.clone()) - M31_1.clone())), + (carry_tmp_f0ae_30.clone() + * ((carry_tmp_f0ae_30.clone() * carry_tmp_f0ae_30.clone()) - M31_1.clone())), ); - let carry_tmp_1099 = (((((op0_limb_16_col54.clone() + op1_limb_16_col83.clone()) - + carry_tmp_1098.clone()) + let carry_tmp_f0ae_31 = (((((op0_limb_16_col54.clone() + op1_limb_16_col83.clone()) + + carry_tmp_f0ae_30.clone()) - dst_limb_16_col25.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1099.clone() - * ((carry_tmp_1099.clone() * carry_tmp_1099.clone()) - M31_1.clone())), + (carry_tmp_f0ae_31.clone() + * ((carry_tmp_f0ae_31.clone() * carry_tmp_f0ae_31.clone()) - M31_1.clone())), ); - let carry_tmp_1100 = (((((op0_limb_17_col55.clone() + op1_limb_17_col84.clone()) - + carry_tmp_1099.clone()) + let carry_tmp_f0ae_32 = (((((op0_limb_17_col55.clone() + op1_limb_17_col84.clone()) + + carry_tmp_f0ae_31.clone()) - dst_limb_17_col26.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1100.clone() - * ((carry_tmp_1100.clone() * carry_tmp_1100.clone()) - M31_1.clone())), + (carry_tmp_f0ae_32.clone() + * ((carry_tmp_f0ae_32.clone() * carry_tmp_f0ae_32.clone()) - M31_1.clone())), ); - let carry_tmp_1101 = (((((op0_limb_18_col56.clone() + op1_limb_18_col85.clone()) - + carry_tmp_1100.clone()) + let carry_tmp_f0ae_33 = (((((op0_limb_18_col56.clone() + op1_limb_18_col85.clone()) + + carry_tmp_f0ae_32.clone()) - dst_limb_18_col27.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1101.clone() - * ((carry_tmp_1101.clone() * carry_tmp_1101.clone()) - M31_1.clone())), + (carry_tmp_f0ae_33.clone() + * ((carry_tmp_f0ae_33.clone() * carry_tmp_f0ae_33.clone()) - M31_1.clone())), ); - let carry_tmp_1102 = (((((op0_limb_19_col57.clone() + op1_limb_19_col86.clone()) - + carry_tmp_1101.clone()) + let carry_tmp_f0ae_34 = (((((op0_limb_19_col57.clone() + op1_limb_19_col86.clone()) + + carry_tmp_f0ae_33.clone()) - dst_limb_19_col28.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1102.clone() - * ((carry_tmp_1102.clone() * carry_tmp_1102.clone()) - M31_1.clone())), + (carry_tmp_f0ae_34.clone() + * ((carry_tmp_f0ae_34.clone() * carry_tmp_f0ae_34.clone()) - M31_1.clone())), ); - let carry_tmp_1103 = (((((op0_limb_20_col58.clone() + op1_limb_20_col87.clone()) - + carry_tmp_1102.clone()) + let carry_tmp_f0ae_35 = (((((op0_limb_20_col58.clone() + op1_limb_20_col87.clone()) + + carry_tmp_f0ae_34.clone()) - dst_limb_20_col29.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1103.clone() - * ((carry_tmp_1103.clone() * carry_tmp_1103.clone()) - M31_1.clone())), + (carry_tmp_f0ae_35.clone() + * ((carry_tmp_f0ae_35.clone() * carry_tmp_f0ae_35.clone()) - M31_1.clone())), ); - let carry_tmp_1104 = (((((op0_limb_21_col59.clone() + op1_limb_21_col88.clone()) - + carry_tmp_1103.clone()) + let carry_tmp_f0ae_36 = (((((op0_limb_21_col59.clone() + op1_limb_21_col88.clone()) + + carry_tmp_f0ae_35.clone()) - dst_limb_21_col30.clone()) - (M31_136.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1104.clone() - * ((carry_tmp_1104.clone() * carry_tmp_1104.clone()) - M31_1.clone())), + (carry_tmp_f0ae_36.clone() + * ((carry_tmp_f0ae_36.clone() * carry_tmp_f0ae_36.clone()) - M31_1.clone())), ); - let carry_tmp_1105 = (((((op0_limb_22_col60.clone() + op1_limb_22_col89.clone()) - + carry_tmp_1104.clone()) + let carry_tmp_f0ae_37 = (((((op0_limb_22_col60.clone() + op1_limb_22_col89.clone()) + + carry_tmp_f0ae_36.clone()) - dst_limb_22_col31.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1105.clone() - * ((carry_tmp_1105.clone() * carry_tmp_1105.clone()) - M31_1.clone())), + (carry_tmp_f0ae_37.clone() + * ((carry_tmp_f0ae_37.clone() * carry_tmp_f0ae_37.clone()) - M31_1.clone())), ); - let carry_tmp_1106 = (((((op0_limb_23_col61.clone() + op1_limb_23_col90.clone()) - + carry_tmp_1105.clone()) + let carry_tmp_f0ae_38 = (((((op0_limb_23_col61.clone() + op1_limb_23_col90.clone()) + + carry_tmp_f0ae_37.clone()) - dst_limb_23_col32.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1106.clone() - * ((carry_tmp_1106.clone() * carry_tmp_1106.clone()) - M31_1.clone())), + (carry_tmp_f0ae_38.clone() + * ((carry_tmp_f0ae_38.clone() * carry_tmp_f0ae_38.clone()) - M31_1.clone())), ); - let carry_tmp_1107 = (((((op0_limb_24_col62.clone() + op1_limb_24_col91.clone()) - + carry_tmp_1106.clone()) + let carry_tmp_f0ae_39 = (((((op0_limb_24_col62.clone() + op1_limb_24_col91.clone()) + + carry_tmp_f0ae_38.clone()) - dst_limb_24_col33.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1107.clone() - * ((carry_tmp_1107.clone() * carry_tmp_1107.clone()) - M31_1.clone())), + (carry_tmp_f0ae_39.clone() + * ((carry_tmp_f0ae_39.clone() * carry_tmp_f0ae_39.clone()) - M31_1.clone())), ); - let carry_tmp_1108 = (((((op0_limb_25_col63.clone() + op1_limb_25_col92.clone()) - + carry_tmp_1107.clone()) + let carry_tmp_f0ae_40 = (((((op0_limb_25_col63.clone() + op1_limb_25_col92.clone()) + + carry_tmp_f0ae_39.clone()) - dst_limb_25_col34.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1108.clone() - * ((carry_tmp_1108.clone() * carry_tmp_1108.clone()) - M31_1.clone())), + (carry_tmp_f0ae_40.clone() + * ((carry_tmp_f0ae_40.clone() * carry_tmp_f0ae_40.clone()) - M31_1.clone())), ); - let carry_tmp_1109 = (((((op0_limb_26_col64.clone() + op1_limb_26_col93.clone()) - + carry_tmp_1108.clone()) + let carry_tmp_f0ae_41 = (((((op0_limb_26_col64.clone() + op1_limb_26_col93.clone()) + + carry_tmp_f0ae_40.clone()) - dst_limb_26_col35.clone()) - (M31_0.clone() * sub_p_bit_col95.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_1109.clone() - * ((carry_tmp_1109.clone() * carry_tmp_1109.clone()) - M31_1.clone())), + (carry_tmp_f0ae_41.clone() + * ((carry_tmp_f0ae_41.clone() * carry_tmp_f0ae_41.clone()) - M31_1.clone())), ); eval.add_constraint( - ((((op0_limb_27_col65.clone() + op1_limb_27_col94.clone()) + carry_tmp_1109.clone()) + ((((op0_limb_27_col65.clone() + op1_limb_27_col94.clone()) + + carry_tmp_f0ae_41.clone()) - dst_limb_27_col36.clone()) - (M31_256.clone() * sub_p_bit_col95.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -614,9 +615,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -624,7 +625,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col7.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/prover.rs index 82f254eb..2736df75 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_f_is_imm_t/prover.rs @@ -189,63 +189,63 @@ pub fn write_trace_simd( .into_iter() .enumerate() .for_each(|(row_index, add_opcode_is_small_f_is_imm_t_input)| { - let input_tmp_1067 = add_opcode_is_small_f_is_imm_t_input; - let input_pc_col0 = input_tmp_1067.pc; + let input_tmp_f0ae_0 = add_opcode_is_small_f_is_imm_t_input; + let input_pc_col0 = input_tmp_f0ae_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1067.ap; + let input_ap_col1 = input_tmp_f0ae_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1067.fp; + let input_fp_col2 = input_tmp_f0ae_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_9aed6a790187299c. + // DecodeInstruction_9aed6a790187299c. - let memory_address_to_id_value_tmp_1068 = + let memoryaddresstoid_value_tmp_f0ae_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1069 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1068); - let offset0_tmp_1070 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(1))) + let memoryidtobig_value_tmp_f0ae_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f0ae_1); + let offset0_tmp_f0ae_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1070.as_m31(); + let offset0_col3 = offset0_tmp_f0ae_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_1071 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(1))) + let offset1_tmp_f0ae_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_1071.as_m31(); + let offset1_col4 = offset1_tmp_f0ae_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let dst_base_fp_tmp_1072 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(5))) + let dst_base_fp_tmp_f0ae_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col5 = dst_base_fp_tmp_1072.as_m31(); + let dst_base_fp_col5 = dst_base_fp_tmp_f0ae_5.as_m31(); trace[5].data[row_index] = dst_base_fp_col5; - let op0_base_fp_tmp_1073 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(5))) + let op0_base_fp_tmp_f0ae_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col6 = op0_base_fp_tmp_1073.as_m31(); + let op0_base_fp_col6 = op0_base_fp_tmp_f0ae_6.as_m31(); trace[6].data[row_index] = op0_base_fp_col6; - let ap_update_add_1_tmp_1074 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(5))) + let ap_update_add_1_tmp_f0ae_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1069.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_f0ae_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col7 = ap_update_add_1_tmp_1074.as_m31(); + let ap_update_add_1_col7 = ap_update_add_1_tmp_f0ae_7.as_m31(); trace[7].data[row_index] = ap_update_add_1_col7; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -295,16 +295,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1076 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_f0ae_8 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col5) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col5)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1077 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1076); - let dst_id_col8 = memory_address_to_id_value_tmp_1076; + let memoryidtobig_value_tmp_f0ae_9 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f0ae_8); + let dst_id_col8 = memoryaddresstoid_value_tmp_f0ae_8; trace[8].data[row_index] = dst_id_col8; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col5) * (input_fp_col2)) @@ -319,61 +319,61 @@ pub fn write_trace_simd( + ((offset0_col3) - (M31_32768))), dst_id_col8, ]); - let dst_limb_0_col9 = memory_id_to_big_value_tmp_1077.get_m31(0); + let dst_limb_0_col9 = memoryidtobig_value_tmp_f0ae_9.get_m31(0); trace[9].data[row_index] = dst_limb_0_col9; - let dst_limb_1_col10 = memory_id_to_big_value_tmp_1077.get_m31(1); + let dst_limb_1_col10 = memoryidtobig_value_tmp_f0ae_9.get_m31(1); trace[10].data[row_index] = dst_limb_1_col10; - let dst_limb_2_col11 = memory_id_to_big_value_tmp_1077.get_m31(2); + let dst_limb_2_col11 = memoryidtobig_value_tmp_f0ae_9.get_m31(2); trace[11].data[row_index] = dst_limb_2_col11; - let dst_limb_3_col12 = memory_id_to_big_value_tmp_1077.get_m31(3); + let dst_limb_3_col12 = memoryidtobig_value_tmp_f0ae_9.get_m31(3); trace[12].data[row_index] = dst_limb_3_col12; - let dst_limb_4_col13 = memory_id_to_big_value_tmp_1077.get_m31(4); + let dst_limb_4_col13 = memoryidtobig_value_tmp_f0ae_9.get_m31(4); trace[13].data[row_index] = dst_limb_4_col13; - let dst_limb_5_col14 = memory_id_to_big_value_tmp_1077.get_m31(5); + let dst_limb_5_col14 = memoryidtobig_value_tmp_f0ae_9.get_m31(5); trace[14].data[row_index] = dst_limb_5_col14; - let dst_limb_6_col15 = memory_id_to_big_value_tmp_1077.get_m31(6); + let dst_limb_6_col15 = memoryidtobig_value_tmp_f0ae_9.get_m31(6); trace[15].data[row_index] = dst_limb_6_col15; - let dst_limb_7_col16 = memory_id_to_big_value_tmp_1077.get_m31(7); + let dst_limb_7_col16 = memoryidtobig_value_tmp_f0ae_9.get_m31(7); trace[16].data[row_index] = dst_limb_7_col16; - let dst_limb_8_col17 = memory_id_to_big_value_tmp_1077.get_m31(8); + let dst_limb_8_col17 = memoryidtobig_value_tmp_f0ae_9.get_m31(8); trace[17].data[row_index] = dst_limb_8_col17; - let dst_limb_9_col18 = memory_id_to_big_value_tmp_1077.get_m31(9); + let dst_limb_9_col18 = memoryidtobig_value_tmp_f0ae_9.get_m31(9); trace[18].data[row_index] = dst_limb_9_col18; - let dst_limb_10_col19 = memory_id_to_big_value_tmp_1077.get_m31(10); + let dst_limb_10_col19 = memoryidtobig_value_tmp_f0ae_9.get_m31(10); trace[19].data[row_index] = dst_limb_10_col19; - let dst_limb_11_col20 = memory_id_to_big_value_tmp_1077.get_m31(11); + let dst_limb_11_col20 = memoryidtobig_value_tmp_f0ae_9.get_m31(11); trace[20].data[row_index] = dst_limb_11_col20; - let dst_limb_12_col21 = memory_id_to_big_value_tmp_1077.get_m31(12); + let dst_limb_12_col21 = memoryidtobig_value_tmp_f0ae_9.get_m31(12); trace[21].data[row_index] = dst_limb_12_col21; - let dst_limb_13_col22 = memory_id_to_big_value_tmp_1077.get_m31(13); + let dst_limb_13_col22 = memoryidtobig_value_tmp_f0ae_9.get_m31(13); trace[22].data[row_index] = dst_limb_13_col22; - let dst_limb_14_col23 = memory_id_to_big_value_tmp_1077.get_m31(14); + let dst_limb_14_col23 = memoryidtobig_value_tmp_f0ae_9.get_m31(14); trace[23].data[row_index] = dst_limb_14_col23; - let dst_limb_15_col24 = memory_id_to_big_value_tmp_1077.get_m31(15); + let dst_limb_15_col24 = memoryidtobig_value_tmp_f0ae_9.get_m31(15); trace[24].data[row_index] = dst_limb_15_col24; - let dst_limb_16_col25 = memory_id_to_big_value_tmp_1077.get_m31(16); + let dst_limb_16_col25 = memoryidtobig_value_tmp_f0ae_9.get_m31(16); trace[25].data[row_index] = dst_limb_16_col25; - let dst_limb_17_col26 = memory_id_to_big_value_tmp_1077.get_m31(17); + let dst_limb_17_col26 = memoryidtobig_value_tmp_f0ae_9.get_m31(17); trace[26].data[row_index] = dst_limb_17_col26; - let dst_limb_18_col27 = memory_id_to_big_value_tmp_1077.get_m31(18); + let dst_limb_18_col27 = memoryidtobig_value_tmp_f0ae_9.get_m31(18); trace[27].data[row_index] = dst_limb_18_col27; - let dst_limb_19_col28 = memory_id_to_big_value_tmp_1077.get_m31(19); + let dst_limb_19_col28 = memoryidtobig_value_tmp_f0ae_9.get_m31(19); trace[28].data[row_index] = dst_limb_19_col28; - let dst_limb_20_col29 = memory_id_to_big_value_tmp_1077.get_m31(20); + let dst_limb_20_col29 = memoryidtobig_value_tmp_f0ae_9.get_m31(20); trace[29].data[row_index] = dst_limb_20_col29; - let dst_limb_21_col30 = memory_id_to_big_value_tmp_1077.get_m31(21); + let dst_limb_21_col30 = memoryidtobig_value_tmp_f0ae_9.get_m31(21); trace[30].data[row_index] = dst_limb_21_col30; - let dst_limb_22_col31 = memory_id_to_big_value_tmp_1077.get_m31(22); + let dst_limb_22_col31 = memoryidtobig_value_tmp_f0ae_9.get_m31(22); trace[31].data[row_index] = dst_limb_22_col31; - let dst_limb_23_col32 = memory_id_to_big_value_tmp_1077.get_m31(23); + let dst_limb_23_col32 = memoryidtobig_value_tmp_f0ae_9.get_m31(23); trace[32].data[row_index] = dst_limb_23_col32; - let dst_limb_24_col33 = memory_id_to_big_value_tmp_1077.get_m31(24); + let dst_limb_24_col33 = memoryidtobig_value_tmp_f0ae_9.get_m31(24); trace[33].data[row_index] = dst_limb_24_col33; - let dst_limb_25_col34 = memory_id_to_big_value_tmp_1077.get_m31(25); + let dst_limb_25_col34 = memoryidtobig_value_tmp_f0ae_9.get_m31(25); trace[34].data[row_index] = dst_limb_25_col34; - let dst_limb_26_col35 = memory_id_to_big_value_tmp_1077.get_m31(26); + let dst_limb_26_col35 = memoryidtobig_value_tmp_f0ae_9.get_m31(26); trace[35].data[row_index] = dst_limb_26_col35; - let dst_limb_27_col36 = memory_id_to_big_value_tmp_1077.get_m31(27); + let dst_limb_27_col36 = memoryidtobig_value_tmp_f0ae_9.get_m31(27); trace[36].data[row_index] = dst_limb_27_col36; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col8.unpack()); @@ -409,16 +409,16 @@ pub fn write_trace_simd( dst_limb_27_col36, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1078 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_f0ae_10 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col6)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1079 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1078); - let op0_id_col37 = memory_address_to_id_value_tmp_1078; + let memoryidtobig_value_tmp_f0ae_11 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f0ae_10); + let op0_id_col37 = memoryaddresstoid_value_tmp_f0ae_10; trace[37].data[row_index] = op0_id_col37; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((op0_base_fp_col6) * (input_fp_col2)) @@ -433,61 +433,61 @@ pub fn write_trace_simd( + ((offset1_col4) - (M31_32768))), op0_id_col37, ]); - let op0_limb_0_col38 = memory_id_to_big_value_tmp_1079.get_m31(0); + let op0_limb_0_col38 = memoryidtobig_value_tmp_f0ae_11.get_m31(0); trace[38].data[row_index] = op0_limb_0_col38; - let op0_limb_1_col39 = memory_id_to_big_value_tmp_1079.get_m31(1); + let op0_limb_1_col39 = memoryidtobig_value_tmp_f0ae_11.get_m31(1); trace[39].data[row_index] = op0_limb_1_col39; - let op0_limb_2_col40 = memory_id_to_big_value_tmp_1079.get_m31(2); + let op0_limb_2_col40 = memoryidtobig_value_tmp_f0ae_11.get_m31(2); trace[40].data[row_index] = op0_limb_2_col40; - let op0_limb_3_col41 = memory_id_to_big_value_tmp_1079.get_m31(3); + let op0_limb_3_col41 = memoryidtobig_value_tmp_f0ae_11.get_m31(3); trace[41].data[row_index] = op0_limb_3_col41; - let op0_limb_4_col42 = memory_id_to_big_value_tmp_1079.get_m31(4); + let op0_limb_4_col42 = memoryidtobig_value_tmp_f0ae_11.get_m31(4); trace[42].data[row_index] = op0_limb_4_col42; - let op0_limb_5_col43 = memory_id_to_big_value_tmp_1079.get_m31(5); + let op0_limb_5_col43 = memoryidtobig_value_tmp_f0ae_11.get_m31(5); trace[43].data[row_index] = op0_limb_5_col43; - let op0_limb_6_col44 = memory_id_to_big_value_tmp_1079.get_m31(6); + let op0_limb_6_col44 = memoryidtobig_value_tmp_f0ae_11.get_m31(6); trace[44].data[row_index] = op0_limb_6_col44; - let op0_limb_7_col45 = memory_id_to_big_value_tmp_1079.get_m31(7); + let op0_limb_7_col45 = memoryidtobig_value_tmp_f0ae_11.get_m31(7); trace[45].data[row_index] = op0_limb_7_col45; - let op0_limb_8_col46 = memory_id_to_big_value_tmp_1079.get_m31(8); + let op0_limb_8_col46 = memoryidtobig_value_tmp_f0ae_11.get_m31(8); trace[46].data[row_index] = op0_limb_8_col46; - let op0_limb_9_col47 = memory_id_to_big_value_tmp_1079.get_m31(9); + let op0_limb_9_col47 = memoryidtobig_value_tmp_f0ae_11.get_m31(9); trace[47].data[row_index] = op0_limb_9_col47; - let op0_limb_10_col48 = memory_id_to_big_value_tmp_1079.get_m31(10); + let op0_limb_10_col48 = memoryidtobig_value_tmp_f0ae_11.get_m31(10); trace[48].data[row_index] = op0_limb_10_col48; - let op0_limb_11_col49 = memory_id_to_big_value_tmp_1079.get_m31(11); + let op0_limb_11_col49 = memoryidtobig_value_tmp_f0ae_11.get_m31(11); trace[49].data[row_index] = op0_limb_11_col49; - let op0_limb_12_col50 = memory_id_to_big_value_tmp_1079.get_m31(12); + let op0_limb_12_col50 = memoryidtobig_value_tmp_f0ae_11.get_m31(12); trace[50].data[row_index] = op0_limb_12_col50; - let op0_limb_13_col51 = memory_id_to_big_value_tmp_1079.get_m31(13); + let op0_limb_13_col51 = memoryidtobig_value_tmp_f0ae_11.get_m31(13); trace[51].data[row_index] = op0_limb_13_col51; - let op0_limb_14_col52 = memory_id_to_big_value_tmp_1079.get_m31(14); + let op0_limb_14_col52 = memoryidtobig_value_tmp_f0ae_11.get_m31(14); trace[52].data[row_index] = op0_limb_14_col52; - let op0_limb_15_col53 = memory_id_to_big_value_tmp_1079.get_m31(15); + let op0_limb_15_col53 = memoryidtobig_value_tmp_f0ae_11.get_m31(15); trace[53].data[row_index] = op0_limb_15_col53; - let op0_limb_16_col54 = memory_id_to_big_value_tmp_1079.get_m31(16); + let op0_limb_16_col54 = memoryidtobig_value_tmp_f0ae_11.get_m31(16); trace[54].data[row_index] = op0_limb_16_col54; - let op0_limb_17_col55 = memory_id_to_big_value_tmp_1079.get_m31(17); + let op0_limb_17_col55 = memoryidtobig_value_tmp_f0ae_11.get_m31(17); trace[55].data[row_index] = op0_limb_17_col55; - let op0_limb_18_col56 = memory_id_to_big_value_tmp_1079.get_m31(18); + let op0_limb_18_col56 = memoryidtobig_value_tmp_f0ae_11.get_m31(18); trace[56].data[row_index] = op0_limb_18_col56; - let op0_limb_19_col57 = memory_id_to_big_value_tmp_1079.get_m31(19); + let op0_limb_19_col57 = memoryidtobig_value_tmp_f0ae_11.get_m31(19); trace[57].data[row_index] = op0_limb_19_col57; - let op0_limb_20_col58 = memory_id_to_big_value_tmp_1079.get_m31(20); + let op0_limb_20_col58 = memoryidtobig_value_tmp_f0ae_11.get_m31(20); trace[58].data[row_index] = op0_limb_20_col58; - let op0_limb_21_col59 = memory_id_to_big_value_tmp_1079.get_m31(21); + let op0_limb_21_col59 = memoryidtobig_value_tmp_f0ae_11.get_m31(21); trace[59].data[row_index] = op0_limb_21_col59; - let op0_limb_22_col60 = memory_id_to_big_value_tmp_1079.get_m31(22); + let op0_limb_22_col60 = memoryidtobig_value_tmp_f0ae_11.get_m31(22); trace[60].data[row_index] = op0_limb_22_col60; - let op0_limb_23_col61 = memory_id_to_big_value_tmp_1079.get_m31(23); + let op0_limb_23_col61 = memoryidtobig_value_tmp_f0ae_11.get_m31(23); trace[61].data[row_index] = op0_limb_23_col61; - let op0_limb_24_col62 = memory_id_to_big_value_tmp_1079.get_m31(24); + let op0_limb_24_col62 = memoryidtobig_value_tmp_f0ae_11.get_m31(24); trace[62].data[row_index] = op0_limb_24_col62; - let op0_limb_25_col63 = memory_id_to_big_value_tmp_1079.get_m31(25); + let op0_limb_25_col63 = memoryidtobig_value_tmp_f0ae_11.get_m31(25); trace[63].data[row_index] = op0_limb_25_col63; - let op0_limb_26_col64 = memory_id_to_big_value_tmp_1079.get_m31(26); + let op0_limb_26_col64 = memoryidtobig_value_tmp_f0ae_11.get_m31(26); trace[64].data[row_index] = op0_limb_26_col64; - let op0_limb_27_col65 = memory_id_to_big_value_tmp_1079.get_m31(27); + let op0_limb_27_col65 = memoryidtobig_value_tmp_f0ae_11.get_m31(27); trace[65].data[row_index] = op0_limb_27_col65; sub_components_inputs.memory_id_to_big_inputs[1].extend(op0_id_col37.unpack()); @@ -523,73 +523,73 @@ pub fn write_trace_simd( op0_limb_27_col65, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1080 = + let memoryaddresstoid_value_tmp_f0ae_12 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_1081 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1080); - let op1_id_col66 = memory_address_to_id_value_tmp_1080; + let memoryidtobig_value_tmp_f0ae_13 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_f0ae_12); + let op1_id_col66 = memoryaddresstoid_value_tmp_f0ae_12; trace[66].data[row_index] = op1_id_col66; sub_components_inputs.memory_address_to_id_inputs[2] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[2].push([((input_pc_col0) + (M31_1)), op1_id_col66]); - let op1_limb_0_col67 = memory_id_to_big_value_tmp_1081.get_m31(0); + let op1_limb_0_col67 = memoryidtobig_value_tmp_f0ae_13.get_m31(0); trace[67].data[row_index] = op1_limb_0_col67; - let op1_limb_1_col68 = memory_id_to_big_value_tmp_1081.get_m31(1); + let op1_limb_1_col68 = memoryidtobig_value_tmp_f0ae_13.get_m31(1); trace[68].data[row_index] = op1_limb_1_col68; - let op1_limb_2_col69 = memory_id_to_big_value_tmp_1081.get_m31(2); + let op1_limb_2_col69 = memoryidtobig_value_tmp_f0ae_13.get_m31(2); trace[69].data[row_index] = op1_limb_2_col69; - let op1_limb_3_col70 = memory_id_to_big_value_tmp_1081.get_m31(3); + let op1_limb_3_col70 = memoryidtobig_value_tmp_f0ae_13.get_m31(3); trace[70].data[row_index] = op1_limb_3_col70; - let op1_limb_4_col71 = memory_id_to_big_value_tmp_1081.get_m31(4); + let op1_limb_4_col71 = memoryidtobig_value_tmp_f0ae_13.get_m31(4); trace[71].data[row_index] = op1_limb_4_col71; - let op1_limb_5_col72 = memory_id_to_big_value_tmp_1081.get_m31(5); + let op1_limb_5_col72 = memoryidtobig_value_tmp_f0ae_13.get_m31(5); trace[72].data[row_index] = op1_limb_5_col72; - let op1_limb_6_col73 = memory_id_to_big_value_tmp_1081.get_m31(6); + let op1_limb_6_col73 = memoryidtobig_value_tmp_f0ae_13.get_m31(6); trace[73].data[row_index] = op1_limb_6_col73; - let op1_limb_7_col74 = memory_id_to_big_value_tmp_1081.get_m31(7); + let op1_limb_7_col74 = memoryidtobig_value_tmp_f0ae_13.get_m31(7); trace[74].data[row_index] = op1_limb_7_col74; - let op1_limb_8_col75 = memory_id_to_big_value_tmp_1081.get_m31(8); + let op1_limb_8_col75 = memoryidtobig_value_tmp_f0ae_13.get_m31(8); trace[75].data[row_index] = op1_limb_8_col75; - let op1_limb_9_col76 = memory_id_to_big_value_tmp_1081.get_m31(9); + let op1_limb_9_col76 = memoryidtobig_value_tmp_f0ae_13.get_m31(9); trace[76].data[row_index] = op1_limb_9_col76; - let op1_limb_10_col77 = memory_id_to_big_value_tmp_1081.get_m31(10); + let op1_limb_10_col77 = memoryidtobig_value_tmp_f0ae_13.get_m31(10); trace[77].data[row_index] = op1_limb_10_col77; - let op1_limb_11_col78 = memory_id_to_big_value_tmp_1081.get_m31(11); + let op1_limb_11_col78 = memoryidtobig_value_tmp_f0ae_13.get_m31(11); trace[78].data[row_index] = op1_limb_11_col78; - let op1_limb_12_col79 = memory_id_to_big_value_tmp_1081.get_m31(12); + let op1_limb_12_col79 = memoryidtobig_value_tmp_f0ae_13.get_m31(12); trace[79].data[row_index] = op1_limb_12_col79; - let op1_limb_13_col80 = memory_id_to_big_value_tmp_1081.get_m31(13); + let op1_limb_13_col80 = memoryidtobig_value_tmp_f0ae_13.get_m31(13); trace[80].data[row_index] = op1_limb_13_col80; - let op1_limb_14_col81 = memory_id_to_big_value_tmp_1081.get_m31(14); + let op1_limb_14_col81 = memoryidtobig_value_tmp_f0ae_13.get_m31(14); trace[81].data[row_index] = op1_limb_14_col81; - let op1_limb_15_col82 = memory_id_to_big_value_tmp_1081.get_m31(15); + let op1_limb_15_col82 = memoryidtobig_value_tmp_f0ae_13.get_m31(15); trace[82].data[row_index] = op1_limb_15_col82; - let op1_limb_16_col83 = memory_id_to_big_value_tmp_1081.get_m31(16); + let op1_limb_16_col83 = memoryidtobig_value_tmp_f0ae_13.get_m31(16); trace[83].data[row_index] = op1_limb_16_col83; - let op1_limb_17_col84 = memory_id_to_big_value_tmp_1081.get_m31(17); + let op1_limb_17_col84 = memoryidtobig_value_tmp_f0ae_13.get_m31(17); trace[84].data[row_index] = op1_limb_17_col84; - let op1_limb_18_col85 = memory_id_to_big_value_tmp_1081.get_m31(18); + let op1_limb_18_col85 = memoryidtobig_value_tmp_f0ae_13.get_m31(18); trace[85].data[row_index] = op1_limb_18_col85; - let op1_limb_19_col86 = memory_id_to_big_value_tmp_1081.get_m31(19); + let op1_limb_19_col86 = memoryidtobig_value_tmp_f0ae_13.get_m31(19); trace[86].data[row_index] = op1_limb_19_col86; - let op1_limb_20_col87 = memory_id_to_big_value_tmp_1081.get_m31(20); + let op1_limb_20_col87 = memoryidtobig_value_tmp_f0ae_13.get_m31(20); trace[87].data[row_index] = op1_limb_20_col87; - let op1_limb_21_col88 = memory_id_to_big_value_tmp_1081.get_m31(21); + let op1_limb_21_col88 = memoryidtobig_value_tmp_f0ae_13.get_m31(21); trace[88].data[row_index] = op1_limb_21_col88; - let op1_limb_22_col89 = memory_id_to_big_value_tmp_1081.get_m31(22); + let op1_limb_22_col89 = memoryidtobig_value_tmp_f0ae_13.get_m31(22); trace[89].data[row_index] = op1_limb_22_col89; - let op1_limb_23_col90 = memory_id_to_big_value_tmp_1081.get_m31(23); + let op1_limb_23_col90 = memoryidtobig_value_tmp_f0ae_13.get_m31(23); trace[90].data[row_index] = op1_limb_23_col90; - let op1_limb_24_col91 = memory_id_to_big_value_tmp_1081.get_m31(24); + let op1_limb_24_col91 = memoryidtobig_value_tmp_f0ae_13.get_m31(24); trace[91].data[row_index] = op1_limb_24_col91; - let op1_limb_25_col92 = memory_id_to_big_value_tmp_1081.get_m31(25); + let op1_limb_25_col92 = memoryidtobig_value_tmp_f0ae_13.get_m31(25); trace[92].data[row_index] = op1_limb_25_col92; - let op1_limb_26_col93 = memory_id_to_big_value_tmp_1081.get_m31(26); + let op1_limb_26_col93 = memoryidtobig_value_tmp_f0ae_13.get_m31(26); trace[93].data[row_index] = op1_limb_26_col93; - let op1_limb_27_col94 = memory_id_to_big_value_tmp_1081.get_m31(27); + let op1_limb_27_col94 = memoryidtobig_value_tmp_f0ae_13.get_m31(27); trace[94].data[row_index] = op1_limb_27_col94; sub_components_inputs.memory_id_to_big_inputs[2].extend(op1_id_col66.unpack()); @@ -625,13 +625,13 @@ pub fn write_trace_simd( op1_limb_27_col94, ]); - // verify_add252. + // VerifyAdd252. - let sub_p_bit_tmp_1082 = ((UInt16_1) + let sub_p_bit_tmp_f0ae_14 = ((UInt16_1) & (((PackedUInt16::from_m31(op0_limb_0_col38)) ^ (PackedUInt16::from_m31(op1_limb_0_col67))) ^ (PackedUInt16::from_m31(dst_limb_0_col9)))); - let sub_p_bit_col95 = sub_p_bit_tmp_1082.as_m31(); + let sub_p_bit_col95 = sub_p_bit_tmp_f0ae_14.as_m31(); trace[95].data[row_index] = sub_p_bit_col95; lookup_data.opcodes[0].push([input_pc_col0, input_ap_col1, input_fp_col2]); diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/component.rs index f9314c05..d16cf209 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/component.rs @@ -114,9 +114,9 @@ impl FrameworkEval for Eval { let op1_limb_1_col27 = eval.next_trace_mask(); let op1_limb_2_col28 = eval.next_trace_mask(); - // decode_instruction_52ce7a4a3d9be19a. + // DecodeInstruction_52ce7a4a3d9be19a. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -140,16 +140,16 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); // Either flag op1_base_fp is on or flag op1_base_ap is on. eval.add_constraint( ((op1_base_fp_col8.clone() + op1_base_ap_col9.clone()) - M31_1.clone()), ); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -158,9 +158,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col11.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col12.clone() * (msb_col12.clone() - M31_1.clone()))); @@ -173,7 +173,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col13.clone()) * (msb_col12.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -207,11 +207,11 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col12.clone() * M31_256.clone()), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -220,9 +220,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col17.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col18.clone() * (msb_col18.clone() - M31_1.clone()))); @@ -235,7 +235,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col19.clone()) * (msb_col18.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -269,11 +269,11 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col18.clone() * M31_256.clone()), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -282,9 +282,9 @@ impl FrameworkEval for Eval { + (offset2_col5.clone() - M31_32768.clone())), op1_id_col23.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col24.clone() * (msb_col24.clone() - M31_1.clone()))); @@ -297,7 +297,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col25.clone()) * (msb_col24.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -331,7 +331,7 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col24.clone() * M31_256.clone()), ], - )]); + )); // dst equals op0 + op1. eval.add_constraint( @@ -350,7 +350,7 @@ impl FrameworkEval for Eval { - msb_col24.clone()) - (M31_134217728.clone() * mid_limbs_set_col25.clone())))), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -358,9 +358,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -368,7 +368,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col10.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/prover.rs index 6ddad0d6..7e4ac5d5 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_f/prover.rs @@ -193,91 +193,91 @@ pub fn write_trace_simd( .into_iter() .enumerate() .for_each(|(row_index, add_opcode_is_small_t_is_imm_f_input)| { - let input_tmp_1043 = add_opcode_is_small_t_is_imm_f_input; - let input_pc_col0 = input_tmp_1043.pc; + let input_tmp_6202_0 = add_opcode_is_small_t_is_imm_f_input; + let input_pc_col0 = input_tmp_6202_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1043.ap; + let input_ap_col1 = input_tmp_6202_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1043.fp; + let input_fp_col2 = input_tmp_6202_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_52ce7a4a3d9be19a. + // DecodeInstruction_52ce7a4a3d9be19a. - let memory_address_to_id_value_tmp_1044 = + let memoryaddresstoid_value_tmp_6202_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1045 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1044); - let offset0_tmp_1046 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(1))) + let memoryidtobig_value_tmp_6202_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_6202_1); + let offset0_tmp_6202_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1046.as_m31(); + let offset0_col3 = offset0_tmp_6202_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_1047 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(1))) + let offset1_tmp_6202_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_1047.as_m31(); + let offset1_col4 = offset1_tmp_6202_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let offset2_tmp_1048 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(3))) + let offset2_tmp_6202_5 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col5 = offset2_tmp_1048.as_m31(); + let offset2_col5 = offset2_tmp_6202_5.as_m31(); trace[5].data[row_index] = offset2_col5; - let dst_base_fp_tmp_1049 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(5))) + let dst_base_fp_tmp_6202_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col6 = dst_base_fp_tmp_1049.as_m31(); + let dst_base_fp_col6 = dst_base_fp_tmp_6202_6.as_m31(); trace[6].data[row_index] = dst_base_fp_col6; - let op0_base_fp_tmp_1050 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(5))) + let op0_base_fp_tmp_6202_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col7 = op0_base_fp_tmp_1050.as_m31(); + let op0_base_fp_col7 = op0_base_fp_tmp_6202_7.as_m31(); trace[7].data[row_index] = op0_base_fp_col7; - let op1_base_fp_tmp_1051 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(5))) + let op1_base_fp_tmp_6202_8 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(6))) << (UInt16_6))) >> (UInt16_3)) & (UInt16_1)); - let op1_base_fp_col8 = op1_base_fp_tmp_1051.as_m31(); + let op1_base_fp_col8 = op1_base_fp_tmp_6202_8.as_m31(); trace[8].data[row_index] = op1_base_fp_col8; - let op1_base_ap_tmp_1052 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(5))) + let op1_base_ap_tmp_6202_9 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(6))) << (UInt16_6))) >> (UInt16_4)) & (UInt16_1)); - let op1_base_ap_col9 = op1_base_ap_tmp_1052.as_m31(); + let op1_base_ap_col9 = op1_base_ap_tmp_6202_9.as_m31(); trace[9].data[row_index] = op1_base_ap_col9; - let ap_update_add_1_tmp_1053 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(5))) + let ap_update_add_1_tmp_6202_10 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1045.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_6202_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col10 = ap_update_add_1_tmp_1053.as_m31(); + let ap_update_add_1_col10 = ap_update_add_1_tmp_6202_10.as_m31(); trace[10].data[row_index] = ap_update_add_1_col10; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -327,16 +327,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1055 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_6202_11 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col6)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1056 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1055); - let dst_id_col11 = memory_address_to_id_value_tmp_1055; + let memoryidtobig_value_tmp_6202_12 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_6202_11); + let dst_id_col11 = memoryaddresstoid_value_tmp_6202_11; trace[11].data[row_index] = dst_id_col11; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col6) * (input_fp_col2)) @@ -352,20 +352,20 @@ pub fn write_trace_simd( dst_id_col11, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1057 = memory_id_to_big_value_tmp_1056.get_m31(27).eq(M31_256); - let msb_col12 = msb_tmp_1057.as_m31(); + let msb_tmp_6202_13 = memoryidtobig_value_tmp_6202_12.get_m31(27).eq(M31_256); + let msb_col12 = msb_tmp_6202_13.as_m31(); trace[12].data[row_index] = msb_col12; - let mid_limbs_set_tmp_1058 = memory_id_to_big_value_tmp_1056.get_m31(20).eq(M31_511); - let mid_limbs_set_col13 = mid_limbs_set_tmp_1058.as_m31(); + let mid_limbs_set_tmp_6202_14 = memoryidtobig_value_tmp_6202_12.get_m31(20).eq(M31_511); + let mid_limbs_set_col13 = mid_limbs_set_tmp_6202_14.as_m31(); trace[13].data[row_index] = mid_limbs_set_col13; - let dst_limb_0_col14 = memory_id_to_big_value_tmp_1056.get_m31(0); + let dst_limb_0_col14 = memoryidtobig_value_tmp_6202_12.get_m31(0); trace[14].data[row_index] = dst_limb_0_col14; - let dst_limb_1_col15 = memory_id_to_big_value_tmp_1056.get_m31(1); + let dst_limb_1_col15 = memoryidtobig_value_tmp_6202_12.get_m31(1); trace[15].data[row_index] = dst_limb_1_col15; - let dst_limb_2_col16 = memory_id_to_big_value_tmp_1056.get_m31(2); + let dst_limb_2_col16 = memoryidtobig_value_tmp_6202_12.get_m31(2); trace[16].data[row_index] = dst_limb_2_col16; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col11.unpack()); @@ -401,16 +401,16 @@ pub fn write_trace_simd( ((msb_col12) * (M31_256)), ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1059 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_6202_15 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col7) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col7)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1060 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1059); - let op0_id_col17 = memory_address_to_id_value_tmp_1059; + let memoryidtobig_value_tmp_6202_16 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_6202_15); + let op0_id_col17 = memoryaddresstoid_value_tmp_6202_15; trace[17].data[row_index] = op0_id_col17; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((op0_base_fp_col7) * (input_fp_col2)) @@ -426,20 +426,20 @@ pub fn write_trace_simd( op0_id_col17, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1061 = memory_id_to_big_value_tmp_1060.get_m31(27).eq(M31_256); - let msb_col18 = msb_tmp_1061.as_m31(); + let msb_tmp_6202_17 = memoryidtobig_value_tmp_6202_16.get_m31(27).eq(M31_256); + let msb_col18 = msb_tmp_6202_17.as_m31(); trace[18].data[row_index] = msb_col18; - let mid_limbs_set_tmp_1062 = memory_id_to_big_value_tmp_1060.get_m31(20).eq(M31_511); - let mid_limbs_set_col19 = mid_limbs_set_tmp_1062.as_m31(); + let mid_limbs_set_tmp_6202_18 = memoryidtobig_value_tmp_6202_16.get_m31(20).eq(M31_511); + let mid_limbs_set_col19 = mid_limbs_set_tmp_6202_18.as_m31(); trace[19].data[row_index] = mid_limbs_set_col19; - let op0_limb_0_col20 = memory_id_to_big_value_tmp_1060.get_m31(0); + let op0_limb_0_col20 = memoryidtobig_value_tmp_6202_16.get_m31(0); trace[20].data[row_index] = op0_limb_0_col20; - let op0_limb_1_col21 = memory_id_to_big_value_tmp_1060.get_m31(1); + let op0_limb_1_col21 = memoryidtobig_value_tmp_6202_16.get_m31(1); trace[21].data[row_index] = op0_limb_1_col21; - let op0_limb_2_col22 = memory_id_to_big_value_tmp_1060.get_m31(2); + let op0_limb_2_col22 = memoryidtobig_value_tmp_6202_16.get_m31(2); trace[22].data[row_index] = op0_limb_2_col22; sub_components_inputs.memory_id_to_big_inputs[1].extend(op0_id_col17.unpack()); @@ -475,15 +475,15 @@ pub fn write_trace_simd( ((msb_col18) * (M31_256)), ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1063 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_6202_19 = memory_address_to_id_state.deduce_output( ((((op1_base_fp_col8) * (input_fp_col2)) + ((op1_base_ap_col9) * (input_ap_col1))) + ((offset2_col5) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1064 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1063); - let op1_id_col23 = memory_address_to_id_value_tmp_1063; + let memoryidtobig_value_tmp_6202_20 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_6202_19); + let op1_id_col23 = memoryaddresstoid_value_tmp_6202_19; trace[23].data[row_index] = op1_id_col23; sub_components_inputs.memory_address_to_id_inputs[2].extend( ((((op1_base_fp_col8) * (input_fp_col2)) + ((op1_base_ap_col9) * (input_ap_col1))) @@ -497,20 +497,20 @@ pub fn write_trace_simd( op1_id_col23, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1065 = memory_id_to_big_value_tmp_1064.get_m31(27).eq(M31_256); - let msb_col24 = msb_tmp_1065.as_m31(); + let msb_tmp_6202_21 = memoryidtobig_value_tmp_6202_20.get_m31(27).eq(M31_256); + let msb_col24 = msb_tmp_6202_21.as_m31(); trace[24].data[row_index] = msb_col24; - let mid_limbs_set_tmp_1066 = memory_id_to_big_value_tmp_1064.get_m31(20).eq(M31_511); - let mid_limbs_set_col25 = mid_limbs_set_tmp_1066.as_m31(); + let mid_limbs_set_tmp_6202_22 = memoryidtobig_value_tmp_6202_20.get_m31(20).eq(M31_511); + let mid_limbs_set_col25 = mid_limbs_set_tmp_6202_22.as_m31(); trace[25].data[row_index] = mid_limbs_set_col25; - let op1_limb_0_col26 = memory_id_to_big_value_tmp_1064.get_m31(0); + let op1_limb_0_col26 = memoryidtobig_value_tmp_6202_20.get_m31(0); trace[26].data[row_index] = op1_limb_0_col26; - let op1_limb_1_col27 = memory_id_to_big_value_tmp_1064.get_m31(1); + let op1_limb_1_col27 = memoryidtobig_value_tmp_6202_20.get_m31(1); trace[27].data[row_index] = op1_limb_1_col27; - let op1_limb_2_col28 = memory_id_to_big_value_tmp_1064.get_m31(2); + let op1_limb_2_col28 = memoryidtobig_value_tmp_6202_20.get_m31(2); trace[28].data[row_index] = op1_limb_2_col28; sub_components_inputs.memory_id_to_big_inputs[2].extend(op1_id_col23.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/component.rs index 8bd25371..3ba84710 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/component.rs @@ -113,9 +113,9 @@ impl FrameworkEval for Eval { let op1_limb_1_col24 = eval.next_trace_mask(); let op1_limb_2_col25 = eval.next_trace_mask(); - // decode_instruction_9aed6a790187299c. + // DecodeInstruction_9aed6a790187299c. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -139,11 +139,11 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -152,9 +152,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col8.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col9.clone() * (msb_col9.clone() - M31_1.clone()))); @@ -167,7 +167,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col10.clone()) * (msb_col9.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -201,11 +201,11 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col9.clone() * M31_256.clone()), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -214,9 +214,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col14.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col15.clone() * (msb_col15.clone() - M31_1.clone()))); @@ -229,7 +229,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col16.clone()) * (msb_col15.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -263,20 +263,20 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col15.clone() * M31_256.clone()), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), op1_id_col20.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col21.clone() * (msb_col21.clone() - M31_1.clone()))); @@ -289,7 +289,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col22.clone()) * (msb_col21.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -323,7 +323,7 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col21.clone() * M31_256.clone()), ], - )]); + )); // dst equals op0 + op1. eval.add_constraint( @@ -342,7 +342,7 @@ impl FrameworkEval for Eval { - msb_col21.clone()) - (M31_134217728.clone() * mid_limbs_set_col22.clone())))), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -350,9 +350,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -360,7 +360,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col7.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/prover.rs index f7139de7..e7969bb8 100644 --- a/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/add_opcode_is_small_t_is_imm_t/prover.rs @@ -192,63 +192,63 @@ pub fn write_trace_simd( .into_iter() .enumerate() .for_each(|(row_index, add_opcode_is_small_t_is_imm_t_input)| { - let input_tmp_957 = add_opcode_is_small_t_is_imm_t_input; - let input_pc_col0 = input_tmp_957.pc; + let input_tmp_c5e3_0 = add_opcode_is_small_t_is_imm_t_input; + let input_pc_col0 = input_tmp_c5e3_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_957.ap; + let input_ap_col1 = input_tmp_c5e3_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_957.fp; + let input_fp_col2 = input_tmp_c5e3_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_9aed6a790187299c. + // DecodeInstruction_9aed6a790187299c. - let memory_address_to_id_value_tmp_966 = + let memoryaddresstoid_value_tmp_c5e3_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_967 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_966); - let offset0_tmp_968 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(1))) + let memoryidtobig_value_tmp_c5e3_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c5e3_1); + let offset0_tmp_c5e3_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_968.as_m31(); + let offset0_col3 = offset0_tmp_c5e3_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_969 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(1))) + let offset1_tmp_c5e3_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_969.as_m31(); + let offset1_col4 = offset1_tmp_c5e3_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let dst_base_fp_tmp_970 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(5))) + let dst_base_fp_tmp_c5e3_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col5 = dst_base_fp_tmp_970.as_m31(); + let dst_base_fp_col5 = dst_base_fp_tmp_c5e3_5.as_m31(); trace[5].data[row_index] = dst_base_fp_col5; - let op0_base_fp_tmp_971 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(5))) + let op0_base_fp_tmp_c5e3_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col6 = op0_base_fp_tmp_971.as_m31(); + let op0_base_fp_col6 = op0_base_fp_tmp_c5e3_6.as_m31(); trace[6].data[row_index] = op0_base_fp_col6; - let ap_update_add_1_tmp_972 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(5))) + let ap_update_add_1_tmp_c5e3_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_967.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c5e3_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col7 = ap_update_add_1_tmp_972.as_m31(); + let ap_update_add_1_col7 = ap_update_add_1_tmp_c5e3_7.as_m31(); trace[7].data[row_index] = ap_update_add_1_col7; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -298,16 +298,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_974 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_c5e3_8 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col5) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col5)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_975 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_974); - let dst_id_col8 = memory_address_to_id_value_tmp_974; + let memoryidtobig_value_tmp_c5e3_9 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c5e3_8); + let dst_id_col8 = memoryaddresstoid_value_tmp_c5e3_8; trace[8].data[row_index] = dst_id_col8; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col5) * (input_fp_col2)) @@ -323,20 +323,20 @@ pub fn write_trace_simd( dst_id_col8, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_976 = memory_id_to_big_value_tmp_975.get_m31(27).eq(M31_256); - let msb_col9 = msb_tmp_976.as_m31(); + let msb_tmp_c5e3_10 = memoryidtobig_value_tmp_c5e3_9.get_m31(27).eq(M31_256); + let msb_col9 = msb_tmp_c5e3_10.as_m31(); trace[9].data[row_index] = msb_col9; - let mid_limbs_set_tmp_977 = memory_id_to_big_value_tmp_975.get_m31(20).eq(M31_511); - let mid_limbs_set_col10 = mid_limbs_set_tmp_977.as_m31(); + let mid_limbs_set_tmp_c5e3_11 = memoryidtobig_value_tmp_c5e3_9.get_m31(20).eq(M31_511); + let mid_limbs_set_col10 = mid_limbs_set_tmp_c5e3_11.as_m31(); trace[10].data[row_index] = mid_limbs_set_col10; - let dst_limb_0_col11 = memory_id_to_big_value_tmp_975.get_m31(0); + let dst_limb_0_col11 = memoryidtobig_value_tmp_c5e3_9.get_m31(0); trace[11].data[row_index] = dst_limb_0_col11; - let dst_limb_1_col12 = memory_id_to_big_value_tmp_975.get_m31(1); + let dst_limb_1_col12 = memoryidtobig_value_tmp_c5e3_9.get_m31(1); trace[12].data[row_index] = dst_limb_1_col12; - let dst_limb_2_col13 = memory_id_to_big_value_tmp_975.get_m31(2); + let dst_limb_2_col13 = memoryidtobig_value_tmp_c5e3_9.get_m31(2); trace[13].data[row_index] = dst_limb_2_col13; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col8.unpack()); @@ -372,16 +372,16 @@ pub fn write_trace_simd( ((msb_col9) * (M31_256)), ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_978 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_c5e3_12 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col6)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_979 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_978); - let op0_id_col14 = memory_address_to_id_value_tmp_978; + let memoryidtobig_value_tmp_c5e3_13 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c5e3_12); + let op0_id_col14 = memoryaddresstoid_value_tmp_c5e3_12; trace[14].data[row_index] = op0_id_col14; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((op0_base_fp_col6) * (input_fp_col2)) @@ -397,20 +397,20 @@ pub fn write_trace_simd( op0_id_col14, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_980 = memory_id_to_big_value_tmp_979.get_m31(27).eq(M31_256); - let msb_col15 = msb_tmp_980.as_m31(); + let msb_tmp_c5e3_14 = memoryidtobig_value_tmp_c5e3_13.get_m31(27).eq(M31_256); + let msb_col15 = msb_tmp_c5e3_14.as_m31(); trace[15].data[row_index] = msb_col15; - let mid_limbs_set_tmp_981 = memory_id_to_big_value_tmp_979.get_m31(20).eq(M31_511); - let mid_limbs_set_col16 = mid_limbs_set_tmp_981.as_m31(); + let mid_limbs_set_tmp_c5e3_15 = memoryidtobig_value_tmp_c5e3_13.get_m31(20).eq(M31_511); + let mid_limbs_set_col16 = mid_limbs_set_tmp_c5e3_15.as_m31(); trace[16].data[row_index] = mid_limbs_set_col16; - let op0_limb_0_col17 = memory_id_to_big_value_tmp_979.get_m31(0); + let op0_limb_0_col17 = memoryidtobig_value_tmp_c5e3_13.get_m31(0); trace[17].data[row_index] = op0_limb_0_col17; - let op0_limb_1_col18 = memory_id_to_big_value_tmp_979.get_m31(1); + let op0_limb_1_col18 = memoryidtobig_value_tmp_c5e3_13.get_m31(1); trace[18].data[row_index] = op0_limb_1_col18; - let op0_limb_2_col19 = memory_id_to_big_value_tmp_979.get_m31(2); + let op0_limb_2_col19 = memoryidtobig_value_tmp_c5e3_13.get_m31(2); trace[19].data[row_index] = op0_limb_2_col19; sub_components_inputs.memory_id_to_big_inputs[1].extend(op0_id_col14.unpack()); @@ -446,33 +446,33 @@ pub fn write_trace_simd( ((msb_col15) * (M31_256)), ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_982 = + let memoryaddresstoid_value_tmp_c5e3_16 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_983 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_982); - let op1_id_col20 = memory_address_to_id_value_tmp_982; + let memoryidtobig_value_tmp_c5e3_17 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c5e3_16); + let op1_id_col20 = memoryaddresstoid_value_tmp_c5e3_16; trace[20].data[row_index] = op1_id_col20; sub_components_inputs.memory_address_to_id_inputs[2] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[2].push([((input_pc_col0) + (M31_1)), op1_id_col20]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_984 = memory_id_to_big_value_tmp_983.get_m31(27).eq(M31_256); - let msb_col21 = msb_tmp_984.as_m31(); + let msb_tmp_c5e3_18 = memoryidtobig_value_tmp_c5e3_17.get_m31(27).eq(M31_256); + let msb_col21 = msb_tmp_c5e3_18.as_m31(); trace[21].data[row_index] = msb_col21; - let mid_limbs_set_tmp_985 = memory_id_to_big_value_tmp_983.get_m31(20).eq(M31_511); - let mid_limbs_set_col22 = mid_limbs_set_tmp_985.as_m31(); + let mid_limbs_set_tmp_c5e3_19 = memoryidtobig_value_tmp_c5e3_17.get_m31(20).eq(M31_511); + let mid_limbs_set_col22 = mid_limbs_set_tmp_c5e3_19.as_m31(); trace[22].data[row_index] = mid_limbs_set_col22; - let op1_limb_0_col23 = memory_id_to_big_value_tmp_983.get_m31(0); + let op1_limb_0_col23 = memoryidtobig_value_tmp_c5e3_17.get_m31(0); trace[23].data[row_index] = op1_limb_0_col23; - let op1_limb_1_col24 = memory_id_to_big_value_tmp_983.get_m31(1); + let op1_limb_1_col24 = memoryidtobig_value_tmp_c5e3_17.get_m31(1); trace[24].data[row_index] = op1_limb_1_col24; - let op1_limb_2_col25 = memory_id_to_big_value_tmp_983.get_m31(2); + let op1_limb_2_col25 = memoryidtobig_value_tmp_c5e3_17.get_m31(2); trace[25].data[row_index] = op1_limb_2_col25; sub_components_inputs.memory_id_to_big_inputs[2].extend(op1_id_col20.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/component.rs index e2d9cf59..3aed8fc2 100644 --- a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/component.rs @@ -89,9 +89,9 @@ impl FrameworkEval for Eval { let ap_update_add_1_col8 = eval.next_trace_mask(); let dst_id_col9 = eval.next_trace_mask(); - // decode_instruction_dc55adb272664963. + // DecodeInstruction_dc55adb272664963. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -115,16 +115,16 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); // Either flag op1_base_fp is on or flag op1_base_ap is on. eval.add_constraint( ((op1_base_fp_col6.clone() + op1_base_ap_col7.clone()) - M31_1.clone()), ); - // mem_verify_equal. + // MemVerifyEqual. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -133,9 +133,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col9.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -144,9 +144,9 @@ impl FrameworkEval for Eval { + (offset2_col4.clone() - M31_32768.clone())), dst_id_col9.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -154,9 +154,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -164,7 +164,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col8.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/prover.rs index a70f8203..2988665e 100644 --- a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_f/prover.rs @@ -171,72 +171,72 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, assert_eq_opcode_is_double_deref_f_is_imm_f_input)| { - let input_tmp_1110 = assert_eq_opcode_is_double_deref_f_is_imm_f_input; - let input_pc_col0 = input_tmp_1110.pc; + let input_tmp_4299_0 = assert_eq_opcode_is_double_deref_f_is_imm_f_input; + let input_pc_col0 = input_tmp_4299_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1110.ap; + let input_ap_col1 = input_tmp_4299_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1110.fp; + let input_fp_col2 = input_tmp_4299_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_dc55adb272664963. + // DecodeInstruction_dc55adb272664963. - let memory_address_to_id_value_tmp_1120 = + let memoryaddresstoid_value_tmp_4299_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1121 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1120); - let offset0_tmp_1122 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(1))) + let memoryidtobig_value_tmp_4299_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_4299_1); + let offset0_tmp_4299_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1122.as_m31(); + let offset0_col3 = offset0_tmp_4299_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset2_tmp_1123 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(3))) + let offset2_tmp_4299_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col4 = offset2_tmp_1123.as_m31(); + let offset2_col4 = offset2_tmp_4299_4.as_m31(); trace[4].data[row_index] = offset2_col4; - let dst_base_fp_tmp_1124 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(5))) + let dst_base_fp_tmp_4299_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col5 = dst_base_fp_tmp_1124.as_m31(); + let dst_base_fp_col5 = dst_base_fp_tmp_4299_5.as_m31(); trace[5].data[row_index] = dst_base_fp_col5; - let op1_base_fp_tmp_1125 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(5))) + let op1_base_fp_tmp_4299_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(6))) << (UInt16_6))) >> (UInt16_3)) & (UInt16_1)); - let op1_base_fp_col6 = op1_base_fp_tmp_1125.as_m31(); + let op1_base_fp_col6 = op1_base_fp_tmp_4299_6.as_m31(); trace[6].data[row_index] = op1_base_fp_col6; - let op1_base_ap_tmp_1126 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(5))) + let op1_base_ap_tmp_4299_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(6))) << (UInt16_6))) >> (UInt16_4)) & (UInt16_1)); - let op1_base_ap_col7 = op1_base_ap_tmp_1126.as_m31(); + let op1_base_ap_col7 = op1_base_ap_tmp_4299_7.as_m31(); trace[7].data[row_index] = op1_base_ap_col7; - let ap_update_add_1_tmp_1127 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(5))) + let ap_update_add_1_tmp_4299_8 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1121.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_4299_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col8 = ap_update_add_1_tmp_1127.as_m31(); + let ap_update_add_1_col8 = ap_update_add_1_tmp_4299_8.as_m31(); trace[8].data[row_index] = ap_update_add_1_col8; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -286,14 +286,14 @@ pub fn write_trace_simd( M31_1, ]); - // mem_verify_equal. + // MemVerifyEqual. - let memory_address_to_id_value_tmp_1130 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_4299_9 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col5) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col5)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let dst_id_col9 = memory_address_to_id_value_tmp_1130; + let dst_id_col9 = memoryaddresstoid_value_tmp_4299_9; trace[9].data[row_index] = dst_id_col9; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col5) * (input_fp_col2)) diff --git a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/component.rs index 7eac9f31..688ff73e 100644 --- a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/component.rs @@ -88,9 +88,9 @@ impl FrameworkEval for Eval { let ap_update_add_1_col5 = eval.next_trace_mask(); let dst_id_col6 = eval.next_trace_mask(); - // decode_instruction_684cf7138ce526e3. + // DecodeInstruction_684cf7138ce526e3. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -114,11 +114,11 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // mem_verify_equal. + // MemVerifyEqual. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -127,15 +127,15 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col6.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[(input_pc_col0.clone() + M31_1.clone()), dst_id_col6.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -143,9 +143,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -153,7 +153,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col5.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/prover.rs index 68c4b325..caaff5da 100644 --- a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_f_is_imm_t/prover.rs @@ -169,44 +169,44 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, assert_eq_opcode_is_double_deref_f_is_imm_t_input)| { - let input_tmp_1155 = assert_eq_opcode_is_double_deref_f_is_imm_t_input; - let input_pc_col0 = input_tmp_1155.pc; + let input_tmp_ab0b_0 = assert_eq_opcode_is_double_deref_f_is_imm_t_input; + let input_pc_col0 = input_tmp_ab0b_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1155.ap; + let input_ap_col1 = input_tmp_ab0b_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1155.fp; + let input_fp_col2 = input_tmp_ab0b_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_684cf7138ce526e3. + // DecodeInstruction_684cf7138ce526e3. - let memory_address_to_id_value_tmp_1162 = + let memoryaddresstoid_value_tmp_ab0b_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1163 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1162); - let offset0_tmp_1164 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1163.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1163.get_m31(1))) + let memoryidtobig_value_tmp_ab0b_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_ab0b_1); + let offset0_tmp_ab0b_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_ab0b_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_ab0b_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1164.as_m31(); + let offset0_col3 = offset0_tmp_ab0b_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let dst_base_fp_tmp_1165 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1163.get_m31(5))) + let dst_base_fp_tmp_ab0b_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_ab0b_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1163.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_ab0b_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col4 = dst_base_fp_tmp_1165.as_m31(); + let dst_base_fp_col4 = dst_base_fp_tmp_ab0b_4.as_m31(); trace[4].data[row_index] = dst_base_fp_col4; - let ap_update_add_1_tmp_1166 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1163.get_m31(5))) + let ap_update_add_1_tmp_ab0b_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_ab0b_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1163.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_ab0b_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col5 = ap_update_add_1_tmp_1166.as_m31(); + let ap_update_add_1_col5 = ap_update_add_1_tmp_ab0b_5.as_m31(); trace[5].data[row_index] = ap_update_add_1_col5; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -256,14 +256,14 @@ pub fn write_trace_simd( M31_1, ]); - // mem_verify_equal. + // MemVerifyEqual. - let memory_address_to_id_value_tmp_1168 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_ab0b_6 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col4) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col4)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let dst_id_col6 = memory_address_to_id_value_tmp_1168; + let dst_id_col6 = memoryaddresstoid_value_tmp_ab0b_6; trace[6].data[row_index] = dst_id_col6; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col4) * (input_fp_col2)) diff --git a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/component.rs index 689713c2..ee102cc7 100644 --- a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/component.rs @@ -95,9 +95,9 @@ impl FrameworkEval for Eval { let mem1_base_limb_2_col12 = eval.next_trace_mask(); let dst_id_col13 = eval.next_trace_mask(); - // decode_instruction_a2af169c0fec5c47. + // DecodeInstruction_a2af169c0fec5c47. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -121,11 +121,11 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -134,9 +134,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), mem1_base_id_col9.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -145,11 +145,11 @@ impl FrameworkEval for Eval { mem1_base_limb_1_col11.clone(), mem1_base_limb_2_col12.clone(), ], - )]); + )); - // mem_verify_equal. + // MemVerifyEqual. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -158,9 +158,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col13.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -170,9 +170,9 @@ impl FrameworkEval for Eval { + (offset2_col5.clone() - M31_32768.clone())), dst_id_col13.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -180,9 +180,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -190,7 +190,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col8.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/prover.rs index bc932ab7..aea3f420 100644 --- a/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/assert_eq_opcode_is_double_deref_t_is_imm_f/prover.rs @@ -186,73 +186,73 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, assert_eq_opcode_is_double_deref_t_is_imm_f_input)| { - let input_tmp_1131 = assert_eq_opcode_is_double_deref_t_is_imm_f_input; - let input_pc_col0 = input_tmp_1131.pc; + let input_tmp_d488_0 = assert_eq_opcode_is_double_deref_t_is_imm_f_input; + let input_pc_col0 = input_tmp_d488_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1131.ap; + let input_ap_col1 = input_tmp_d488_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1131.fp; + let input_fp_col2 = input_tmp_d488_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_a2af169c0fec5c47. + // DecodeInstruction_a2af169c0fec5c47. - let memory_address_to_id_value_tmp_1141 = + let memoryaddresstoid_value_tmp_d488_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1142 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1141); - let offset0_tmp_1143 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(1))) + let memoryidtobig_value_tmp_d488_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_d488_1); + let offset0_tmp_d488_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1143.as_m31(); + let offset0_col3 = offset0_tmp_d488_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_1144 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(1))) + let offset1_tmp_d488_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_1144.as_m31(); + let offset1_col4 = offset1_tmp_d488_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let offset2_tmp_1145 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(3))) + let offset2_tmp_d488_5 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col5 = offset2_tmp_1145.as_m31(); + let offset2_col5 = offset2_tmp_d488_5.as_m31(); trace[5].data[row_index] = offset2_col5; - let dst_base_fp_tmp_1146 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(5))) + let dst_base_fp_tmp_d488_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col6 = dst_base_fp_tmp_1146.as_m31(); + let dst_base_fp_col6 = dst_base_fp_tmp_d488_6.as_m31(); trace[6].data[row_index] = dst_base_fp_col6; - let op0_base_fp_tmp_1147 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(5))) + let op0_base_fp_tmp_d488_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col7 = op0_base_fp_tmp_1147.as_m31(); + let op0_base_fp_col7 = op0_base_fp_tmp_d488_7.as_m31(); trace[7].data[row_index] = op0_base_fp_col7; - let ap_update_add_1_tmp_1148 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(5))) + let ap_update_add_1_tmp_d488_8 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1142.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d488_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col8 = ap_update_add_1_tmp_1148.as_m31(); + let ap_update_add_1_col8 = ap_update_add_1_tmp_d488_8.as_m31(); trace[8].data[row_index] = ap_update_add_1_col8; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -302,16 +302,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1152 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_d488_9 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col7) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col7)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1153 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1152); - let mem1_base_id_col9 = memory_address_to_id_value_tmp_1152; + let memoryidtobig_value_tmp_d488_10 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_d488_9); + let mem1_base_id_col9 = memoryaddresstoid_value_tmp_d488_9; trace[9].data[row_index] = mem1_base_id_col9; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((op0_base_fp_col7) * (input_fp_col2)) @@ -326,11 +326,11 @@ pub fn write_trace_simd( + ((offset1_col4) - (M31_32768))), mem1_base_id_col9, ]); - let mem1_base_limb_0_col10 = memory_id_to_big_value_tmp_1153.get_m31(0); + let mem1_base_limb_0_col10 = memoryidtobig_value_tmp_d488_10.get_m31(0); trace[10].data[row_index] = mem1_base_limb_0_col10; - let mem1_base_limb_1_col11 = memory_id_to_big_value_tmp_1153.get_m31(1); + let mem1_base_limb_1_col11 = memoryidtobig_value_tmp_d488_10.get_m31(1); trace[11].data[row_index] = mem1_base_limb_1_col11; - let mem1_base_limb_2_col12 = memory_id_to_big_value_tmp_1153.get_m31(2); + let mem1_base_limb_2_col12 = memoryidtobig_value_tmp_d488_10.get_m31(2); trace[12].data[row_index] = mem1_base_limb_2_col12; sub_components_inputs.memory_id_to_big_inputs[0].extend(mem1_base_id_col9.unpack()); @@ -366,14 +366,14 @@ pub fn write_trace_simd( M31_0, ]); - // mem_verify_equal. + // MemVerifyEqual. - let memory_address_to_id_value_tmp_1154 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_d488_11 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col6)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let dst_id_col13 = memory_address_to_id_value_tmp_1154; + let dst_id_col13 = memoryaddresstoid_value_tmp_d488_11; trace[13].data[row_index] = dst_id_col13; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((dst_base_fp_col6) * (input_fp_col2)) diff --git a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/component.rs index 0edfeac0..5887f535 100644 --- a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/component.rs @@ -99,9 +99,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col14 = eval.next_trace_mask(); let next_pc_limb_2_col15 = eval.next_trace_mask(); - // decode_instruction_d06cc8770ddfafbc. + // DecodeInstruction_d06cc8770ddfafbc. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -123,17 +123,17 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[input_ap_col1.clone(), stored_fp_id_col4.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -142,7 +142,7 @@ impl FrameworkEval for Eval { stored_fp_limb_1_col6.clone(), stored_fp_limb_2_col7.clone(), ], - )]); + )); //[ap] = fp. eval.add_constraint( @@ -151,18 +151,18 @@ impl FrameworkEval for Eval { - input_fp_col2.clone()), ); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + M31_1.clone()), stored_ret_pc_id_col8.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -171,7 +171,7 @@ impl FrameworkEval for Eval { stored_ret_pc_limb_1_col10.clone(), stored_ret_pc_limb_2_col11.clone(), ], - )]); + )); //[ap+1] = return_pc. eval.add_constraint( @@ -181,18 +181,18 @@ impl FrameworkEval for Eval { - (input_pc_col0.clone() + M31_1.clone())), ); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + (offset2_col3.clone() - M31_32768.clone())), next_pc_id_col12.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -201,9 +201,9 @@ impl FrameworkEval for Eval { next_pc_limb_1_col14.clone(), next_pc_limb_2_col15.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -211,9 +211,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -222,7 +222,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + M31_2.clone()), (input_ap_col1.clone() + M31_2.clone()), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/prover.rs index e19a7adf..2d80d2f6 100644 --- a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_f/prover.rs @@ -183,29 +183,29 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, call_opcode_is_rel_f_op1_base_fp_f_input)| { - let input_tmp_1169 = call_opcode_is_rel_f_op1_base_fp_f_input; - let input_pc_col0 = input_tmp_1169.pc; + let input_tmp_eefa_0 = call_opcode_is_rel_f_op1_base_fp_f_input; + let input_pc_col0 = input_tmp_eefa_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1169.ap; + let input_ap_col1 = input_tmp_eefa_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1169.fp; + let input_fp_col2 = input_tmp_eefa_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_d06cc8770ddfafbc. + // DecodeInstruction_d06cc8770ddfafbc. - let memory_address_to_id_value_tmp_1174 = + let memoryaddresstoid_value_tmp_eefa_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1175 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1174); - let offset2_tmp_1176 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1175.get_m31(3))) + let memoryidtobig_value_tmp_eefa_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_eefa_1); + let offset2_tmp_eefa_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_eefa_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1175.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_eefa_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1175.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_eefa_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col3 = offset2_tmp_1176.as_m31(); + let offset2_col3 = offset2_tmp_eefa_3.as_m31(); trace[3].data[row_index] = offset2_col3; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -242,22 +242,22 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1178 = + let memoryaddresstoid_value_tmp_eefa_4 = memory_address_to_id_state.deduce_output(input_ap_col1); - let memory_id_to_big_value_tmp_1179 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1178); - let stored_fp_id_col4 = memory_address_to_id_value_tmp_1178; + let memoryidtobig_value_tmp_eefa_5 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_eefa_4); + let stored_fp_id_col4 = memoryaddresstoid_value_tmp_eefa_4; trace[4].data[row_index] = stored_fp_id_col4; sub_components_inputs.memory_address_to_id_inputs[0].extend(input_ap_col1.unpack()); lookup_data.memoryaddresstoid[0].push([input_ap_col1, stored_fp_id_col4]); - let stored_fp_limb_0_col5 = memory_id_to_big_value_tmp_1179.get_m31(0); + let stored_fp_limb_0_col5 = memoryidtobig_value_tmp_eefa_5.get_m31(0); trace[5].data[row_index] = stored_fp_limb_0_col5; - let stored_fp_limb_1_col6 = memory_id_to_big_value_tmp_1179.get_m31(1); + let stored_fp_limb_1_col6 = memoryidtobig_value_tmp_eefa_5.get_m31(1); trace[6].data[row_index] = stored_fp_limb_1_col6; - let stored_fp_limb_2_col7 = memory_id_to_big_value_tmp_1179.get_m31(2); + let stored_fp_limb_2_col7 = memoryidtobig_value_tmp_eefa_5.get_m31(2); trace[7].data[row_index] = stored_fp_limb_2_col7; sub_components_inputs.memory_id_to_big_inputs[0].extend(stored_fp_id_col4.unpack()); @@ -293,24 +293,24 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1180 = + let memoryaddresstoid_value_tmp_eefa_6 = memory_address_to_id_state.deduce_output(((input_ap_col1) + (M31_1))); - let memory_id_to_big_value_tmp_1181 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1180); - let stored_ret_pc_id_col8 = memory_address_to_id_value_tmp_1180; + let memoryidtobig_value_tmp_eefa_7 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_eefa_6); + let stored_ret_pc_id_col8 = memoryaddresstoid_value_tmp_eefa_6; trace[8].data[row_index] = stored_ret_pc_id_col8; sub_components_inputs.memory_address_to_id_inputs[1] .extend(((input_ap_col1) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[1] .push([((input_ap_col1) + (M31_1)), stored_ret_pc_id_col8]); - let stored_ret_pc_limb_0_col9 = memory_id_to_big_value_tmp_1181.get_m31(0); + let stored_ret_pc_limb_0_col9 = memoryidtobig_value_tmp_eefa_7.get_m31(0); trace[9].data[row_index] = stored_ret_pc_limb_0_col9; - let stored_ret_pc_limb_1_col10 = memory_id_to_big_value_tmp_1181.get_m31(1); + let stored_ret_pc_limb_1_col10 = memoryidtobig_value_tmp_eefa_7.get_m31(1); trace[10].data[row_index] = stored_ret_pc_limb_1_col10; - let stored_ret_pc_limb_2_col11 = memory_id_to_big_value_tmp_1181.get_m31(2); + let stored_ret_pc_limb_2_col11 = memoryidtobig_value_tmp_eefa_7.get_m31(2); trace[11].data[row_index] = stored_ret_pc_limb_2_col11; sub_components_inputs.memory_id_to_big_inputs[1].extend(stored_ret_pc_id_col8.unpack()); @@ -346,13 +346,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1182 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_eefa_8 = memory_address_to_id_state .deduce_output(((input_ap_col1) + ((offset2_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_1183 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1182); - let next_pc_id_col12 = memory_address_to_id_value_tmp_1182; + let memoryidtobig_value_tmp_eefa_9 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_eefa_8); + let next_pc_id_col12 = memoryaddresstoid_value_tmp_eefa_8; trace[12].data[row_index] = next_pc_id_col12; sub_components_inputs.memory_address_to_id_inputs[2] .extend(((input_ap_col1) + ((offset2_col3) - (M31_32768))).unpack()); @@ -361,11 +361,11 @@ pub fn write_trace_simd( ((input_ap_col1) + ((offset2_col3) - (M31_32768))), next_pc_id_col12, ]); - let next_pc_limb_0_col13 = memory_id_to_big_value_tmp_1183.get_m31(0); + let next_pc_limb_0_col13 = memoryidtobig_value_tmp_eefa_9.get_m31(0); trace[13].data[row_index] = next_pc_limb_0_col13; - let next_pc_limb_1_col14 = memory_id_to_big_value_tmp_1183.get_m31(1); + let next_pc_limb_1_col14 = memoryidtobig_value_tmp_eefa_9.get_m31(1); trace[14].data[row_index] = next_pc_limb_1_col14; - let next_pc_limb_2_col15 = memory_id_to_big_value_tmp_1183.get_m31(2); + let next_pc_limb_2_col15 = memoryidtobig_value_tmp_eefa_9.get_m31(2); trace[15].data[row_index] = next_pc_limb_2_col15; sub_components_inputs.memory_id_to_big_inputs[2].extend(next_pc_id_col12.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/component.rs index 0e965880..a5b61b3b 100644 --- a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/component.rs @@ -99,9 +99,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col14 = eval.next_trace_mask(); let next_pc_limb_2_col15 = eval.next_trace_mask(); - // decode_instruction_52374a4f35d83024. + // DecodeInstruction_52374a4f35d83024. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -123,17 +123,17 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[input_ap_col1.clone(), stored_fp_id_col4.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -142,7 +142,7 @@ impl FrameworkEval for Eval { stored_fp_limb_1_col6.clone(), stored_fp_limb_2_col7.clone(), ], - )]); + )); //[ap] = fp. eval.add_constraint( @@ -151,18 +151,18 @@ impl FrameworkEval for Eval { - input_fp_col2.clone()), ); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + M31_1.clone()), stored_ret_pc_id_col8.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -171,7 +171,7 @@ impl FrameworkEval for Eval { stored_ret_pc_limb_1_col10.clone(), stored_ret_pc_limb_2_col11.clone(), ], - )]); + )); //[ap+1] = return_pc. eval.add_constraint( @@ -181,18 +181,18 @@ impl FrameworkEval for Eval { - (input_pc_col0.clone() + M31_1.clone())), ); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_fp_col2.clone() + (offset2_col3.clone() - M31_32768.clone())), next_pc_id_col12.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -201,9 +201,9 @@ impl FrameworkEval for Eval { next_pc_limb_1_col14.clone(), next_pc_limb_2_col15.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -211,9 +211,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -222,7 +222,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + M31_2.clone()), (input_ap_col1.clone() + M31_2.clone()), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/prover.rs index f177f374..42f84dc8 100644 --- a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_f_op1_base_fp_t/prover.rs @@ -183,29 +183,29 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, call_opcode_is_rel_f_op1_base_fp_t_input)| { - let input_tmp_1199 = call_opcode_is_rel_f_op1_base_fp_t_input; - let input_pc_col0 = input_tmp_1199.pc; + let input_tmp_d5fd_0 = call_opcode_is_rel_f_op1_base_fp_t_input; + let input_pc_col0 = input_tmp_d5fd_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1199.ap; + let input_ap_col1 = input_tmp_d5fd_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1199.fp; + let input_fp_col2 = input_tmp_d5fd_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_52374a4f35d83024. + // DecodeInstruction_52374a4f35d83024. - let memory_address_to_id_value_tmp_1204 = + let memoryaddresstoid_value_tmp_d5fd_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1205 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1204); - let offset2_tmp_1206 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1205.get_m31(3))) + let memoryidtobig_value_tmp_d5fd_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_d5fd_1); + let offset2_tmp_d5fd_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_d5fd_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1205.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_d5fd_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1205.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_d5fd_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col3 = offset2_tmp_1206.as_m31(); + let offset2_col3 = offset2_tmp_d5fd_3.as_m31(); trace[3].data[row_index] = offset2_col3; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -242,22 +242,22 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1208 = + let memoryaddresstoid_value_tmp_d5fd_4 = memory_address_to_id_state.deduce_output(input_ap_col1); - let memory_id_to_big_value_tmp_1209 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1208); - let stored_fp_id_col4 = memory_address_to_id_value_tmp_1208; + let memoryidtobig_value_tmp_d5fd_5 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_d5fd_4); + let stored_fp_id_col4 = memoryaddresstoid_value_tmp_d5fd_4; trace[4].data[row_index] = stored_fp_id_col4; sub_components_inputs.memory_address_to_id_inputs[0].extend(input_ap_col1.unpack()); lookup_data.memoryaddresstoid[0].push([input_ap_col1, stored_fp_id_col4]); - let stored_fp_limb_0_col5 = memory_id_to_big_value_tmp_1209.get_m31(0); + let stored_fp_limb_0_col5 = memoryidtobig_value_tmp_d5fd_5.get_m31(0); trace[5].data[row_index] = stored_fp_limb_0_col5; - let stored_fp_limb_1_col6 = memory_id_to_big_value_tmp_1209.get_m31(1); + let stored_fp_limb_1_col6 = memoryidtobig_value_tmp_d5fd_5.get_m31(1); trace[6].data[row_index] = stored_fp_limb_1_col6; - let stored_fp_limb_2_col7 = memory_id_to_big_value_tmp_1209.get_m31(2); + let stored_fp_limb_2_col7 = memoryidtobig_value_tmp_d5fd_5.get_m31(2); trace[7].data[row_index] = stored_fp_limb_2_col7; sub_components_inputs.memory_id_to_big_inputs[0].extend(stored_fp_id_col4.unpack()); @@ -293,24 +293,24 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1210 = + let memoryaddresstoid_value_tmp_d5fd_6 = memory_address_to_id_state.deduce_output(((input_ap_col1) + (M31_1))); - let memory_id_to_big_value_tmp_1211 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1210); - let stored_ret_pc_id_col8 = memory_address_to_id_value_tmp_1210; + let memoryidtobig_value_tmp_d5fd_7 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_d5fd_6); + let stored_ret_pc_id_col8 = memoryaddresstoid_value_tmp_d5fd_6; trace[8].data[row_index] = stored_ret_pc_id_col8; sub_components_inputs.memory_address_to_id_inputs[1] .extend(((input_ap_col1) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[1] .push([((input_ap_col1) + (M31_1)), stored_ret_pc_id_col8]); - let stored_ret_pc_limb_0_col9 = memory_id_to_big_value_tmp_1211.get_m31(0); + let stored_ret_pc_limb_0_col9 = memoryidtobig_value_tmp_d5fd_7.get_m31(0); trace[9].data[row_index] = stored_ret_pc_limb_0_col9; - let stored_ret_pc_limb_1_col10 = memory_id_to_big_value_tmp_1211.get_m31(1); + let stored_ret_pc_limb_1_col10 = memoryidtobig_value_tmp_d5fd_7.get_m31(1); trace[10].data[row_index] = stored_ret_pc_limb_1_col10; - let stored_ret_pc_limb_2_col11 = memory_id_to_big_value_tmp_1211.get_m31(2); + let stored_ret_pc_limb_2_col11 = memoryidtobig_value_tmp_d5fd_7.get_m31(2); trace[11].data[row_index] = stored_ret_pc_limb_2_col11; sub_components_inputs.memory_id_to_big_inputs[1].extend(stored_ret_pc_id_col8.unpack()); @@ -346,13 +346,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1212 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_d5fd_8 = memory_address_to_id_state .deduce_output(((input_fp_col2) + ((offset2_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_1213 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1212); - let next_pc_id_col12 = memory_address_to_id_value_tmp_1212; + let memoryidtobig_value_tmp_d5fd_9 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_d5fd_8); + let next_pc_id_col12 = memoryaddresstoid_value_tmp_d5fd_8; trace[12].data[row_index] = next_pc_id_col12; sub_components_inputs.memory_address_to_id_inputs[2] .extend(((input_fp_col2) + ((offset2_col3) - (M31_32768))).unpack()); @@ -361,11 +361,11 @@ pub fn write_trace_simd( ((input_fp_col2) + ((offset2_col3) - (M31_32768))), next_pc_id_col12, ]); - let next_pc_limb_0_col13 = memory_id_to_big_value_tmp_1213.get_m31(0); + let next_pc_limb_0_col13 = memoryidtobig_value_tmp_d5fd_9.get_m31(0); trace[13].data[row_index] = next_pc_limb_0_col13; - let next_pc_limb_1_col14 = memory_id_to_big_value_tmp_1213.get_m31(1); + let next_pc_limb_1_col14 = memoryidtobig_value_tmp_d5fd_9.get_m31(1); trace[14].data[row_index] = next_pc_limb_1_col14; - let next_pc_limb_2_col15 = memory_id_to_big_value_tmp_1213.get_m31(2); + let next_pc_limb_2_col15 = memoryidtobig_value_tmp_d5fd_9.get_m31(2); trace[15].data[row_index] = next_pc_limb_2_col15; sub_components_inputs.memory_id_to_big_inputs[2].extend(next_pc_id_col12.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/component.rs index 7f4db22d..8a4562c1 100644 --- a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/component.rs @@ -104,9 +104,9 @@ impl FrameworkEval for Eval { let distance_to_next_pc_limb_1_col15 = eval.next_trace_mask(); let distance_to_next_pc_limb_2_col16 = eval.next_trace_mask(); - // decode_instruction_553df0b64b2e381f. + // DecodeInstruction_553df0b64b2e381f. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -128,17 +128,17 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[input_ap_col1.clone(), stored_fp_id_col3.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -147,7 +147,7 @@ impl FrameworkEval for Eval { stored_fp_limb_1_col5.clone(), stored_fp_limb_2_col6.clone(), ], - )]); + )); //[ap] = fp. eval.add_constraint( @@ -156,18 +156,18 @@ impl FrameworkEval for Eval { - input_fp_col2.clone()), ); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + M31_1.clone()), stored_ret_pc_id_col7.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -176,7 +176,7 @@ impl FrameworkEval for Eval { stored_ret_pc_limb_1_col9.clone(), stored_ret_pc_limb_2_col10.clone(), ], - )]); + )); //[ap+1] = return_pc. eval.add_constraint( @@ -186,18 +186,18 @@ impl FrameworkEval for Eval { - (input_pc_col0.clone() + M31_2.clone())), ); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), distance_to_next_pc_id_col11.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col12.clone() * (msb_col12.clone() - M31_1.clone()))); @@ -210,7 +210,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col13.clone()) * (msb_col12.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -244,9 +244,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col12.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -254,9 +254,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -269,7 +269,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + M31_2.clone()), (input_ap_col1.clone() + M31_2.clone()), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/prover.rs index 49bbd704..f310e8dd 100644 --- a/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/call_opcode_is_rel_t_op1_base_fp_f/prover.rs @@ -183,20 +183,20 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, call_opcode_is_rel_t_op1_base_fp_f_input)| { - let input_tmp_1184 = call_opcode_is_rel_t_op1_base_fp_f_input; - let input_pc_col0 = input_tmp_1184.pc; + let input_tmp_4f8b_0 = call_opcode_is_rel_t_op1_base_fp_f_input; + let input_pc_col0 = input_tmp_4f8b_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1184.ap; + let input_ap_col1 = input_tmp_4f8b_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1184.fp; + let input_fp_col2 = input_tmp_4f8b_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_553df0b64b2e381f. + // DecodeInstruction_553df0b64b2e381f. - let memory_address_to_id_value_tmp_1188 = + let memoryaddresstoid_value_tmp_4f8b_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1189 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1188); + let memoryidtobig_value_tmp_4f8b_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_4f8b_1); sub_components_inputs.verify_instruction_inputs[0].extend( ( @@ -232,22 +232,22 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1191 = + let memoryaddresstoid_value_tmp_4f8b_3 = memory_address_to_id_state.deduce_output(input_ap_col1); - let memory_id_to_big_value_tmp_1192 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1191); - let stored_fp_id_col3 = memory_address_to_id_value_tmp_1191; + let memoryidtobig_value_tmp_4f8b_4 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_4f8b_3); + let stored_fp_id_col3 = memoryaddresstoid_value_tmp_4f8b_3; trace[3].data[row_index] = stored_fp_id_col3; sub_components_inputs.memory_address_to_id_inputs[0].extend(input_ap_col1.unpack()); lookup_data.memoryaddresstoid[0].push([input_ap_col1, stored_fp_id_col3]); - let stored_fp_limb_0_col4 = memory_id_to_big_value_tmp_1192.get_m31(0); + let stored_fp_limb_0_col4 = memoryidtobig_value_tmp_4f8b_4.get_m31(0); trace[4].data[row_index] = stored_fp_limb_0_col4; - let stored_fp_limb_1_col5 = memory_id_to_big_value_tmp_1192.get_m31(1); + let stored_fp_limb_1_col5 = memoryidtobig_value_tmp_4f8b_4.get_m31(1); trace[5].data[row_index] = stored_fp_limb_1_col5; - let stored_fp_limb_2_col6 = memory_id_to_big_value_tmp_1192.get_m31(2); + let stored_fp_limb_2_col6 = memoryidtobig_value_tmp_4f8b_4.get_m31(2); trace[6].data[row_index] = stored_fp_limb_2_col6; sub_components_inputs.memory_id_to_big_inputs[0].extend(stored_fp_id_col3.unpack()); @@ -283,24 +283,24 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1193 = + let memoryaddresstoid_value_tmp_4f8b_5 = memory_address_to_id_state.deduce_output(((input_ap_col1) + (M31_1))); - let memory_id_to_big_value_tmp_1194 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1193); - let stored_ret_pc_id_col7 = memory_address_to_id_value_tmp_1193; + let memoryidtobig_value_tmp_4f8b_6 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_4f8b_5); + let stored_ret_pc_id_col7 = memoryaddresstoid_value_tmp_4f8b_5; trace[7].data[row_index] = stored_ret_pc_id_col7; sub_components_inputs.memory_address_to_id_inputs[1] .extend(((input_ap_col1) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[1] .push([((input_ap_col1) + (M31_1)), stored_ret_pc_id_col7]); - let stored_ret_pc_limb_0_col8 = memory_id_to_big_value_tmp_1194.get_m31(0); + let stored_ret_pc_limb_0_col8 = memoryidtobig_value_tmp_4f8b_6.get_m31(0); trace[8].data[row_index] = stored_ret_pc_limb_0_col8; - let stored_ret_pc_limb_1_col9 = memory_id_to_big_value_tmp_1194.get_m31(1); + let stored_ret_pc_limb_1_col9 = memoryidtobig_value_tmp_4f8b_6.get_m31(1); trace[9].data[row_index] = stored_ret_pc_limb_1_col9; - let stored_ret_pc_limb_2_col10 = memory_id_to_big_value_tmp_1194.get_m31(2); + let stored_ret_pc_limb_2_col10 = memoryidtobig_value_tmp_4f8b_6.get_m31(2); trace[10].data[row_index] = stored_ret_pc_limb_2_col10; sub_components_inputs.memory_id_to_big_inputs[1].extend(stored_ret_pc_id_col7.unpack()); @@ -336,13 +336,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1195 = + let memoryaddresstoid_value_tmp_4f8b_7 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_1196 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1195); - let distance_to_next_pc_id_col11 = memory_address_to_id_value_tmp_1195; + let memoryidtobig_value_tmp_4f8b_8 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_4f8b_7); + let distance_to_next_pc_id_col11 = memoryaddresstoid_value_tmp_4f8b_7; trace[11].data[row_index] = distance_to_next_pc_id_col11; sub_components_inputs.memory_address_to_id_inputs[2] .extend(((input_pc_col0) + (M31_1)).unpack()); @@ -350,20 +350,20 @@ pub fn write_trace_simd( lookup_data.memoryaddresstoid[2] .push([((input_pc_col0) + (M31_1)), distance_to_next_pc_id_col11]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1197 = memory_id_to_big_value_tmp_1196.get_m31(27).eq(M31_256); - let msb_col12 = msb_tmp_1197.as_m31(); + let msb_tmp_4f8b_9 = memoryidtobig_value_tmp_4f8b_8.get_m31(27).eq(M31_256); + let msb_col12 = msb_tmp_4f8b_9.as_m31(); trace[12].data[row_index] = msb_col12; - let mid_limbs_set_tmp_1198 = memory_id_to_big_value_tmp_1196.get_m31(20).eq(M31_511); - let mid_limbs_set_col13 = mid_limbs_set_tmp_1198.as_m31(); + let mid_limbs_set_tmp_4f8b_10 = memoryidtobig_value_tmp_4f8b_8.get_m31(20).eq(M31_511); + let mid_limbs_set_col13 = mid_limbs_set_tmp_4f8b_10.as_m31(); trace[13].data[row_index] = mid_limbs_set_col13; - let distance_to_next_pc_limb_0_col14 = memory_id_to_big_value_tmp_1196.get_m31(0); + let distance_to_next_pc_limb_0_col14 = memoryidtobig_value_tmp_4f8b_8.get_m31(0); trace[14].data[row_index] = distance_to_next_pc_limb_0_col14; - let distance_to_next_pc_limb_1_col15 = memory_id_to_big_value_tmp_1196.get_m31(1); + let distance_to_next_pc_limb_1_col15 = memoryidtobig_value_tmp_4f8b_8.get_m31(1); trace[15].data[row_index] = distance_to_next_pc_limb_1_col15; - let distance_to_next_pc_limb_2_col16 = memory_id_to_big_value_tmp_1196.get_m31(2); + let distance_to_next_pc_limb_2_col16 = memoryidtobig_value_tmp_4f8b_8.get_m31(2); trace[16].data[row_index] = distance_to_next_pc_limb_2_col16; sub_components_inputs.memory_id_to_big_inputs[2] .extend(distance_to_next_pc_id_col11.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/generic_opcode/component.rs b/stwo_cairo_prover/crates/prover/src/components/generic_opcode/component.rs index 55241a68..8410c6a2 100644 --- a/stwo_cairo_prover/crates/prover/src/components/generic_opcode/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/generic_opcode/component.rs @@ -323,11 +323,11 @@ impl FrameworkEval for Eval { let mid_limbs_set_col227 = eval.next_trace_mask(); let next_pc_jnz_col228 = eval.next_trace_mask(); - // decode_generic_instruction. + // DecodeGenericInstruction. - // decode_instruction_337193008ebaa578. + // DecodeInstruction_337193008ebaa578. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -351,48 +351,51 @@ impl FrameworkEval for Eval { opcode_ret_col19.clone(), opcode_assert_eq_col20.clone(), ], - )]); + )); - let op1_base_op0_tmp_225 = (((M31_1.clone() - op1_imm_col8.clone()) + let op1_base_op0_tmp_5745_21 = (((M31_1.clone() - op1_imm_col8.clone()) - op1_base_fp_col9.clone()) - op1_base_ap_col10.clone()); // op1_src is 0, 1, 2, or 4. eval.add_constraint( - (op1_base_op0_tmp_225.clone() * (M31_1.clone() - op1_base_op0_tmp_225.clone())), + (op1_base_op0_tmp_5745_21.clone() * (M31_1.clone() - op1_base_op0_tmp_5745_21.clone())), ); - let res_op1_tmp_226 = (((M31_1.clone() - res_add_col11.clone()) - res_mul_col12.clone()) + let res_op1_tmp_5745_22 = (((M31_1.clone() - res_add_col11.clone()) + - res_mul_col12.clone()) - pc_update_jnz_col15.clone()); // res_logic is 0, 1, or 2. - eval.add_constraint((res_op1_tmp_226.clone() * (M31_1.clone() - res_op1_tmp_226.clone()))); - let pc_update_regular_tmp_227 = (((M31_1.clone() - pc_update_jump_col13.clone()) + eval.add_constraint( + (res_op1_tmp_5745_22.clone() * (M31_1.clone() - res_op1_tmp_5745_22.clone())), + ); + let pc_update_regular_tmp_5745_23 = (((M31_1.clone() - pc_update_jump_col13.clone()) - pc_update_jump_rel_col14.clone()) - pc_update_jnz_col15.clone()); // pc_update is 0, 1, 2, or 4. eval.add_constraint( - (pc_update_regular_tmp_227.clone() - * (M31_1.clone() - pc_update_regular_tmp_227.clone())), + (pc_update_regular_tmp_5745_23.clone() + * (M31_1.clone() - pc_update_regular_tmp_5745_23.clone())), ); - let ap_update_regular_tmp_228 = (((M31_1.clone() - ap_update_add_col16.clone()) + let ap_update_regular_tmp_5745_24 = (((M31_1.clone() - ap_update_add_col16.clone()) - ap_update_add_1_col17.clone()) - opcode_call_col18.clone()); // ap_update is 0, 1, 2, or 4. eval.add_constraint( - (ap_update_regular_tmp_228.clone() - * (M31_1.clone() - ap_update_regular_tmp_228.clone())), + (ap_update_regular_tmp_5745_24.clone() + * (M31_1.clone() - ap_update_regular_tmp_5745_24.clone())), ); - let fp_update_regular_tmp_229 = + let fp_update_regular_tmp_5745_25 = ((M31_1.clone() - opcode_call_col18.clone()) - opcode_ret_col19.clone()); // opcode is 0, 1, 2, or 4. eval.add_constraint( - (fp_update_regular_tmp_229.clone() - * (M31_1.clone() - fp_update_regular_tmp_229.clone())), + (fp_update_regular_tmp_5745_25.clone() + * (M31_1.clone() - fp_update_regular_tmp_5745_25.clone())), ); - // eval_operands. + // EvalOperands. - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -401,9 +404,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col21.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -437,11 +440,11 @@ impl FrameworkEval for Eval { dst_limb_26_col48.clone(), dst_limb_27_col49.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -450,9 +453,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col50.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -486,80 +489,80 @@ impl FrameworkEval for Eval { op0_limb_26_col77.clone(), op0_limb_27_col78.clone(), ], - )]); + )); - // cond_felt252_as_addr. + // CondFelt252AsAddr. // Address limb 3 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_3_col54.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_3_col54.clone())); // Address limb 4 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_4_col55.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_4_col55.clone())); // Address limb 5 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_5_col56.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_5_col56.clone())); // Address limb 6 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_6_col57.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_6_col57.clone())); // Address limb 7 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_7_col58.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_7_col58.clone())); // Address limb 8 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_8_col59.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_8_col59.clone())); // Address limb 9 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_9_col60.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_9_col60.clone())); // Address limb 10 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_10_col61.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_10_col61.clone())); // Address limb 11 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_11_col62.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_11_col62.clone())); // Address limb 12 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_12_col63.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_12_col63.clone())); // Address limb 13 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_13_col64.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_13_col64.clone())); // Address limb 14 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_14_col65.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_14_col65.clone())); // Address limb 15 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_15_col66.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_15_col66.clone())); // Address limb 16 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_16_col67.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_16_col67.clone())); // Address limb 17 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_17_col68.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_17_col68.clone())); // Address limb 18 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_18_col69.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_18_col69.clone())); // Address limb 19 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_19_col70.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_19_col70.clone())); // Address limb 20 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_20_col71.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_20_col71.clone())); // Address limb 21 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_21_col72.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_21_col72.clone())); // Address limb 22 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_22_col73.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_22_col73.clone())); // Address limb 23 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_23_col74.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_23_col74.clone())); // Address limb 24 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_24_col75.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_24_col75.clone())); // Address limb 25 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_25_col76.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_25_col76.clone())); // Address limb 26 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_26_col77.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_26_col77.clone())); // Address limb 27 equals 0. - eval.add_constraint((op1_base_op0_tmp_225.clone() * op0_limb_27_col78.clone())); + eval.add_constraint((op1_base_op0_tmp_5745_21.clone() * op0_limb_27_col78.clone())); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (((((op1_base_fp_col9.clone() * input_fp_col2.clone()) + (op1_base_ap_col10.clone() * input_ap_col1.clone())) + (op1_imm_col8.clone() * input_pc_col0.clone())) - + (op1_base_op0_tmp_225.clone() + + (op1_base_op0_tmp_5745_21.clone() * ((op0_limb_0_col51.clone() + (op0_limb_1_col52.clone() * M31_512.clone())) + (op0_limb_2_col53.clone() * M31_262144.clone())))) + (offset2_col5.clone() - M31_32768.clone())), op1_id_col79.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -593,523 +596,524 @@ impl FrameworkEval for Eval { op1_limb_26_col106.clone(), op1_limb_27_col107.clone(), ], - )]); + )); - // add252. + // Add252. - // range_check_big_value. + // RangeCheckBigValue. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[add_res_limb_0_col108.clone(), add_res_limb_1_col109.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[add_res_limb_2_col110.clone(), add_res_limb_3_col111.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[add_res_limb_4_col112.clone(), add_res_limb_5_col113.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[add_res_limb_6_col114.clone(), add_res_limb_7_col115.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[add_res_limb_8_col116.clone(), add_res_limb_9_col117.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_10_col118.clone(), add_res_limb_11_col119.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_12_col120.clone(), add_res_limb_13_col121.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_14_col122.clone(), add_res_limb_15_col123.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_16_col124.clone(), add_res_limb_17_col125.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_18_col126.clone(), add_res_limb_19_col127.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_20_col128.clone(), add_res_limb_21_col129.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_22_col130.clone(), add_res_limb_23_col131.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_24_col132.clone(), add_res_limb_25_col133.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ add_res_limb_26_col134.clone(), add_res_limb_27_col135.clone(), ], - )]); + )); - // verify_add252. + // VerifyAdd252. // sub_p_bit is a bit. eval.add_constraint( (sub_p_bit_col136.clone() * (sub_p_bit_col136.clone() - M31_1.clone())), ); - let carry_tmp_740 = (((((op0_limb_0_col51.clone() + op1_limb_0_col80.clone()) + let carry_tmp_5745_34 = (((((op0_limb_0_col51.clone() + op1_limb_0_col80.clone()) + M31_0.clone()) - add_res_limb_0_col108.clone()) - (M31_1.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_740.clone() - * ((carry_tmp_740.clone() * carry_tmp_740.clone()) - M31_1.clone())), + (carry_tmp_5745_34.clone() + * ((carry_tmp_5745_34.clone() * carry_tmp_5745_34.clone()) - M31_1.clone())), ); - let carry_tmp_741 = (((((op0_limb_1_col52.clone() + op1_limb_1_col81.clone()) - + carry_tmp_740.clone()) + let carry_tmp_5745_35 = (((((op0_limb_1_col52.clone() + op1_limb_1_col81.clone()) + + carry_tmp_5745_34.clone()) - add_res_limb_1_col109.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_741.clone() - * ((carry_tmp_741.clone() * carry_tmp_741.clone()) - M31_1.clone())), + (carry_tmp_5745_35.clone() + * ((carry_tmp_5745_35.clone() * carry_tmp_5745_35.clone()) - M31_1.clone())), ); - let carry_tmp_742 = (((((op0_limb_2_col53.clone() + op1_limb_2_col82.clone()) - + carry_tmp_741.clone()) + let carry_tmp_5745_36 = (((((op0_limb_2_col53.clone() + op1_limb_2_col82.clone()) + + carry_tmp_5745_35.clone()) - add_res_limb_2_col110.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_742.clone() - * ((carry_tmp_742.clone() * carry_tmp_742.clone()) - M31_1.clone())), + (carry_tmp_5745_36.clone() + * ((carry_tmp_5745_36.clone() * carry_tmp_5745_36.clone()) - M31_1.clone())), ); - let carry_tmp_743 = (((((op0_limb_3_col54.clone() + op1_limb_3_col83.clone()) - + carry_tmp_742.clone()) + let carry_tmp_5745_37 = (((((op0_limb_3_col54.clone() + op1_limb_3_col83.clone()) + + carry_tmp_5745_36.clone()) - add_res_limb_3_col111.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_743.clone() - * ((carry_tmp_743.clone() * carry_tmp_743.clone()) - M31_1.clone())), + (carry_tmp_5745_37.clone() + * ((carry_tmp_5745_37.clone() * carry_tmp_5745_37.clone()) - M31_1.clone())), ); - let carry_tmp_744 = (((((op0_limb_4_col55.clone() + op1_limb_4_col84.clone()) - + carry_tmp_743.clone()) + let carry_tmp_5745_38 = (((((op0_limb_4_col55.clone() + op1_limb_4_col84.clone()) + + carry_tmp_5745_37.clone()) - add_res_limb_4_col112.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_744.clone() - * ((carry_tmp_744.clone() * carry_tmp_744.clone()) - M31_1.clone())), + (carry_tmp_5745_38.clone() + * ((carry_tmp_5745_38.clone() * carry_tmp_5745_38.clone()) - M31_1.clone())), ); - let carry_tmp_745 = (((((op0_limb_5_col56.clone() + op1_limb_5_col85.clone()) - + carry_tmp_744.clone()) + let carry_tmp_5745_39 = (((((op0_limb_5_col56.clone() + op1_limb_5_col85.clone()) + + carry_tmp_5745_38.clone()) - add_res_limb_5_col113.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_745.clone() - * ((carry_tmp_745.clone() * carry_tmp_745.clone()) - M31_1.clone())), + (carry_tmp_5745_39.clone() + * ((carry_tmp_5745_39.clone() * carry_tmp_5745_39.clone()) - M31_1.clone())), ); - let carry_tmp_746 = (((((op0_limb_6_col57.clone() + op1_limb_6_col86.clone()) - + carry_tmp_745.clone()) + let carry_tmp_5745_40 = (((((op0_limb_6_col57.clone() + op1_limb_6_col86.clone()) + + carry_tmp_5745_39.clone()) - add_res_limb_6_col114.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_746.clone() - * ((carry_tmp_746.clone() * carry_tmp_746.clone()) - M31_1.clone())), + (carry_tmp_5745_40.clone() + * ((carry_tmp_5745_40.clone() * carry_tmp_5745_40.clone()) - M31_1.clone())), ); - let carry_tmp_747 = (((((op0_limb_7_col58.clone() + op1_limb_7_col87.clone()) - + carry_tmp_746.clone()) + let carry_tmp_5745_41 = (((((op0_limb_7_col58.clone() + op1_limb_7_col87.clone()) + + carry_tmp_5745_40.clone()) - add_res_limb_7_col115.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_747.clone() - * ((carry_tmp_747.clone() * carry_tmp_747.clone()) - M31_1.clone())), + (carry_tmp_5745_41.clone() + * ((carry_tmp_5745_41.clone() * carry_tmp_5745_41.clone()) - M31_1.clone())), ); - let carry_tmp_748 = (((((op0_limb_8_col59.clone() + op1_limb_8_col88.clone()) - + carry_tmp_747.clone()) + let carry_tmp_5745_42 = (((((op0_limb_8_col59.clone() + op1_limb_8_col88.clone()) + + carry_tmp_5745_41.clone()) - add_res_limb_8_col116.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_748.clone() - * ((carry_tmp_748.clone() * carry_tmp_748.clone()) - M31_1.clone())), + (carry_tmp_5745_42.clone() + * ((carry_tmp_5745_42.clone() * carry_tmp_5745_42.clone()) - M31_1.clone())), ); - let carry_tmp_749 = (((((op0_limb_9_col60.clone() + op1_limb_9_col89.clone()) - + carry_tmp_748.clone()) + let carry_tmp_5745_43 = (((((op0_limb_9_col60.clone() + op1_limb_9_col89.clone()) + + carry_tmp_5745_42.clone()) - add_res_limb_9_col117.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_749.clone() - * ((carry_tmp_749.clone() * carry_tmp_749.clone()) - M31_1.clone())), + (carry_tmp_5745_43.clone() + * ((carry_tmp_5745_43.clone() * carry_tmp_5745_43.clone()) - M31_1.clone())), ); - let carry_tmp_750 = (((((op0_limb_10_col61.clone() + op1_limb_10_col90.clone()) - + carry_tmp_749.clone()) + let carry_tmp_5745_44 = (((((op0_limb_10_col61.clone() + op1_limb_10_col90.clone()) + + carry_tmp_5745_43.clone()) - add_res_limb_10_col118.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_750.clone() - * ((carry_tmp_750.clone() * carry_tmp_750.clone()) - M31_1.clone())), + (carry_tmp_5745_44.clone() + * ((carry_tmp_5745_44.clone() * carry_tmp_5745_44.clone()) - M31_1.clone())), ); - let carry_tmp_751 = (((((op0_limb_11_col62.clone() + op1_limb_11_col91.clone()) - + carry_tmp_750.clone()) + let carry_tmp_5745_45 = (((((op0_limb_11_col62.clone() + op1_limb_11_col91.clone()) + + carry_tmp_5745_44.clone()) - add_res_limb_11_col119.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_751.clone() - * ((carry_tmp_751.clone() * carry_tmp_751.clone()) - M31_1.clone())), + (carry_tmp_5745_45.clone() + * ((carry_tmp_5745_45.clone() * carry_tmp_5745_45.clone()) - M31_1.clone())), ); - let carry_tmp_752 = (((((op0_limb_12_col63.clone() + op1_limb_12_col92.clone()) - + carry_tmp_751.clone()) + let carry_tmp_5745_46 = (((((op0_limb_12_col63.clone() + op1_limb_12_col92.clone()) + + carry_tmp_5745_45.clone()) - add_res_limb_12_col120.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_752.clone() - * ((carry_tmp_752.clone() * carry_tmp_752.clone()) - M31_1.clone())), + (carry_tmp_5745_46.clone() + * ((carry_tmp_5745_46.clone() * carry_tmp_5745_46.clone()) - M31_1.clone())), ); - let carry_tmp_753 = (((((op0_limb_13_col64.clone() + op1_limb_13_col93.clone()) - + carry_tmp_752.clone()) + let carry_tmp_5745_47 = (((((op0_limb_13_col64.clone() + op1_limb_13_col93.clone()) + + carry_tmp_5745_46.clone()) - add_res_limb_13_col121.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_753.clone() - * ((carry_tmp_753.clone() * carry_tmp_753.clone()) - M31_1.clone())), + (carry_tmp_5745_47.clone() + * ((carry_tmp_5745_47.clone() * carry_tmp_5745_47.clone()) - M31_1.clone())), ); - let carry_tmp_754 = (((((op0_limb_14_col65.clone() + op1_limb_14_col94.clone()) - + carry_tmp_753.clone()) + let carry_tmp_5745_48 = (((((op0_limb_14_col65.clone() + op1_limb_14_col94.clone()) + + carry_tmp_5745_47.clone()) - add_res_limb_14_col122.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_754.clone() - * ((carry_tmp_754.clone() * carry_tmp_754.clone()) - M31_1.clone())), + (carry_tmp_5745_48.clone() + * ((carry_tmp_5745_48.clone() * carry_tmp_5745_48.clone()) - M31_1.clone())), ); - let carry_tmp_755 = (((((op0_limb_15_col66.clone() + op1_limb_15_col95.clone()) - + carry_tmp_754.clone()) + let carry_tmp_5745_49 = (((((op0_limb_15_col66.clone() + op1_limb_15_col95.clone()) + + carry_tmp_5745_48.clone()) - add_res_limb_15_col123.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_755.clone() - * ((carry_tmp_755.clone() * carry_tmp_755.clone()) - M31_1.clone())), + (carry_tmp_5745_49.clone() + * ((carry_tmp_5745_49.clone() * carry_tmp_5745_49.clone()) - M31_1.clone())), ); - let carry_tmp_756 = (((((op0_limb_16_col67.clone() + op1_limb_16_col96.clone()) - + carry_tmp_755.clone()) + let carry_tmp_5745_50 = (((((op0_limb_16_col67.clone() + op1_limb_16_col96.clone()) + + carry_tmp_5745_49.clone()) - add_res_limb_16_col124.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_756.clone() - * ((carry_tmp_756.clone() * carry_tmp_756.clone()) - M31_1.clone())), + (carry_tmp_5745_50.clone() + * ((carry_tmp_5745_50.clone() * carry_tmp_5745_50.clone()) - M31_1.clone())), ); - let carry_tmp_757 = (((((op0_limb_17_col68.clone() + op1_limb_17_col97.clone()) - + carry_tmp_756.clone()) + let carry_tmp_5745_51 = (((((op0_limb_17_col68.clone() + op1_limb_17_col97.clone()) + + carry_tmp_5745_50.clone()) - add_res_limb_17_col125.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_757.clone() - * ((carry_tmp_757.clone() * carry_tmp_757.clone()) - M31_1.clone())), + (carry_tmp_5745_51.clone() + * ((carry_tmp_5745_51.clone() * carry_tmp_5745_51.clone()) - M31_1.clone())), ); - let carry_tmp_758 = (((((op0_limb_18_col69.clone() + op1_limb_18_col98.clone()) - + carry_tmp_757.clone()) + let carry_tmp_5745_52 = (((((op0_limb_18_col69.clone() + op1_limb_18_col98.clone()) + + carry_tmp_5745_51.clone()) - add_res_limb_18_col126.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_758.clone() - * ((carry_tmp_758.clone() * carry_tmp_758.clone()) - M31_1.clone())), + (carry_tmp_5745_52.clone() + * ((carry_tmp_5745_52.clone() * carry_tmp_5745_52.clone()) - M31_1.clone())), ); - let carry_tmp_759 = (((((op0_limb_19_col70.clone() + op1_limb_19_col99.clone()) - + carry_tmp_758.clone()) + let carry_tmp_5745_53 = (((((op0_limb_19_col70.clone() + op1_limb_19_col99.clone()) + + carry_tmp_5745_52.clone()) - add_res_limb_19_col127.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_759.clone() - * ((carry_tmp_759.clone() * carry_tmp_759.clone()) - M31_1.clone())), + (carry_tmp_5745_53.clone() + * ((carry_tmp_5745_53.clone() * carry_tmp_5745_53.clone()) - M31_1.clone())), ); - let carry_tmp_760 = (((((op0_limb_20_col71.clone() + op1_limb_20_col100.clone()) - + carry_tmp_759.clone()) + let carry_tmp_5745_54 = (((((op0_limb_20_col71.clone() + op1_limb_20_col100.clone()) + + carry_tmp_5745_53.clone()) - add_res_limb_20_col128.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_760.clone() - * ((carry_tmp_760.clone() * carry_tmp_760.clone()) - M31_1.clone())), + (carry_tmp_5745_54.clone() + * ((carry_tmp_5745_54.clone() * carry_tmp_5745_54.clone()) - M31_1.clone())), ); - let carry_tmp_761 = (((((op0_limb_21_col72.clone() + op1_limb_21_col101.clone()) - + carry_tmp_760.clone()) + let carry_tmp_5745_55 = (((((op0_limb_21_col72.clone() + op1_limb_21_col101.clone()) + + carry_tmp_5745_54.clone()) - add_res_limb_21_col129.clone()) - (M31_136.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_761.clone() - * ((carry_tmp_761.clone() * carry_tmp_761.clone()) - M31_1.clone())), + (carry_tmp_5745_55.clone() + * ((carry_tmp_5745_55.clone() * carry_tmp_5745_55.clone()) - M31_1.clone())), ); - let carry_tmp_762 = (((((op0_limb_22_col73.clone() + op1_limb_22_col102.clone()) - + carry_tmp_761.clone()) + let carry_tmp_5745_56 = (((((op0_limb_22_col73.clone() + op1_limb_22_col102.clone()) + + carry_tmp_5745_55.clone()) - add_res_limb_22_col130.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_762.clone() - * ((carry_tmp_762.clone() * carry_tmp_762.clone()) - M31_1.clone())), + (carry_tmp_5745_56.clone() + * ((carry_tmp_5745_56.clone() * carry_tmp_5745_56.clone()) - M31_1.clone())), ); - let carry_tmp_763 = (((((op0_limb_23_col74.clone() + op1_limb_23_col103.clone()) - + carry_tmp_762.clone()) + let carry_tmp_5745_57 = (((((op0_limb_23_col74.clone() + op1_limb_23_col103.clone()) + + carry_tmp_5745_56.clone()) - add_res_limb_23_col131.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_763.clone() - * ((carry_tmp_763.clone() * carry_tmp_763.clone()) - M31_1.clone())), + (carry_tmp_5745_57.clone() + * ((carry_tmp_5745_57.clone() * carry_tmp_5745_57.clone()) - M31_1.clone())), ); - let carry_tmp_764 = (((((op0_limb_24_col75.clone() + op1_limb_24_col104.clone()) - + carry_tmp_763.clone()) + let carry_tmp_5745_58 = (((((op0_limb_24_col75.clone() + op1_limb_24_col104.clone()) + + carry_tmp_5745_57.clone()) - add_res_limb_24_col132.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_764.clone() - * ((carry_tmp_764.clone() * carry_tmp_764.clone()) - M31_1.clone())), + (carry_tmp_5745_58.clone() + * ((carry_tmp_5745_58.clone() * carry_tmp_5745_58.clone()) - M31_1.clone())), ); - let carry_tmp_765 = (((((op0_limb_25_col76.clone() + op1_limb_25_col105.clone()) - + carry_tmp_764.clone()) + let carry_tmp_5745_59 = (((((op0_limb_25_col76.clone() + op1_limb_25_col105.clone()) + + carry_tmp_5745_58.clone()) - add_res_limb_25_col133.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_765.clone() - * ((carry_tmp_765.clone() * carry_tmp_765.clone()) - M31_1.clone())), + (carry_tmp_5745_59.clone() + * ((carry_tmp_5745_59.clone() * carry_tmp_5745_59.clone()) - M31_1.clone())), ); - let carry_tmp_766 = (((((op0_limb_26_col77.clone() + op1_limb_26_col106.clone()) - + carry_tmp_765.clone()) + let carry_tmp_5745_60 = (((((op0_limb_26_col77.clone() + op1_limb_26_col106.clone()) + + carry_tmp_5745_59.clone()) - add_res_limb_26_col134.clone()) - (M31_0.clone() * sub_p_bit_col136.clone())) * M31_4194304.clone()); eval.add_constraint( - (carry_tmp_766.clone() - * ((carry_tmp_766.clone() * carry_tmp_766.clone()) - M31_1.clone())), + (carry_tmp_5745_60.clone() + * ((carry_tmp_5745_60.clone() * carry_tmp_5745_60.clone()) - M31_1.clone())), ); eval.add_constraint( - ((((op0_limb_27_col78.clone() + op1_limb_27_col107.clone()) + carry_tmp_766.clone()) + ((((op0_limb_27_col78.clone() + op1_limb_27_col107.clone()) + + carry_tmp_5745_60.clone()) - add_res_limb_27_col135.clone()) - (M31_256.clone() * sub_p_bit_col136.clone())), ); - // mul252. + // Mul252. - // range_check_big_value. + // RangeCheckBigValue. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[mul_res_limb_0_col137.clone(), mul_res_limb_1_col138.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[mul_res_limb_2_col139.clone(), mul_res_limb_3_col140.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[mul_res_limb_4_col141.clone(), mul_res_limb_5_col142.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[mul_res_limb_6_col143.clone(), mul_res_limb_7_col144.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[mul_res_limb_8_col145.clone(), mul_res_limb_9_col146.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_10_col147.clone(), mul_res_limb_11_col148.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_12_col149.clone(), mul_res_limb_13_col150.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_14_col151.clone(), mul_res_limb_15_col152.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_16_col153.clone(), mul_res_limb_17_col154.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_18_col155.clone(), mul_res_limb_19_col156.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_20_col157.clone(), mul_res_limb_21_col158.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_22_col159.clone(), mul_res_limb_23_col160.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_24_col161.clone(), mul_res_limb_25_col162.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_9_9_lookup_elements, E::EF::one(), &[ mul_res_limb_26_col163.clone(), mul_res_limb_27_col164.clone(), ], - )]); + )); - // verify_mul252. + // VerifyMul252. - let conv_tmp_782 = ((M31_0.clone() - mul_res_limb_0_col137.clone()) + let conv_tmp_5745_62 = ((M31_0.clone() - mul_res_limb_0_col137.clone()) + (op0_limb_0_col51.clone() * op1_limb_0_col80.clone())); - let conv_tmp_783 = (((M31_0.clone() - mul_res_limb_1_col138.clone()) + let conv_tmp_5745_63 = (((M31_0.clone() - mul_res_limb_1_col138.clone()) + (op0_limb_0_col51.clone() * op1_limb_1_col81.clone())) + (op0_limb_1_col52.clone() * op1_limb_0_col80.clone())); - let conv_tmp_784 = ((((M31_0.clone() - mul_res_limb_2_col139.clone()) + let conv_tmp_5745_64 = ((((M31_0.clone() - mul_res_limb_2_col139.clone()) + (op0_limb_0_col51.clone() * op1_limb_2_col82.clone())) + (op0_limb_1_col52.clone() * op1_limb_1_col81.clone())) + (op0_limb_2_col53.clone() * op1_limb_0_col80.clone())); - let conv_tmp_785 = (((((M31_0.clone() - mul_res_limb_3_col140.clone()) + let conv_tmp_5745_65 = (((((M31_0.clone() - mul_res_limb_3_col140.clone()) + (op0_limb_0_col51.clone() * op1_limb_3_col83.clone())) + (op0_limb_1_col52.clone() * op1_limb_2_col82.clone())) + (op0_limb_2_col53.clone() * op1_limb_1_col81.clone())) + (op0_limb_3_col54.clone() * op1_limb_0_col80.clone())); - let conv_tmp_786 = ((((((M31_0.clone() - mul_res_limb_4_col141.clone()) + let conv_tmp_5745_66 = ((((((M31_0.clone() - mul_res_limb_4_col141.clone()) + (op0_limb_0_col51.clone() * op1_limb_4_col84.clone())) + (op0_limb_1_col52.clone() * op1_limb_3_col83.clone())) + (op0_limb_2_col53.clone() * op1_limb_2_col82.clone())) + (op0_limb_3_col54.clone() * op1_limb_1_col81.clone())) + (op0_limb_4_col55.clone() * op1_limb_0_col80.clone())); - let conv_tmp_787 = (((((((M31_0.clone() - mul_res_limb_5_col142.clone()) + let conv_tmp_5745_67 = (((((((M31_0.clone() - mul_res_limb_5_col142.clone()) + (op0_limb_0_col51.clone() * op1_limb_5_col85.clone())) + (op0_limb_1_col52.clone() * op1_limb_4_col84.clone())) + (op0_limb_2_col53.clone() * op1_limb_3_col83.clone())) + (op0_limb_3_col54.clone() * op1_limb_2_col82.clone())) + (op0_limb_4_col55.clone() * op1_limb_1_col81.clone())) + (op0_limb_5_col56.clone() * op1_limb_0_col80.clone())); - let conv_tmp_788 = ((((((((M31_0.clone() - mul_res_limb_6_col143.clone()) + let conv_tmp_5745_68 = ((((((((M31_0.clone() - mul_res_limb_6_col143.clone()) + (op0_limb_0_col51.clone() * op1_limb_6_col86.clone())) + (op0_limb_1_col52.clone() * op1_limb_5_col85.clone())) + (op0_limb_2_col53.clone() * op1_limb_4_col84.clone())) @@ -1117,7 +1121,7 @@ impl FrameworkEval for Eval { + (op0_limb_4_col55.clone() * op1_limb_2_col82.clone())) + (op0_limb_5_col56.clone() * op1_limb_1_col81.clone())) + (op0_limb_6_col57.clone() * op1_limb_0_col80.clone())); - let conv_tmp_789 = (((((((((M31_0.clone() - mul_res_limb_7_col144.clone()) + let conv_tmp_5745_69 = (((((((((M31_0.clone() - mul_res_limb_7_col144.clone()) + (op0_limb_0_col51.clone() * op1_limb_7_col87.clone())) + (op0_limb_1_col52.clone() * op1_limb_6_col86.clone())) + (op0_limb_2_col53.clone() * op1_limb_5_col85.clone())) @@ -1126,7 +1130,7 @@ impl FrameworkEval for Eval { + (op0_limb_5_col56.clone() * op1_limb_2_col82.clone())) + (op0_limb_6_col57.clone() * op1_limb_1_col81.clone())) + (op0_limb_7_col58.clone() * op1_limb_0_col80.clone())); - let conv_tmp_790 = ((((((((((M31_0.clone() - mul_res_limb_8_col145.clone()) + let conv_tmp_5745_70 = ((((((((((M31_0.clone() - mul_res_limb_8_col145.clone()) + (op0_limb_0_col51.clone() * op1_limb_8_col88.clone())) + (op0_limb_1_col52.clone() * op1_limb_7_col87.clone())) + (op0_limb_2_col53.clone() * op1_limb_6_col86.clone())) @@ -1136,7 +1140,7 @@ impl FrameworkEval for Eval { + (op0_limb_6_col57.clone() * op1_limb_2_col82.clone())) + (op0_limb_7_col58.clone() * op1_limb_1_col81.clone())) + (op0_limb_8_col59.clone() * op1_limb_0_col80.clone())); - let conv_tmp_791 = (((((((((((M31_0.clone() - mul_res_limb_9_col146.clone()) + let conv_tmp_5745_71 = (((((((((((M31_0.clone() - mul_res_limb_9_col146.clone()) + (op0_limb_0_col51.clone() * op1_limb_9_col89.clone())) + (op0_limb_1_col52.clone() * op1_limb_8_col88.clone())) + (op0_limb_2_col53.clone() * op1_limb_7_col87.clone())) @@ -1147,7 +1151,8 @@ impl FrameworkEval for Eval { + (op0_limb_7_col58.clone() * op1_limb_2_col82.clone())) + (op0_limb_8_col59.clone() * op1_limb_1_col81.clone())) + (op0_limb_9_col60.clone() * op1_limb_0_col80.clone())); - let conv_tmp_792 = ((((((((((((M31_0.clone() - mul_res_limb_10_col147.clone()) + let conv_tmp_5745_72 = ((((((((((((M31_0.clone() + - mul_res_limb_10_col147.clone()) + (op0_limb_0_col51.clone() * op1_limb_10_col90.clone())) + (op0_limb_1_col52.clone() * op1_limb_9_col89.clone())) + (op0_limb_2_col53.clone() * op1_limb_8_col88.clone())) @@ -1159,7 +1164,8 @@ impl FrameworkEval for Eval { + (op0_limb_8_col59.clone() * op1_limb_2_col82.clone())) + (op0_limb_9_col60.clone() * op1_limb_1_col81.clone())) + (op0_limb_10_col61.clone() * op1_limb_0_col80.clone())); - let conv_tmp_793 = (((((((((((((M31_0.clone() - mul_res_limb_11_col148.clone()) + let conv_tmp_5745_73 = (((((((((((((M31_0.clone() + - mul_res_limb_11_col148.clone()) + (op0_limb_0_col51.clone() * op1_limb_11_col91.clone())) + (op0_limb_1_col52.clone() * op1_limb_10_col90.clone())) + (op0_limb_2_col53.clone() * op1_limb_9_col89.clone())) @@ -1172,7 +1178,7 @@ impl FrameworkEval for Eval { + (op0_limb_9_col60.clone() * op1_limb_2_col82.clone())) + (op0_limb_10_col61.clone() * op1_limb_1_col81.clone())) + (op0_limb_11_col62.clone() * op1_limb_0_col80.clone())); - let conv_tmp_794 = ((((((((((((((M31_0.clone() + let conv_tmp_5745_74 = ((((((((((((((M31_0.clone() - mul_res_limb_12_col149.clone()) + (op0_limb_0_col51.clone() * op1_limb_12_col92.clone())) + (op0_limb_1_col52.clone() * op1_limb_11_col91.clone())) @@ -1187,7 +1193,7 @@ impl FrameworkEval for Eval { + (op0_limb_10_col61.clone() * op1_limb_2_col82.clone())) + (op0_limb_11_col62.clone() * op1_limb_1_col81.clone())) + (op0_limb_12_col63.clone() * op1_limb_0_col80.clone())); - let conv_tmp_795 = (((((((((((((((M31_0.clone() + let conv_tmp_5745_75 = (((((((((((((((M31_0.clone() - mul_res_limb_13_col150.clone()) + (op0_limb_0_col51.clone() * op1_limb_13_col93.clone())) + (op0_limb_1_col52.clone() * op1_limb_12_col92.clone())) @@ -1203,7 +1209,7 @@ impl FrameworkEval for Eval { + (op0_limb_11_col62.clone() * op1_limb_2_col82.clone())) + (op0_limb_12_col63.clone() * op1_limb_1_col81.clone())) + (op0_limb_13_col64.clone() * op1_limb_0_col80.clone())); - let conv_tmp_796 = ((((((((((((((((M31_0.clone() + let conv_tmp_5745_76 = ((((((((((((((((M31_0.clone() - mul_res_limb_14_col151.clone()) + (op0_limb_0_col51.clone() * op1_limb_14_col94.clone())) + (op0_limb_1_col52.clone() * op1_limb_13_col93.clone())) @@ -1220,7 +1226,7 @@ impl FrameworkEval for Eval { + (op0_limb_12_col63.clone() * op1_limb_2_col82.clone())) + (op0_limb_13_col64.clone() * op1_limb_1_col81.clone())) + (op0_limb_14_col65.clone() * op1_limb_0_col80.clone())); - let conv_tmp_797 = (((((((((((((((((M31_0.clone() + let conv_tmp_5745_77 = (((((((((((((((((M31_0.clone() - mul_res_limb_15_col152.clone()) + (op0_limb_0_col51.clone() * op1_limb_15_col95.clone())) + (op0_limb_1_col52.clone() * op1_limb_14_col94.clone())) @@ -1238,7 +1244,7 @@ impl FrameworkEval for Eval { + (op0_limb_13_col64.clone() * op1_limb_2_col82.clone())) + (op0_limb_14_col65.clone() * op1_limb_1_col81.clone())) + (op0_limb_15_col66.clone() * op1_limb_0_col80.clone())); - let conv_tmp_798 = ((((((((((((((((((M31_0.clone() + let conv_tmp_5745_78 = ((((((((((((((((((M31_0.clone() - mul_res_limb_16_col153.clone()) + (op0_limb_0_col51.clone() * op1_limb_16_col96.clone())) + (op0_limb_1_col52.clone() * op1_limb_15_col95.clone())) @@ -1257,7 +1263,7 @@ impl FrameworkEval for Eval { + (op0_limb_14_col65.clone() * op1_limb_2_col82.clone())) + (op0_limb_15_col66.clone() * op1_limb_1_col81.clone())) + (op0_limb_16_col67.clone() * op1_limb_0_col80.clone())); - let conv_tmp_799 = (((((((((((((((((((M31_0.clone() + let conv_tmp_5745_79 = (((((((((((((((((((M31_0.clone() - mul_res_limb_17_col154.clone()) + (op0_limb_0_col51.clone() * op1_limb_17_col97.clone())) + (op0_limb_1_col52.clone() * op1_limb_16_col96.clone())) @@ -1277,7 +1283,7 @@ impl FrameworkEval for Eval { + (op0_limb_15_col66.clone() * op1_limb_2_col82.clone())) + (op0_limb_16_col67.clone() * op1_limb_1_col81.clone())) + (op0_limb_17_col68.clone() * op1_limb_0_col80.clone())); - let conv_tmp_800 = ((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_80 = ((((((((((((((((((((M31_0.clone() - mul_res_limb_18_col155.clone()) + (op0_limb_0_col51.clone() * op1_limb_18_col98.clone())) + (op0_limb_1_col52.clone() * op1_limb_17_col97.clone())) @@ -1298,7 +1304,7 @@ impl FrameworkEval for Eval { + (op0_limb_16_col67.clone() * op1_limb_2_col82.clone())) + (op0_limb_17_col68.clone() * op1_limb_1_col81.clone())) + (op0_limb_18_col69.clone() * op1_limb_0_col80.clone())); - let conv_tmp_801 = (((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_81 = (((((((((((((((((((((M31_0.clone() - mul_res_limb_19_col156.clone()) + (op0_limb_0_col51.clone() * op1_limb_19_col99.clone())) + (op0_limb_1_col52.clone() * op1_limb_18_col98.clone())) @@ -1320,7 +1326,7 @@ impl FrameworkEval for Eval { + (op0_limb_17_col68.clone() * op1_limb_2_col82.clone())) + (op0_limb_18_col69.clone() * op1_limb_1_col81.clone())) + (op0_limb_19_col70.clone() * op1_limb_0_col80.clone())); - let conv_tmp_802 = ((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_82 = ((((((((((((((((((((((M31_0.clone() - mul_res_limb_20_col157.clone()) + (op0_limb_0_col51.clone() * op1_limb_20_col100.clone())) + (op0_limb_1_col52.clone() * op1_limb_19_col99.clone())) @@ -1343,7 +1349,7 @@ impl FrameworkEval for Eval { + (op0_limb_18_col69.clone() * op1_limb_2_col82.clone())) + (op0_limb_19_col70.clone() * op1_limb_1_col81.clone())) + (op0_limb_20_col71.clone() * op1_limb_0_col80.clone())); - let conv_tmp_803 = (((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_83 = (((((((((((((((((((((((M31_0.clone() - mul_res_limb_21_col158.clone()) + (op0_limb_0_col51.clone() * op1_limb_21_col101.clone())) + (op0_limb_1_col52.clone() * op1_limb_20_col100.clone())) @@ -1367,7 +1373,7 @@ impl FrameworkEval for Eval { + (op0_limb_19_col70.clone() * op1_limb_2_col82.clone())) + (op0_limb_20_col71.clone() * op1_limb_1_col81.clone())) + (op0_limb_21_col72.clone() * op1_limb_0_col80.clone())); - let conv_tmp_804 = ((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_84 = ((((((((((((((((((((((((M31_0.clone() - mul_res_limb_22_col159.clone()) + (op0_limb_0_col51.clone() * op1_limb_22_col102.clone())) + (op0_limb_1_col52.clone() * op1_limb_21_col101.clone())) @@ -1392,7 +1398,7 @@ impl FrameworkEval for Eval { + (op0_limb_20_col71.clone() * op1_limb_2_col82.clone())) + (op0_limb_21_col72.clone() * op1_limb_1_col81.clone())) + (op0_limb_22_col73.clone() * op1_limb_0_col80.clone())); - let conv_tmp_805 = (((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_85 = (((((((((((((((((((((((((M31_0.clone() - mul_res_limb_23_col160.clone()) + (op0_limb_0_col51.clone() * op1_limb_23_col103.clone())) + (op0_limb_1_col52.clone() * op1_limb_22_col102.clone())) @@ -1418,7 +1424,7 @@ impl FrameworkEval for Eval { + (op0_limb_21_col72.clone() * op1_limb_2_col82.clone())) + (op0_limb_22_col73.clone() * op1_limb_1_col81.clone())) + (op0_limb_23_col74.clone() * op1_limb_0_col80.clone())); - let conv_tmp_806 = ((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_86 = ((((((((((((((((((((((((((M31_0.clone() - mul_res_limb_24_col161.clone()) + (op0_limb_0_col51.clone() * op1_limb_24_col104.clone())) + (op0_limb_1_col52.clone() * op1_limb_23_col103.clone())) @@ -1445,7 +1451,7 @@ impl FrameworkEval for Eval { + (op0_limb_22_col73.clone() * op1_limb_2_col82.clone())) + (op0_limb_23_col74.clone() * op1_limb_1_col81.clone())) + (op0_limb_24_col75.clone() * op1_limb_0_col80.clone())); - let conv_tmp_807 = (((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_87 = (((((((((((((((((((((((((((M31_0.clone() - mul_res_limb_25_col162.clone()) + (op0_limb_0_col51.clone() * op1_limb_25_col105.clone())) + (op0_limb_1_col52.clone() * op1_limb_24_col104.clone())) @@ -1473,7 +1479,8 @@ impl FrameworkEval for Eval { + (op0_limb_23_col74.clone() * op1_limb_2_col82.clone())) + (op0_limb_24_col75.clone() * op1_limb_1_col81.clone())) + (op0_limb_25_col76.clone() * op1_limb_0_col80.clone())); - let conv_tmp_808 = ((((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_88 = ((((((((((((((((((((((((((((M31_0 + .clone() - mul_res_limb_26_col163.clone()) + (op0_limb_0_col51.clone() * op1_limb_26_col106.clone())) + (op0_limb_1_col52.clone() * op1_limb_25_col105.clone())) @@ -1502,7 +1509,8 @@ impl FrameworkEval for Eval { + (op0_limb_24_col75.clone() * op1_limb_2_col82.clone())) + (op0_limb_25_col76.clone() * op1_limb_1_col81.clone())) + (op0_limb_26_col77.clone() * op1_limb_0_col80.clone())); - let conv_tmp_809 = (((((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_89 = (((((((((((((((((((((((((((((M31_0 + .clone() - mul_res_limb_27_col164.clone()) + (op0_limb_0_col51.clone() * op1_limb_27_col107.clone())) + (op0_limb_1_col52.clone() * op1_limb_26_col106.clone())) @@ -1532,7 +1540,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_2_col82.clone())) + (op0_limb_26_col77.clone() * op1_limb_1_col81.clone())) + (op0_limb_27_col78.clone() * op1_limb_0_col80.clone())); - let conv_tmp_810 = (((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_90 = (((((((((((((((((((((((((((M31_0.clone() + (op0_limb_1_col52.clone() * op1_limb_27_col107.clone())) + (op0_limb_2_col53.clone() * op1_limb_26_col106.clone())) + (op0_limb_3_col54.clone() * op1_limb_25_col105.clone())) @@ -1560,7 +1568,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_3_col83.clone())) + (op0_limb_26_col77.clone() * op1_limb_2_col82.clone())) + (op0_limb_27_col78.clone() * op1_limb_1_col81.clone())); - let conv_tmp_811 = ((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_91 = ((((((((((((((((((((((((((M31_0.clone() + (op0_limb_2_col53.clone() * op1_limb_27_col107.clone())) + (op0_limb_3_col54.clone() * op1_limb_26_col106.clone())) + (op0_limb_4_col55.clone() * op1_limb_25_col105.clone())) @@ -1587,7 +1595,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_4_col84.clone())) + (op0_limb_26_col77.clone() * op1_limb_3_col83.clone())) + (op0_limb_27_col78.clone() * op1_limb_2_col82.clone())); - let conv_tmp_812 = (((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_92 = (((((((((((((((((((((((((M31_0.clone() + (op0_limb_3_col54.clone() * op1_limb_27_col107.clone())) + (op0_limb_4_col55.clone() * op1_limb_26_col106.clone())) + (op0_limb_5_col56.clone() * op1_limb_25_col105.clone())) @@ -1613,7 +1621,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_5_col85.clone())) + (op0_limb_26_col77.clone() * op1_limb_4_col84.clone())) + (op0_limb_27_col78.clone() * op1_limb_3_col83.clone())); - let conv_tmp_813 = ((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_93 = ((((((((((((((((((((((((M31_0.clone() + (op0_limb_4_col55.clone() * op1_limb_27_col107.clone())) + (op0_limb_5_col56.clone() * op1_limb_26_col106.clone())) + (op0_limb_6_col57.clone() * op1_limb_25_col105.clone())) @@ -1638,7 +1646,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_6_col86.clone())) + (op0_limb_26_col77.clone() * op1_limb_5_col85.clone())) + (op0_limb_27_col78.clone() * op1_limb_4_col84.clone())); - let conv_tmp_814 = (((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_94 = (((((((((((((((((((((((M31_0.clone() + (op0_limb_5_col56.clone() * op1_limb_27_col107.clone())) + (op0_limb_6_col57.clone() * op1_limb_26_col106.clone())) + (op0_limb_7_col58.clone() * op1_limb_25_col105.clone())) @@ -1662,7 +1670,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_7_col87.clone())) + (op0_limb_26_col77.clone() * op1_limb_6_col86.clone())) + (op0_limb_27_col78.clone() * op1_limb_5_col85.clone())); - let conv_tmp_815 = ((((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_95 = ((((((((((((((((((((((M31_0.clone() + (op0_limb_6_col57.clone() * op1_limb_27_col107.clone())) + (op0_limb_7_col58.clone() * op1_limb_26_col106.clone())) + (op0_limb_8_col59.clone() * op1_limb_25_col105.clone())) @@ -1685,7 +1693,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_8_col88.clone())) + (op0_limb_26_col77.clone() * op1_limb_7_col87.clone())) + (op0_limb_27_col78.clone() * op1_limb_6_col86.clone())); - let conv_tmp_816 = (((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_96 = (((((((((((((((((((((M31_0.clone() + (op0_limb_7_col58.clone() * op1_limb_27_col107.clone())) + (op0_limb_8_col59.clone() * op1_limb_26_col106.clone())) + (op0_limb_9_col60.clone() * op1_limb_25_col105.clone())) @@ -1707,7 +1715,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_9_col89.clone())) + (op0_limb_26_col77.clone() * op1_limb_8_col88.clone())) + (op0_limb_27_col78.clone() * op1_limb_7_col87.clone())); - let conv_tmp_817 = ((((((((((((((((((((M31_0.clone() + let conv_tmp_5745_97 = ((((((((((((((((((((M31_0.clone() + (op0_limb_8_col59.clone() * op1_limb_27_col107.clone())) + (op0_limb_9_col60.clone() * op1_limb_26_col106.clone())) + (op0_limb_10_col61.clone() * op1_limb_25_col105.clone())) @@ -1728,7 +1736,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_10_col90.clone())) + (op0_limb_26_col77.clone() * op1_limb_9_col89.clone())) + (op0_limb_27_col78.clone() * op1_limb_8_col88.clone())); - let conv_tmp_818 = (((((((((((((((((((M31_0.clone() + let conv_tmp_5745_98 = (((((((((((((((((((M31_0.clone() + (op0_limb_9_col60.clone() * op1_limb_27_col107.clone())) + (op0_limb_10_col61.clone() * op1_limb_26_col106.clone())) + (op0_limb_11_col62.clone() * op1_limb_25_col105.clone())) @@ -1748,7 +1756,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_11_col91.clone())) + (op0_limb_26_col77.clone() * op1_limb_10_col90.clone())) + (op0_limb_27_col78.clone() * op1_limb_9_col89.clone())); - let conv_tmp_819 = ((((((((((((((((((M31_0.clone() + let conv_tmp_5745_99 = ((((((((((((((((((M31_0.clone() + (op0_limb_10_col61.clone() * op1_limb_27_col107.clone())) + (op0_limb_11_col62.clone() * op1_limb_26_col106.clone())) + (op0_limb_12_col63.clone() * op1_limb_25_col105.clone())) @@ -1767,7 +1775,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_12_col92.clone())) + (op0_limb_26_col77.clone() * op1_limb_11_col91.clone())) + (op0_limb_27_col78.clone() * op1_limb_10_col90.clone())); - let conv_tmp_820 = (((((((((((((((((M31_0.clone() + let conv_tmp_5745_100 = (((((((((((((((((M31_0.clone() + (op0_limb_11_col62.clone() * op1_limb_27_col107.clone())) + (op0_limb_12_col63.clone() * op1_limb_26_col106.clone())) + (op0_limb_13_col64.clone() * op1_limb_25_col105.clone())) @@ -1785,7 +1793,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_13_col93.clone())) + (op0_limb_26_col77.clone() * op1_limb_12_col92.clone())) + (op0_limb_27_col78.clone() * op1_limb_11_col91.clone())); - let conv_tmp_821 = ((((((((((((((((M31_0.clone() + let conv_tmp_5745_101 = ((((((((((((((((M31_0.clone() + (op0_limb_12_col63.clone() * op1_limb_27_col107.clone())) + (op0_limb_13_col64.clone() * op1_limb_26_col106.clone())) + (op0_limb_14_col65.clone() * op1_limb_25_col105.clone())) @@ -1802,7 +1810,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_14_col94.clone())) + (op0_limb_26_col77.clone() * op1_limb_13_col93.clone())) + (op0_limb_27_col78.clone() * op1_limb_12_col92.clone())); - let conv_tmp_822 = (((((((((((((((M31_0.clone() + let conv_tmp_5745_102 = (((((((((((((((M31_0.clone() + (op0_limb_13_col64.clone() * op1_limb_27_col107.clone())) + (op0_limb_14_col65.clone() * op1_limb_26_col106.clone())) + (op0_limb_15_col66.clone() * op1_limb_25_col105.clone())) @@ -1818,7 +1826,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_15_col95.clone())) + (op0_limb_26_col77.clone() * op1_limb_14_col94.clone())) + (op0_limb_27_col78.clone() * op1_limb_13_col93.clone())); - let conv_tmp_823 = ((((((((((((((M31_0.clone() + let conv_tmp_5745_103 = ((((((((((((((M31_0.clone() + (op0_limb_14_col65.clone() * op1_limb_27_col107.clone())) + (op0_limb_15_col66.clone() * op1_limb_26_col106.clone())) + (op0_limb_16_col67.clone() * op1_limb_25_col105.clone())) @@ -1833,7 +1841,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_16_col96.clone())) + (op0_limb_26_col77.clone() * op1_limb_15_col95.clone())) + (op0_limb_27_col78.clone() * op1_limb_14_col94.clone())); - let conv_tmp_824 = (((((((((((((M31_0.clone() + let conv_tmp_5745_104 = (((((((((((((M31_0.clone() + (op0_limb_15_col66.clone() * op1_limb_27_col107.clone())) + (op0_limb_16_col67.clone() * op1_limb_26_col106.clone())) + (op0_limb_17_col68.clone() * op1_limb_25_col105.clone())) @@ -1847,7 +1855,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_17_col97.clone())) + (op0_limb_26_col77.clone() * op1_limb_16_col96.clone())) + (op0_limb_27_col78.clone() * op1_limb_15_col95.clone())); - let conv_tmp_825 = ((((((((((((M31_0.clone() + let conv_tmp_5745_105 = ((((((((((((M31_0.clone() + (op0_limb_16_col67.clone() * op1_limb_27_col107.clone())) + (op0_limb_17_col68.clone() * op1_limb_26_col106.clone())) + (op0_limb_18_col69.clone() * op1_limb_25_col105.clone())) @@ -1860,7 +1868,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_18_col98.clone())) + (op0_limb_26_col77.clone() * op1_limb_17_col97.clone())) + (op0_limb_27_col78.clone() * op1_limb_16_col96.clone())); - let conv_tmp_826 = (((((((((((M31_0.clone() + let conv_tmp_5745_106 = (((((((((((M31_0.clone() + (op0_limb_17_col68.clone() * op1_limb_27_col107.clone())) + (op0_limb_18_col69.clone() * op1_limb_26_col106.clone())) + (op0_limb_19_col70.clone() * op1_limb_25_col105.clone())) @@ -1872,7 +1880,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_19_col99.clone())) + (op0_limb_26_col77.clone() * op1_limb_18_col98.clone())) + (op0_limb_27_col78.clone() * op1_limb_17_col97.clone())); - let conv_tmp_827 = ((((((((((M31_0.clone() + let conv_tmp_5745_107 = ((((((((((M31_0.clone() + (op0_limb_18_col69.clone() * op1_limb_27_col107.clone())) + (op0_limb_19_col70.clone() * op1_limb_26_col106.clone())) + (op0_limb_20_col71.clone() * op1_limb_25_col105.clone())) @@ -1883,7 +1891,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_20_col100.clone())) + (op0_limb_26_col77.clone() * op1_limb_19_col99.clone())) + (op0_limb_27_col78.clone() * op1_limb_18_col98.clone())); - let conv_tmp_828 = (((((((((M31_0.clone() + let conv_tmp_5745_108 = (((((((((M31_0.clone() + (op0_limb_19_col70.clone() * op1_limb_27_col107.clone())) + (op0_limb_20_col71.clone() * op1_limb_26_col106.clone())) + (op0_limb_21_col72.clone() * op1_limb_25_col105.clone())) @@ -1893,7 +1901,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_21_col101.clone())) + (op0_limb_26_col77.clone() * op1_limb_20_col100.clone())) + (op0_limb_27_col78.clone() * op1_limb_19_col99.clone())); - let conv_tmp_829 = ((((((((M31_0.clone() + let conv_tmp_5745_109 = ((((((((M31_0.clone() + (op0_limb_20_col71.clone() * op1_limb_27_col107.clone())) + (op0_limb_21_col72.clone() * op1_limb_26_col106.clone())) + (op0_limb_22_col73.clone() * op1_limb_25_col105.clone())) @@ -1902,7 +1910,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_22_col102.clone())) + (op0_limb_26_col77.clone() * op1_limb_21_col101.clone())) + (op0_limb_27_col78.clone() * op1_limb_20_col100.clone())); - let conv_tmp_830 = (((((((M31_0.clone() + let conv_tmp_5745_110 = (((((((M31_0.clone() + (op0_limb_21_col72.clone() * op1_limb_27_col107.clone())) + (op0_limb_22_col73.clone() * op1_limb_26_col106.clone())) + (op0_limb_23_col74.clone() * op1_limb_25_col105.clone())) @@ -1910,429 +1918,457 @@ impl FrameworkEval for Eval { + (op0_limb_25_col76.clone() * op1_limb_23_col103.clone())) + (op0_limb_26_col77.clone() * op1_limb_22_col102.clone())) + (op0_limb_27_col78.clone() * op1_limb_21_col101.clone())); - let conv_tmp_831 = ((((((M31_0.clone() + let conv_tmp_5745_111 = ((((((M31_0.clone() + (op0_limb_22_col73.clone() * op1_limb_27_col107.clone())) + (op0_limb_23_col74.clone() * op1_limb_26_col106.clone())) + (op0_limb_24_col75.clone() * op1_limb_25_col105.clone())) + (op0_limb_25_col76.clone() * op1_limb_24_col104.clone())) + (op0_limb_26_col77.clone() * op1_limb_23_col103.clone())) + (op0_limb_27_col78.clone() * op1_limb_22_col102.clone())); - let conv_tmp_832 = (((((M31_0.clone() + let conv_tmp_5745_112 = (((((M31_0.clone() + (op0_limb_23_col74.clone() * op1_limb_27_col107.clone())) + (op0_limb_24_col75.clone() * op1_limb_26_col106.clone())) + (op0_limb_25_col76.clone() * op1_limb_25_col105.clone())) + (op0_limb_26_col77.clone() * op1_limb_24_col104.clone())) + (op0_limb_27_col78.clone() * op1_limb_23_col103.clone())); - let conv_tmp_833 = ((((M31_0.clone() + let conv_tmp_5745_113 = ((((M31_0.clone() + (op0_limb_24_col75.clone() * op1_limb_27_col107.clone())) + (op0_limb_25_col76.clone() * op1_limb_26_col106.clone())) + (op0_limb_26_col77.clone() * op1_limb_25_col105.clone())) + (op0_limb_27_col78.clone() * op1_limb_24_col104.clone())); - let conv_tmp_834 = (((M31_0.clone() + let conv_tmp_5745_114 = (((M31_0.clone() + (op0_limb_25_col76.clone() * op1_limb_27_col107.clone())) + (op0_limb_26_col77.clone() * op1_limb_26_col106.clone())) + (op0_limb_27_col78.clone() * op1_limb_25_col105.clone())); - let conv_tmp_835 = ((M31_0.clone() + let conv_tmp_5745_115 = ((M31_0.clone() + (op0_limb_26_col77.clone() * op1_limb_27_col107.clone())) + (op0_limb_27_col78.clone() * op1_limb_26_col106.clone())); - let conv_tmp_836 = + let conv_tmp_5745_116 = (M31_0.clone() + (op0_limb_27_col78.clone() * op1_limb_27_col107.clone())); - let conv_mod_tmp_837 = (((M31_0.clone() + (M31_32.clone() * conv_tmp_782.clone())) - - (M31_4.clone() * conv_tmp_803.clone())) - + (M31_8.clone() * conv_tmp_831.clone())); - let conv_mod_tmp_838 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_782.clone())) - + (M31_32.clone() * conv_tmp_783.clone())) - - (M31_4.clone() * conv_tmp_804.clone())) - + (M31_8.clone() * conv_tmp_832.clone())); - let conv_mod_tmp_839 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_783.clone())) - + (M31_32.clone() * conv_tmp_784.clone())) - - (M31_4.clone() * conv_tmp_805.clone())) - + (M31_8.clone() * conv_tmp_833.clone())); - let conv_mod_tmp_840 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_784.clone())) - + (M31_32.clone() * conv_tmp_785.clone())) - - (M31_4.clone() * conv_tmp_806.clone())) - + (M31_8.clone() * conv_tmp_834.clone())); - let conv_mod_tmp_841 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_785.clone())) - + (M31_32.clone() * conv_tmp_786.clone())) - - (M31_4.clone() * conv_tmp_807.clone())) - + (M31_8.clone() * conv_tmp_835.clone())); - let conv_mod_tmp_842 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_786.clone())) - + (M31_32.clone() * conv_tmp_787.clone())) - - (M31_4.clone() * conv_tmp_808.clone())) - + (M31_8.clone() * conv_tmp_836.clone())); - let conv_mod_tmp_843 = (((M31_0.clone() + (M31_1.clone() * conv_tmp_787.clone())) - + (M31_32.clone() * conv_tmp_788.clone())) - - (M31_4.clone() * conv_tmp_809.clone())); - let conv_mod_tmp_844 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_782.clone())) - + (M31_1.clone() * conv_tmp_788.clone())) - + (M31_32.clone() * conv_tmp_789.clone())) - - (M31_4.clone() * conv_tmp_810.clone())); - let conv_mod_tmp_845 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_783.clone())) - + (M31_1.clone() * conv_tmp_789.clone())) - + (M31_32.clone() * conv_tmp_790.clone())) - - (M31_4.clone() * conv_tmp_811.clone())); - let conv_mod_tmp_846 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_784.clone())) - + (M31_1.clone() * conv_tmp_790.clone())) - + (M31_32.clone() * conv_tmp_791.clone())) - - (M31_4.clone() * conv_tmp_812.clone())); - let conv_mod_tmp_847 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_785.clone())) - + (M31_1.clone() * conv_tmp_791.clone())) - + (M31_32.clone() * conv_tmp_792.clone())) - - (M31_4.clone() * conv_tmp_813.clone())); - let conv_mod_tmp_848 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_786.clone())) - + (M31_1.clone() * conv_tmp_792.clone())) - + (M31_32.clone() * conv_tmp_793.clone())) - - (M31_4.clone() * conv_tmp_814.clone())); - let conv_mod_tmp_849 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_787.clone())) - + (M31_1.clone() * conv_tmp_793.clone())) - + (M31_32.clone() * conv_tmp_794.clone())) - - (M31_4.clone() * conv_tmp_815.clone())); - let conv_mod_tmp_850 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_788.clone())) - + (M31_1.clone() * conv_tmp_794.clone())) - + (M31_32.clone() * conv_tmp_795.clone())) - - (M31_4.clone() * conv_tmp_816.clone())); - let conv_mod_tmp_851 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_789.clone())) - + (M31_1.clone() * conv_tmp_795.clone())) - + (M31_32.clone() * conv_tmp_796.clone())) - - (M31_4.clone() * conv_tmp_817.clone())); - let conv_mod_tmp_852 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_790.clone())) - + (M31_1.clone() * conv_tmp_796.clone())) - + (M31_32.clone() * conv_tmp_797.clone())) - - (M31_4.clone() * conv_tmp_818.clone())); - let conv_mod_tmp_853 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_791.clone())) - + (M31_1.clone() * conv_tmp_797.clone())) - + (M31_32.clone() * conv_tmp_798.clone())) - - (M31_4.clone() * conv_tmp_819.clone())); - let conv_mod_tmp_854 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_792.clone())) - + (M31_1.clone() * conv_tmp_798.clone())) - + (M31_32.clone() * conv_tmp_799.clone())) - - (M31_4.clone() * conv_tmp_820.clone())); - let conv_mod_tmp_855 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_793.clone())) - + (M31_1.clone() * conv_tmp_799.clone())) - + (M31_32.clone() * conv_tmp_800.clone())) - - (M31_4.clone() * conv_tmp_821.clone())); - let conv_mod_tmp_856 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_794.clone())) - + (M31_1.clone() * conv_tmp_800.clone())) - + (M31_32.clone() * conv_tmp_801.clone())) - - (M31_4.clone() * conv_tmp_822.clone())); - let conv_mod_tmp_857 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_795.clone())) - + (M31_1.clone() * conv_tmp_801.clone())) - + (M31_32.clone() * conv_tmp_802.clone())) - - (M31_4.clone() * conv_tmp_823.clone())); - let conv_mod_tmp_858 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_796.clone())) - + (M31_1.clone() * conv_tmp_802.clone())) - - (M31_4.clone() * conv_tmp_824.clone())) - + (M31_64.clone() * conv_tmp_831.clone())); - let conv_mod_tmp_859 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_797.clone())) - - (M31_4.clone() * conv_tmp_825.clone())) - + (M31_2.clone() * conv_tmp_831.clone())) - + (M31_64.clone() * conv_tmp_832.clone())); - let conv_mod_tmp_860 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_798.clone())) - - (M31_4.clone() * conv_tmp_826.clone())) - + (M31_2.clone() * conv_tmp_832.clone())) - + (M31_64.clone() * conv_tmp_833.clone())); - let conv_mod_tmp_861 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_799.clone())) - - (M31_4.clone() * conv_tmp_827.clone())) - + (M31_2.clone() * conv_tmp_833.clone())) - + (M31_64.clone() * conv_tmp_834.clone())); - let conv_mod_tmp_862 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_800.clone())) - - (M31_4.clone() * conv_tmp_828.clone())) - + (M31_2.clone() * conv_tmp_834.clone())) - + (M31_64.clone() * conv_tmp_835.clone())); - let conv_mod_tmp_863 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_801.clone())) - - (M31_4.clone() * conv_tmp_829.clone())) - + (M31_2.clone() * conv_tmp_835.clone())) - + (M31_64.clone() * conv_tmp_836.clone())); - let conv_mod_tmp_864 = (((M31_0.clone() + (M31_2.clone() * conv_tmp_802.clone())) - - (M31_4.clone() * conv_tmp_830.clone())) - + (M31_2.clone() * conv_tmp_836.clone())); - eval.add_to_relation(&[RelationEntry::new( + let conv_mod_tmp_5745_117 = (((M31_0.clone() + + (M31_32.clone() * conv_tmp_5745_62.clone())) + - (M31_4.clone() * conv_tmp_5745_83.clone())) + + (M31_8.clone() * conv_tmp_5745_111.clone())); + let conv_mod_tmp_5745_118 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5745_62.clone())) + + (M31_32.clone() * conv_tmp_5745_63.clone())) + - (M31_4.clone() * conv_tmp_5745_84.clone())) + + (M31_8.clone() * conv_tmp_5745_112.clone())); + let conv_mod_tmp_5745_119 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5745_63.clone())) + + (M31_32.clone() * conv_tmp_5745_64.clone())) + - (M31_4.clone() * conv_tmp_5745_85.clone())) + + (M31_8.clone() * conv_tmp_5745_113.clone())); + let conv_mod_tmp_5745_120 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5745_64.clone())) + + (M31_32.clone() * conv_tmp_5745_65.clone())) + - (M31_4.clone() * conv_tmp_5745_86.clone())) + + (M31_8.clone() * conv_tmp_5745_114.clone())); + let conv_mod_tmp_5745_121 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5745_65.clone())) + + (M31_32.clone() * conv_tmp_5745_66.clone())) + - (M31_4.clone() * conv_tmp_5745_87.clone())) + + (M31_8.clone() * conv_tmp_5745_115.clone())); + let conv_mod_tmp_5745_122 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5745_66.clone())) + + (M31_32.clone() * conv_tmp_5745_67.clone())) + - (M31_4.clone() * conv_tmp_5745_88.clone())) + + (M31_8.clone() * conv_tmp_5745_116.clone())); + let conv_mod_tmp_5745_123 = (((M31_0.clone() + + (M31_1.clone() * conv_tmp_5745_67.clone())) + + (M31_32.clone() * conv_tmp_5745_68.clone())) + - (M31_4.clone() * conv_tmp_5745_89.clone())); + let conv_mod_tmp_5745_124 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_62.clone())) + + (M31_1.clone() * conv_tmp_5745_68.clone())) + + (M31_32.clone() * conv_tmp_5745_69.clone())) + - (M31_4.clone() * conv_tmp_5745_90.clone())); + let conv_mod_tmp_5745_125 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_63.clone())) + + (M31_1.clone() * conv_tmp_5745_69.clone())) + + (M31_32.clone() * conv_tmp_5745_70.clone())) + - (M31_4.clone() * conv_tmp_5745_91.clone())); + let conv_mod_tmp_5745_126 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_64.clone())) + + (M31_1.clone() * conv_tmp_5745_70.clone())) + + (M31_32.clone() * conv_tmp_5745_71.clone())) + - (M31_4.clone() * conv_tmp_5745_92.clone())); + let conv_mod_tmp_5745_127 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_65.clone())) + + (M31_1.clone() * conv_tmp_5745_71.clone())) + + (M31_32.clone() * conv_tmp_5745_72.clone())) + - (M31_4.clone() * conv_tmp_5745_93.clone())); + let conv_mod_tmp_5745_128 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_66.clone())) + + (M31_1.clone() * conv_tmp_5745_72.clone())) + + (M31_32.clone() * conv_tmp_5745_73.clone())) + - (M31_4.clone() * conv_tmp_5745_94.clone())); + let conv_mod_tmp_5745_129 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_67.clone())) + + (M31_1.clone() * conv_tmp_5745_73.clone())) + + (M31_32.clone() * conv_tmp_5745_74.clone())) + - (M31_4.clone() * conv_tmp_5745_95.clone())); + let conv_mod_tmp_5745_130 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_68.clone())) + + (M31_1.clone() * conv_tmp_5745_74.clone())) + + (M31_32.clone() * conv_tmp_5745_75.clone())) + - (M31_4.clone() * conv_tmp_5745_96.clone())); + let conv_mod_tmp_5745_131 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_69.clone())) + + (M31_1.clone() * conv_tmp_5745_75.clone())) + + (M31_32.clone() * conv_tmp_5745_76.clone())) + - (M31_4.clone() * conv_tmp_5745_97.clone())); + let conv_mod_tmp_5745_132 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_70.clone())) + + (M31_1.clone() * conv_tmp_5745_76.clone())) + + (M31_32.clone() * conv_tmp_5745_77.clone())) + - (M31_4.clone() * conv_tmp_5745_98.clone())); + let conv_mod_tmp_5745_133 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_71.clone())) + + (M31_1.clone() * conv_tmp_5745_77.clone())) + + (M31_32.clone() * conv_tmp_5745_78.clone())) + - (M31_4.clone() * conv_tmp_5745_99.clone())); + let conv_mod_tmp_5745_134 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_72.clone())) + + (M31_1.clone() * conv_tmp_5745_78.clone())) + + (M31_32.clone() * conv_tmp_5745_79.clone())) + - (M31_4.clone() * conv_tmp_5745_100.clone())); + let conv_mod_tmp_5745_135 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_73.clone())) + + (M31_1.clone() * conv_tmp_5745_79.clone())) + + (M31_32.clone() * conv_tmp_5745_80.clone())) + - (M31_4.clone() * conv_tmp_5745_101.clone())); + let conv_mod_tmp_5745_136 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_74.clone())) + + (M31_1.clone() * conv_tmp_5745_80.clone())) + + (M31_32.clone() * conv_tmp_5745_81.clone())) + - (M31_4.clone() * conv_tmp_5745_102.clone())); + let conv_mod_tmp_5745_137 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_75.clone())) + + (M31_1.clone() * conv_tmp_5745_81.clone())) + + (M31_32.clone() * conv_tmp_5745_82.clone())) + - (M31_4.clone() * conv_tmp_5745_103.clone())); + let conv_mod_tmp_5745_138 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_76.clone())) + + (M31_1.clone() * conv_tmp_5745_82.clone())) + - (M31_4.clone() * conv_tmp_5745_104.clone())) + + (M31_64.clone() * conv_tmp_5745_111.clone())); + let conv_mod_tmp_5745_139 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_77.clone())) + - (M31_4.clone() * conv_tmp_5745_105.clone())) + + (M31_2.clone() * conv_tmp_5745_111.clone())) + + (M31_64.clone() * conv_tmp_5745_112.clone())); + let conv_mod_tmp_5745_140 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_78.clone())) + - (M31_4.clone() * conv_tmp_5745_106.clone())) + + (M31_2.clone() * conv_tmp_5745_112.clone())) + + (M31_64.clone() * conv_tmp_5745_113.clone())); + let conv_mod_tmp_5745_141 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_79.clone())) + - (M31_4.clone() * conv_tmp_5745_107.clone())) + + (M31_2.clone() * conv_tmp_5745_113.clone())) + + (M31_64.clone() * conv_tmp_5745_114.clone())); + let conv_mod_tmp_5745_142 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_80.clone())) + - (M31_4.clone() * conv_tmp_5745_108.clone())) + + (M31_2.clone() * conv_tmp_5745_114.clone())) + + (M31_64.clone() * conv_tmp_5745_115.clone())); + let conv_mod_tmp_5745_143 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_81.clone())) + - (M31_4.clone() * conv_tmp_5745_109.clone())) + + (M31_2.clone() * conv_tmp_5745_115.clone())) + + (M31_64.clone() * conv_tmp_5745_116.clone())); + let conv_mod_tmp_5745_144 = (((M31_0.clone() + + (M31_2.clone() * conv_tmp_5745_82.clone())) + - (M31_4.clone() * conv_tmp_5745_110.clone())) + + (M31_2.clone() * conv_tmp_5745_116.clone())); + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(k_col165.clone() + M31_262144.clone())], - )]); + )); eval.add_constraint( ((carry_0_col166.clone() * M31_512.clone()) - - ((conv_mod_tmp_837.clone() - (M31_1.clone() * k_col165.clone())) + - ((conv_mod_tmp_5745_117.clone() - (M31_1.clone() * k_col165.clone())) + M31_0.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_0_col166.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_1_col167.clone() * M31_512.clone()) - - (conv_mod_tmp_838.clone() + carry_0_col166.clone())), + - (conv_mod_tmp_5745_118.clone() + carry_0_col166.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_1_col167.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_2_col168.clone() * M31_512.clone()) - - (conv_mod_tmp_839.clone() + carry_1_col167.clone())), + - (conv_mod_tmp_5745_119.clone() + carry_1_col167.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_2_col168.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_3_col169.clone() * M31_512.clone()) - - (conv_mod_tmp_840.clone() + carry_2_col168.clone())), + - (conv_mod_tmp_5745_120.clone() + carry_2_col168.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_3_col169.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_4_col170.clone() * M31_512.clone()) - - (conv_mod_tmp_841.clone() + carry_3_col169.clone())), + - (conv_mod_tmp_5745_121.clone() + carry_3_col169.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_4_col170.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_5_col171.clone() * M31_512.clone()) - - (conv_mod_tmp_842.clone() + carry_4_col170.clone())), + - (conv_mod_tmp_5745_122.clone() + carry_4_col170.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_5_col171.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_6_col172.clone() * M31_512.clone()) - - (conv_mod_tmp_843.clone() + carry_5_col171.clone())), + - (conv_mod_tmp_5745_123.clone() + carry_5_col171.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_6_col172.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_7_col173.clone() * M31_512.clone()) - - (conv_mod_tmp_844.clone() + carry_6_col172.clone())), + - (conv_mod_tmp_5745_124.clone() + carry_6_col172.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_7_col173.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_8_col174.clone() * M31_512.clone()) - - (conv_mod_tmp_845.clone() + carry_7_col173.clone())), + - (conv_mod_tmp_5745_125.clone() + carry_7_col173.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_8_col174.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_9_col175.clone() * M31_512.clone()) - - (conv_mod_tmp_846.clone() + carry_8_col174.clone())), + - (conv_mod_tmp_5745_126.clone() + carry_8_col174.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_9_col175.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_10_col176.clone() * M31_512.clone()) - - (conv_mod_tmp_847.clone() + carry_9_col175.clone())), + - (conv_mod_tmp_5745_127.clone() + carry_9_col175.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_10_col176.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_11_col177.clone() * M31_512.clone()) - - (conv_mod_tmp_848.clone() + carry_10_col176.clone())), + - (conv_mod_tmp_5745_128.clone() + carry_10_col176.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_11_col177.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_12_col178.clone() * M31_512.clone()) - - (conv_mod_tmp_849.clone() + carry_11_col177.clone())), + - (conv_mod_tmp_5745_129.clone() + carry_11_col177.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_12_col178.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_13_col179.clone() * M31_512.clone()) - - (conv_mod_tmp_850.clone() + carry_12_col178.clone())), + - (conv_mod_tmp_5745_130.clone() + carry_12_col178.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_13_col179.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_14_col180.clone() * M31_512.clone()) - - (conv_mod_tmp_851.clone() + carry_13_col179.clone())), + - (conv_mod_tmp_5745_131.clone() + carry_13_col179.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_14_col180.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_15_col181.clone() * M31_512.clone()) - - (conv_mod_tmp_852.clone() + carry_14_col180.clone())), + - (conv_mod_tmp_5745_132.clone() + carry_14_col180.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_15_col181.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_16_col182.clone() * M31_512.clone()) - - (conv_mod_tmp_853.clone() + carry_15_col181.clone())), + - (conv_mod_tmp_5745_133.clone() + carry_15_col181.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_16_col182.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_17_col183.clone() * M31_512.clone()) - - (conv_mod_tmp_854.clone() + carry_16_col182.clone())), + - (conv_mod_tmp_5745_134.clone() + carry_16_col182.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_17_col183.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_18_col184.clone() * M31_512.clone()) - - (conv_mod_tmp_855.clone() + carry_17_col183.clone())), + - (conv_mod_tmp_5745_135.clone() + carry_17_col183.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_18_col184.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_19_col185.clone() * M31_512.clone()) - - (conv_mod_tmp_856.clone() + carry_18_col184.clone())), + - (conv_mod_tmp_5745_136.clone() + carry_18_col184.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_19_col185.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_20_col186.clone() * M31_512.clone()) - - (conv_mod_tmp_857.clone() + carry_19_col185.clone())), + - (conv_mod_tmp_5745_137.clone() + carry_19_col185.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_20_col186.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_21_col187.clone() * M31_512.clone()) - - ((conv_mod_tmp_858.clone() - (M31_136.clone() * k_col165.clone())) + - ((conv_mod_tmp_5745_138.clone() - (M31_136.clone() * k_col165.clone())) + carry_20_col186.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_21_col187.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_22_col188.clone() * M31_512.clone()) - - (conv_mod_tmp_859.clone() + carry_21_col187.clone())), + - (conv_mod_tmp_5745_139.clone() + carry_21_col187.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_22_col188.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_23_col189.clone() * M31_512.clone()) - - (conv_mod_tmp_860.clone() + carry_22_col188.clone())), + - (conv_mod_tmp_5745_140.clone() + carry_22_col188.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_23_col189.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_24_col190.clone() * M31_512.clone()) - - (conv_mod_tmp_861.clone() + carry_23_col189.clone())), + - (conv_mod_tmp_5745_141.clone() + carry_23_col189.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_24_col190.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_25_col191.clone() * M31_512.clone()) - - (conv_mod_tmp_862.clone() + carry_24_col190.clone())), + - (conv_mod_tmp_5745_142.clone() + carry_24_col190.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_25_col191.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_26_col192.clone() * M31_512.clone()) - - (conv_mod_tmp_863.clone() + carry_25_col191.clone())), + - (conv_mod_tmp_5745_143.clone() + carry_25_col191.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_26_col192.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( - ((conv_mod_tmp_864.clone() - (M31_256.clone() * k_col165.clone())) + ((conv_mod_tmp_5745_144.clone() - (M31_256.clone() * k_col165.clone())) + carry_26_col192.clone()), ); - let res_constrained_tmp_895 = (M31_1.clone() - pc_update_jnz_col15.clone()); + let res_constrained_tmp_5745_147 = (M31_1.clone() - pc_update_jnz_col15.clone()); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_0_col193.clone() - op1_limb_0_col80.clone())) + (res_add_col11.clone() * (res_limb_0_col193.clone() - add_res_limb_0_col108.clone()))) @@ -2340,8 +2376,8 @@ impl FrameworkEval for Eval { * (res_limb_0_col193.clone() - mul_res_limb_0_col137.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_1_col194.clone() - op1_limb_1_col81.clone())) + (res_add_col11.clone() * (res_limb_1_col194.clone() - add_res_limb_1_col109.clone()))) @@ -2349,8 +2385,8 @@ impl FrameworkEval for Eval { * (res_limb_1_col194.clone() - mul_res_limb_1_col138.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_2_col195.clone() - op1_limb_2_col82.clone())) + (res_add_col11.clone() * (res_limb_2_col195.clone() - add_res_limb_2_col110.clone()))) @@ -2358,8 +2394,8 @@ impl FrameworkEval for Eval { * (res_limb_2_col195.clone() - mul_res_limb_2_col139.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_3_col196.clone() - op1_limb_3_col83.clone())) + (res_add_col11.clone() * (res_limb_3_col196.clone() - add_res_limb_3_col111.clone()))) @@ -2367,8 +2403,8 @@ impl FrameworkEval for Eval { * (res_limb_3_col196.clone() - mul_res_limb_3_col140.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_4_col197.clone() - op1_limb_4_col84.clone())) + (res_add_col11.clone() * (res_limb_4_col197.clone() - add_res_limb_4_col112.clone()))) @@ -2376,8 +2412,8 @@ impl FrameworkEval for Eval { * (res_limb_4_col197.clone() - mul_res_limb_4_col141.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_5_col198.clone() - op1_limb_5_col85.clone())) + (res_add_col11.clone() * (res_limb_5_col198.clone() - add_res_limb_5_col113.clone()))) @@ -2385,8 +2421,8 @@ impl FrameworkEval for Eval { * (res_limb_5_col198.clone() - mul_res_limb_5_col142.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_6_col199.clone() - op1_limb_6_col86.clone())) + (res_add_col11.clone() * (res_limb_6_col199.clone() - add_res_limb_6_col114.clone()))) @@ -2394,8 +2430,8 @@ impl FrameworkEval for Eval { * (res_limb_6_col199.clone() - mul_res_limb_6_col143.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_7_col200.clone() - op1_limb_7_col87.clone())) + (res_add_col11.clone() * (res_limb_7_col200.clone() - add_res_limb_7_col115.clone()))) @@ -2403,8 +2439,8 @@ impl FrameworkEval for Eval { * (res_limb_7_col200.clone() - mul_res_limb_7_col144.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_8_col201.clone() - op1_limb_8_col88.clone())) + (res_add_col11.clone() * (res_limb_8_col201.clone() - add_res_limb_8_col116.clone()))) @@ -2412,8 +2448,8 @@ impl FrameworkEval for Eval { * (res_limb_8_col201.clone() - mul_res_limb_8_col145.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_9_col202.clone() - op1_limb_9_col89.clone())) + (res_add_col11.clone() * (res_limb_9_col202.clone() - add_res_limb_9_col117.clone()))) @@ -2421,8 +2457,8 @@ impl FrameworkEval for Eval { * (res_limb_9_col202.clone() - mul_res_limb_9_col146.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_10_col203.clone() - op1_limb_10_col90.clone())) + (res_add_col11.clone() * (res_limb_10_col203.clone() - add_res_limb_10_col118.clone()))) @@ -2430,8 +2466,8 @@ impl FrameworkEval for Eval { * (res_limb_10_col203.clone() - mul_res_limb_10_col147.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_11_col204.clone() - op1_limb_11_col91.clone())) + (res_add_col11.clone() * (res_limb_11_col204.clone() - add_res_limb_11_col119.clone()))) @@ -2439,8 +2475,8 @@ impl FrameworkEval for Eval { * (res_limb_11_col204.clone() - mul_res_limb_11_col148.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_12_col205.clone() - op1_limb_12_col92.clone())) + (res_add_col11.clone() * (res_limb_12_col205.clone() - add_res_limb_12_col120.clone()))) @@ -2448,8 +2484,8 @@ impl FrameworkEval for Eval { * (res_limb_12_col205.clone() - mul_res_limb_12_col149.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_13_col206.clone() - op1_limb_13_col93.clone())) + (res_add_col11.clone() * (res_limb_13_col206.clone() - add_res_limb_13_col121.clone()))) @@ -2457,8 +2493,8 @@ impl FrameworkEval for Eval { * (res_limb_13_col206.clone() - mul_res_limb_13_col150.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_14_col207.clone() - op1_limb_14_col94.clone())) + (res_add_col11.clone() * (res_limb_14_col207.clone() - add_res_limb_14_col122.clone()))) @@ -2466,8 +2502,8 @@ impl FrameworkEval for Eval { * (res_limb_14_col207.clone() - mul_res_limb_14_col151.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_15_col208.clone() - op1_limb_15_col95.clone())) + (res_add_col11.clone() * (res_limb_15_col208.clone() - add_res_limb_15_col123.clone()))) @@ -2475,8 +2511,8 @@ impl FrameworkEval for Eval { * (res_limb_15_col208.clone() - mul_res_limb_15_col152.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_16_col209.clone() - op1_limb_16_col96.clone())) + (res_add_col11.clone() * (res_limb_16_col209.clone() - add_res_limb_16_col124.clone()))) @@ -2484,8 +2520,8 @@ impl FrameworkEval for Eval { * (res_limb_16_col209.clone() - mul_res_limb_16_col153.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_17_col210.clone() - op1_limb_17_col97.clone())) + (res_add_col11.clone() * (res_limb_17_col210.clone() - add_res_limb_17_col125.clone()))) @@ -2493,8 +2529,8 @@ impl FrameworkEval for Eval { * (res_limb_17_col210.clone() - mul_res_limb_17_col154.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_18_col211.clone() - op1_limb_18_col98.clone())) + (res_add_col11.clone() * (res_limb_18_col211.clone() - add_res_limb_18_col126.clone()))) @@ -2502,8 +2538,8 @@ impl FrameworkEval for Eval { * (res_limb_18_col211.clone() - mul_res_limb_18_col155.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_19_col212.clone() - op1_limb_19_col99.clone())) + (res_add_col11.clone() * (res_limb_19_col212.clone() - add_res_limb_19_col127.clone()))) @@ -2511,8 +2547,8 @@ impl FrameworkEval for Eval { * (res_limb_19_col212.clone() - mul_res_limb_19_col156.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_20_col213.clone() - op1_limb_20_col100.clone())) + (res_add_col11.clone() * (res_limb_20_col213.clone() - add_res_limb_20_col128.clone()))) @@ -2520,8 +2556,8 @@ impl FrameworkEval for Eval { * (res_limb_20_col213.clone() - mul_res_limb_20_col157.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_21_col214.clone() - op1_limb_21_col101.clone())) + (res_add_col11.clone() * (res_limb_21_col214.clone() - add_res_limb_21_col129.clone()))) @@ -2529,8 +2565,8 @@ impl FrameworkEval for Eval { * (res_limb_21_col214.clone() - mul_res_limb_21_col158.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_22_col215.clone() - op1_limb_22_col102.clone())) + (res_add_col11.clone() * (res_limb_22_col215.clone() - add_res_limb_22_col130.clone()))) @@ -2538,8 +2574,8 @@ impl FrameworkEval for Eval { * (res_limb_22_col215.clone() - mul_res_limb_22_col159.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_23_col216.clone() - op1_limb_23_col103.clone())) + (res_add_col11.clone() * (res_limb_23_col216.clone() - add_res_limb_23_col131.clone()))) @@ -2547,8 +2583,8 @@ impl FrameworkEval for Eval { * (res_limb_23_col216.clone() - mul_res_limb_23_col160.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_24_col217.clone() - op1_limb_24_col104.clone())) + (res_add_col11.clone() * (res_limb_24_col217.clone() - add_res_limb_24_col132.clone()))) @@ -2556,8 +2592,8 @@ impl FrameworkEval for Eval { * (res_limb_24_col217.clone() - mul_res_limb_24_col161.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_25_col218.clone() - op1_limb_25_col105.clone())) + (res_add_col11.clone() * (res_limb_25_col218.clone() - add_res_limb_25_col133.clone()))) @@ -2565,8 +2601,8 @@ impl FrameworkEval for Eval { * (res_limb_25_col218.clone() - mul_res_limb_25_col162.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_26_col219.clone() - op1_limb_26_col106.clone())) + (res_add_col11.clone() * (res_limb_26_col219.clone() - add_res_limb_26_col134.clone()))) @@ -2574,8 +2610,8 @@ impl FrameworkEval for Eval { * (res_limb_26_col219.clone() - mul_res_limb_26_col163.clone())))), ); eval.add_constraint( - (res_constrained_tmp_895.clone() - * (((res_op1_tmp_226.clone() + (res_constrained_tmp_5745_147.clone() + * (((res_op1_tmp_5745_22.clone() * (res_limb_27_col220.clone() - op1_limb_27_col107.clone())) + (res_add_col11.clone() * (res_limb_27_col220.clone() - add_res_limb_27_col135.clone()))) @@ -2583,7 +2619,7 @@ impl FrameworkEval for Eval { * (res_limb_27_col220.clone() - mul_res_limb_27_col164.clone())))), ); - // handle_opcodes. + // HandleOpcodes. eval.add_constraint( (opcode_assert_eq_col20.clone() @@ -2712,7 +2748,7 @@ impl FrameworkEval for Eval { (opcode_ret_col19.clone() * ((((M31_4.clone() - pc_update_jump_col13.clone()) - dst_base_fp_col6.clone()) - op1_base_fp_col9.clone()) - - res_op1_tmp_226.clone())), + - res_op1_tmp_5745_22.clone())), ); // call opcode offset0 equals 0. eval.add_constraint( @@ -2728,7 +2764,7 @@ impl FrameworkEval for Eval { (opcode_call_col18.clone() * (op0_base_fp_col7.clone() + dst_base_fp_col6.clone())), ); - // cond_felt252_as_addr. + // CondFelt252AsAddr. // Address limb 3 equals 0. eval.add_constraint((opcode_call_col18.clone() * dst_limb_3_col25.clone())); @@ -2788,7 +2824,7 @@ impl FrameworkEval for Eval { - input_fp_col2.clone())), ); - // cond_felt252_as_addr. + // CondFelt252AsAddr. // Address limb 3 equals 0. eval.add_constraint((opcode_call_col18.clone() * op0_limb_3_col54.clone())); @@ -2848,9 +2884,9 @@ impl FrameworkEval for Eval { - (input_pc_col0.clone() + (M31_1.clone() + op1_imm_col8.clone())))), ); - // update_registers. + // UpdateRegisters. - // cond_felt252_as_addr. + // CondFelt252AsAddr. // Address limb 3 equals 0. eval.add_constraint((pc_update_jump_col13.clone() * res_limb_3_col196.clone())); @@ -2903,7 +2939,7 @@ impl FrameworkEval for Eval { // Address limb 27 equals 0. eval.add_constraint((pc_update_jump_col13.clone() * res_limb_27_col220.clone())); - // cond_felt252_as_addr. + // CondFelt252AsAddr. // Address limb 3 equals 0. eval.add_constraint((opcode_ret_col19.clone() * dst_limb_3_col25.clone())); @@ -2956,9 +2992,9 @@ impl FrameworkEval for Eval { // Address limb 27 equals 0. eval.add_constraint((opcode_ret_col19.clone() * dst_limb_27_col49.clone())); - // cond_felt252_as_rel_imm. + // CondFelt252AsRelImm. - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col221.clone() * (msb_col221.clone() - M31_1.clone()))); @@ -3100,14 +3136,14 @@ impl FrameworkEval for Eval { * (res_limb_27_col220.clone() - (msb_col221.clone() * M31_256.clone()))), ); - let diff_from_p_tmp_910 = (dst_limb_0_col22.clone() - M31_1.clone()); - let diff_from_p_tmp_911 = (dst_limb_21_col43.clone() - M31_136.clone()); - let diff_from_p_tmp_912 = (dst_limb_27_col49.clone() - M31_256.clone()); + let diff_from_p_tmp_5745_150 = (dst_limb_0_col22.clone() - M31_1.clone()); + let diff_from_p_tmp_5745_151 = (dst_limb_21_col43.clone() - M31_136.clone()); + let diff_from_p_tmp_5745_152 = (dst_limb_27_col49.clone() - M31_256.clone()); // dst_not_p. eval.add_constraint( ((((((((((((((((((((((((((((((M31_0.clone() - + (diff_from_p_tmp_910.clone() - * diff_from_p_tmp_910.clone())) + + (diff_from_p_tmp_5745_150.clone() + * diff_from_p_tmp_5745_150.clone())) + dst_limb_1_col23.clone()) + dst_limb_2_col24.clone()) + dst_limb_3_col25.clone()) @@ -3128,13 +3164,13 @@ impl FrameworkEval for Eval { + dst_limb_18_col40.clone()) + dst_limb_19_col41.clone()) + dst_limb_20_col42.clone()) - + (diff_from_p_tmp_911.clone() * diff_from_p_tmp_911.clone())) + + (diff_from_p_tmp_5745_151.clone() * diff_from_p_tmp_5745_151.clone())) + dst_limb_22_col44.clone()) + dst_limb_23_col45.clone()) + dst_limb_24_col46.clone()) + dst_limb_25_col47.clone()) + dst_limb_26_col48.clone()) - + (diff_from_p_tmp_912.clone() * diff_from_p_tmp_912.clone())) + + (diff_from_p_tmp_5745_152.clone() * diff_from_p_tmp_5745_152.clone())) * dst_sum_squares_inv_col223.clone()) - M31_1.clone()), ); @@ -3173,9 +3209,9 @@ impl FrameworkEval for Eval { + dst_limb_27_col49.clone()))), ); - // cond_felt252_as_rel_imm. + // CondFelt252AsRelImm. - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col226.clone() * (msb_col226.clone() - M31_1.clone()))); @@ -3387,7 +3423,7 @@ impl FrameworkEval for Eval { - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -3395,13 +3431,13 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ - ((((pc_update_regular_tmp_227.clone() + ((((pc_update_regular_tmp_5745_23.clone() * (input_pc_col0.clone() + (M31_1.clone() + op1_imm_col8.clone()))) + (pc_update_jump_col13.clone() * ((res_limb_0_col193.clone() @@ -3424,14 +3460,14 @@ impl FrameworkEval for Eval { - (M31_134217728.clone() * mid_limbs_set_col222.clone())))) + (ap_update_add_1_col17.clone() * M31_1.clone())) + (opcode_call_col18.clone() * M31_2.clone())), - (((fp_update_regular_tmp_229.clone() * input_fp_col2.clone()) + (((fp_update_regular_tmp_5745_25.clone() * input_fp_col2.clone()) + (opcode_ret_col19.clone() * ((dst_limb_0_col22.clone() + (dst_limb_1_col23.clone() * M31_512.clone())) + (dst_limb_2_col24.clone() * M31_262144.clone())))) + (opcode_call_col18.clone() * (input_ap_col1.clone() + M31_2.clone()))), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/generic_opcode/prover.rs b/stwo_cairo_prover/crates/prover/src/components/generic_opcode/prover.rs index 7c1a9e78..0af2b2bb 100644 --- a/stwo_cairo_prover/crates/prover/src/components/generic_opcode/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/generic_opcode/prover.rs @@ -60,14 +60,14 @@ impl ClaimGenerator { if need_padding { sub_components_inputs.bit_reverse_coset_to_circle_domain_order(); } - sub_components_inputs.range_check_19_inputs.iter().for_each(|inputs| { - range_check_19_state.add_inputs(&inputs[..n_calls]); - });sub_components_inputs.range_check_9_9_inputs.iter().for_each(|inputs| { - range_check_9_9_state.add_inputs(&inputs[..n_calls]); - });sub_components_inputs.memory_address_to_id_inputs.iter().for_each(|inputs| { + sub_components_inputs.memory_address_to_id_inputs.iter().for_each(|inputs| { memory_address_to_id_state.add_inputs(&inputs[..n_calls]); });sub_components_inputs.memory_id_to_big_inputs.iter().for_each(|inputs| { memory_id_to_big_state.add_inputs(&inputs[..n_calls]); + });sub_components_inputs.range_check_19_inputs.iter().for_each(|inputs| { + range_check_19_state.add_inputs(&inputs[..n_calls]); + });sub_components_inputs.range_check_9_9_inputs.iter().for_each(|inputs| { + range_check_9_9_state.add_inputs(&inputs[..n_calls]); });sub_components_inputs.verify_instruction_inputs.iter().for_each(|inputs| { verify_instruction_state.add_inputs(&inputs[..n_calls]); }); @@ -107,24 +107,24 @@ impl ClaimGenerator { } pub struct SubComponentInputs -{pub range_check_19_inputs: [Vec; 28],pub range_check_9_9_inputs: [Vec; 28],pub memory_address_to_id_inputs: [Vec; 3],pub memory_id_to_big_inputs: [Vec; 3],pub verify_instruction_inputs: [Vec; 1],} +{pub memory_address_to_id_inputs: [Vec; 3],pub memory_id_to_big_inputs: [Vec; 3],pub range_check_19_inputs: [Vec; 28],pub range_check_9_9_inputs: [Vec; 28],pub verify_instruction_inputs: [Vec; 1],} impl SubComponentInputs { #[allow(unused_variables)] fn with_capacity(capacity: usize) -> Self { - Self {range_check_19_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],range_check_9_9_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],memory_address_to_id_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],memory_id_to_big_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],verify_instruction_inputs: [Vec::with_capacity(capacity),],} + Self {memory_address_to_id_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],memory_id_to_big_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],range_check_19_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],range_check_9_9_inputs: [Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),Vec::with_capacity(capacity),],verify_instruction_inputs: [Vec::with_capacity(capacity),],} } fn bit_reverse_coset_to_circle_domain_order(&mut self) { - self.range_check_19_inputs + self.memory_address_to_id_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); - self.range_check_9_9_inputs + self.memory_id_to_big_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); - self.memory_address_to_id_inputs + self.range_check_19_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); - self.memory_id_to_big_inputs + self.range_check_9_9_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.verify_instruction_inputs @@ -156,82 +156,82 @@ pub fn write_trace_simd( inputs.into_iter() .enumerate().for_each(|(row_index, generic_opcode_input)| { - let input_tmp_134 = generic_opcode_input; -let input_pc_col0 = input_tmp_134.pc; + let input_tmp_5745_0 = generic_opcode_input; +let input_pc_col0 = input_tmp_5745_0.pc; trace[0].data[row_index] = input_pc_col0; -let input_ap_col1 = input_tmp_134.ap; +let input_ap_col1 = input_tmp_5745_0.ap; trace[1].data[row_index] = input_ap_col1; -let input_fp_col2 = input_tmp_134.fp; +let input_fp_col2 = input_tmp_5745_0.fp; trace[2].data[row_index] = input_fp_col2; - //decode_generic_instruction. + //DecodeGenericInstruction. - //decode_instruction_337193008ebaa578. + //DecodeInstruction_337193008ebaa578. -let memory_address_to_id_value_tmp_204 = memory_address_to_id_state.deduce_output( +let memoryaddresstoid_value_tmp_5745_1 = memory_address_to_id_state.deduce_output( input_pc_col0 ); -let memory_id_to_big_value_tmp_205 = memory_id_to_big_state.deduce_output( - memory_address_to_id_value_tmp_204 +let memoryidtobig_value_tmp_5745_2 = memory_id_to_big_state.deduce_output( + memoryaddresstoid_value_tmp_5745_1 ); -let offset0_tmp_206 = ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(0))) + (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(1))) & (UInt16_127))) << (UInt16_9)))); -let offset0_col3 = offset0_tmp_206.as_m31(); +let offset0_tmp_5745_3 = ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(0))) + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(1))) & (UInt16_127))) << (UInt16_9)))); +let offset0_col3 = offset0_tmp_5745_3.as_m31(); trace[3].data[row_index] = offset0_col3; -let offset1_tmp_207 = ((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(1))) >> (UInt16_7))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(2))) << (UInt16_2))))) + (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(3))) & (UInt16_31))) << (UInt16_11)))); -let offset1_col4 = offset1_tmp_207.as_m31(); +let offset1_tmp_5745_4 = ((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(1))) >> (UInt16_7))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(2))) << (UInt16_2))))) + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(3))) & (UInt16_31))) << (UInt16_11)))); +let offset1_col4 = offset1_tmp_5745_4.as_m31(); trace[4].data[row_index] = offset1_col4; -let offset2_tmp_208 = ((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(3))) >> (UInt16_5))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(4))) << (UInt16_4))))) + (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) & (UInt16_7))) << (UInt16_13)))); -let offset2_col5 = offset2_tmp_208.as_m31(); +let offset2_tmp_5745_5 = ((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(3))) >> (UInt16_5))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(4))) << (UInt16_4))))) + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) & (UInt16_7))) << (UInt16_13)))); +let offset2_col5 = offset2_tmp_5745_5.as_m31(); trace[5].data[row_index] = offset2_col5; -let dst_base_fp_tmp_209 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_0))) & (UInt16_1)); -let dst_base_fp_col6 = dst_base_fp_tmp_209.as_m31(); +let dst_base_fp_tmp_5745_6 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_0))) & (UInt16_1)); +let dst_base_fp_col6 = dst_base_fp_tmp_5745_6.as_m31(); trace[6].data[row_index] = dst_base_fp_col6; -let op0_base_fp_tmp_210 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_1))) & (UInt16_1)); -let op0_base_fp_col7 = op0_base_fp_tmp_210.as_m31(); +let op0_base_fp_tmp_5745_7 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_1))) & (UInt16_1)); +let op0_base_fp_col7 = op0_base_fp_tmp_5745_7.as_m31(); trace[7].data[row_index] = op0_base_fp_col7; -let op1_imm_tmp_211 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_2))) & (UInt16_1)); -let op1_imm_col8 = op1_imm_tmp_211.as_m31(); +let op1_imm_tmp_5745_8 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_2))) & (UInt16_1)); +let op1_imm_col8 = op1_imm_tmp_5745_8.as_m31(); trace[8].data[row_index] = op1_imm_col8; -let op1_base_fp_tmp_212 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_3))) & (UInt16_1)); -let op1_base_fp_col9 = op1_base_fp_tmp_212.as_m31(); +let op1_base_fp_tmp_5745_9 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_3))) & (UInt16_1)); +let op1_base_fp_col9 = op1_base_fp_tmp_5745_9.as_m31(); trace[9].data[row_index] = op1_base_fp_col9; -let op1_base_ap_tmp_213 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_4))) & (UInt16_1)); -let op1_base_ap_col10 = op1_base_ap_tmp_213.as_m31(); +let op1_base_ap_tmp_5745_10 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_4))) & (UInt16_1)); +let op1_base_ap_col10 = op1_base_ap_tmp_5745_10.as_m31(); trace[10].data[row_index] = op1_base_ap_col10; -let res_add_tmp_214 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_5))) & (UInt16_1)); -let res_add_col11 = res_add_tmp_214.as_m31(); +let res_add_tmp_5745_11 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_5))) & (UInt16_1)); +let res_add_col11 = res_add_tmp_5745_11.as_m31(); trace[11].data[row_index] = res_add_col11; -let res_mul_tmp_215 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_6))) & (UInt16_1)); -let res_mul_col12 = res_mul_tmp_215.as_m31(); +let res_mul_tmp_5745_12 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_6))) & (UInt16_1)); +let res_mul_col12 = res_mul_tmp_5745_12.as_m31(); trace[12].data[row_index] = res_mul_col12; -let pc_update_jump_tmp_216 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_7))) & (UInt16_1)); -let pc_update_jump_col13 = pc_update_jump_tmp_216.as_m31(); +let pc_update_jump_tmp_5745_13 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_7))) & (UInt16_1)); +let pc_update_jump_col13 = pc_update_jump_tmp_5745_13.as_m31(); trace[13].data[row_index] = pc_update_jump_col13; -let pc_update_jump_rel_tmp_217 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_8))) & (UInt16_1)); -let pc_update_jump_rel_col14 = pc_update_jump_rel_tmp_217.as_m31(); +let pc_update_jump_rel_tmp_5745_14 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_8))) & (UInt16_1)); +let pc_update_jump_rel_col14 = pc_update_jump_rel_tmp_5745_14.as_m31(); trace[14].data[row_index] = pc_update_jump_rel_col14; -let pc_update_jnz_tmp_218 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_9))) & (UInt16_1)); -let pc_update_jnz_col15 = pc_update_jnz_tmp_218.as_m31(); +let pc_update_jnz_tmp_5745_15 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_9))) & (UInt16_1)); +let pc_update_jnz_col15 = pc_update_jnz_tmp_5745_15.as_m31(); trace[15].data[row_index] = pc_update_jnz_col15; -let ap_update_add_tmp_219 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_10))) & (UInt16_1)); -let ap_update_add_col16 = ap_update_add_tmp_219.as_m31(); +let ap_update_add_tmp_5745_16 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_10))) & (UInt16_1)); +let ap_update_add_col16 = ap_update_add_tmp_5745_16.as_m31(); trace[16].data[row_index] = ap_update_add_col16; -let ap_update_add_1_tmp_220 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_11))) & (UInt16_1)); -let ap_update_add_1_col17 = ap_update_add_1_tmp_220.as_m31(); +let ap_update_add_1_tmp_5745_17 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_11))) & (UInt16_1)); +let ap_update_add_1_col17 = ap_update_add_1_tmp_5745_17.as_m31(); trace[17].data[row_index] = ap_update_add_1_col17; -let opcode_call_tmp_221 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_12))) & (UInt16_1)); -let opcode_call_col18 = opcode_call_tmp_221.as_m31(); +let opcode_call_tmp_5745_18 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_12))) & (UInt16_1)); +let opcode_call_col18 = opcode_call_tmp_5745_18.as_m31(); trace[18].data[row_index] = opcode_call_col18; -let opcode_ret_tmp_222 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_13))) & (UInt16_1)); -let opcode_ret_col19 = opcode_ret_tmp_222.as_m31(); +let opcode_ret_tmp_5745_19 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_13))) & (UInt16_1)); +let opcode_ret_col19 = opcode_ret_tmp_5745_19.as_m31(); trace[19].data[row_index] = opcode_ret_col19; -let opcode_assert_eq_tmp_223 = ((((((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_205.get_m31(6))) << (UInt16_6))))) >> (UInt16_14))) & (UInt16_1)); -let opcode_assert_eq_col20 = opcode_assert_eq_tmp_223.as_m31(); +let opcode_assert_eq_tmp_5745_20 = ((((((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(5))) >> (UInt16_3))) + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5745_2.get_m31(6))) << (UInt16_6))))) >> (UInt16_14))) & (UInt16_1)); +let opcode_assert_eq_col20 = opcode_assert_eq_tmp_5745_20.as_m31(); trace[20].data[row_index] = opcode_assert_eq_col20; sub_components_inputs @@ -242,92 +242,92 @@ lookup_data.verifyinstruction[0].push([input_pc_col0, offset0_col3, offset1_col4 -let op1_base_op0_tmp_225 = ((((((M31_1) - (op1_imm_col8))) - (op1_base_fp_col9))) - (op1_base_ap_col10)); -let res_op1_tmp_226 = ((((((M31_1) - (res_add_col11))) - (res_mul_col12))) - (pc_update_jnz_col15)); -let pc_update_regular_tmp_227 = ((((((M31_1) - (pc_update_jump_col13))) - (pc_update_jump_rel_col14))) - (pc_update_jnz_col15)); -let ap_update_regular_tmp_228 = ((((((M31_1) - (ap_update_add_col16))) - (ap_update_add_1_col17))) - (opcode_call_col18)); -let fp_update_regular_tmp_229 = ((((M31_1) - (opcode_call_col18))) - (opcode_ret_col19)); +let op1_base_op0_tmp_5745_21 = ((((((M31_1) - (op1_imm_col8))) - (op1_base_fp_col9))) - (op1_base_ap_col10)); +let res_op1_tmp_5745_22 = ((((((M31_1) - (res_add_col11))) - (res_mul_col12))) - (pc_update_jnz_col15)); +let pc_update_regular_tmp_5745_23 = ((((((M31_1) - (pc_update_jump_col13))) - (pc_update_jump_rel_col14))) - (pc_update_jnz_col15)); +let ap_update_regular_tmp_5745_24 = ((((((M31_1) - (ap_update_add_col16))) - (ap_update_add_1_col17))) - (opcode_call_col18)); +let fp_update_regular_tmp_5745_25 = ((((M31_1) - (opcode_call_col18))) - (opcode_ret_col19)); - //eval_operands. + //EvalOperands. - //read_positive_num_bits_252. + //ReadPositive_num_bits_252. -let memory_address_to_id_value_tmp_718 = memory_address_to_id_state.deduce_output( +let memoryaddresstoid_value_tmp_5745_26 = memory_address_to_id_state.deduce_output( ((((((dst_base_fp_col6) * (input_fp_col2))) + (((((M31_1) - (dst_base_fp_col6))) * (input_ap_col1))))) + (((offset0_col3) - (M31_32768)))) ); -let memory_id_to_big_value_tmp_719 = memory_id_to_big_state.deduce_output( - memory_address_to_id_value_tmp_718 +let memoryidtobig_value_tmp_5745_27 = memory_id_to_big_state.deduce_output( + memoryaddresstoid_value_tmp_5745_26 ); -let dst_id_col21 = memory_address_to_id_value_tmp_718; +let dst_id_col21 = memoryaddresstoid_value_tmp_5745_26; trace[21].data[row_index] = dst_id_col21; sub_components_inputs .memory_address_to_id_inputs[0] .extend(((((((dst_base_fp_col6) * (input_fp_col2))) + (((((M31_1) - (dst_base_fp_col6))) * (input_ap_col1))))) + (((offset0_col3) - (M31_32768)))).unpack()); lookup_data.memoryaddresstoid[0].push([((((((dst_base_fp_col6) * (input_fp_col2))) + (((((M31_1) - (dst_base_fp_col6))) * (input_ap_col1))))) + (((offset0_col3) - (M31_32768)))), dst_id_col21]); -let dst_limb_0_col22 = memory_id_to_big_value_tmp_719.get_m31(0); +let dst_limb_0_col22 = memoryidtobig_value_tmp_5745_27.get_m31(0); trace[22].data[row_index] = dst_limb_0_col22; -let dst_limb_1_col23 = memory_id_to_big_value_tmp_719.get_m31(1); +let dst_limb_1_col23 = memoryidtobig_value_tmp_5745_27.get_m31(1); trace[23].data[row_index] = dst_limb_1_col23; -let dst_limb_2_col24 = memory_id_to_big_value_tmp_719.get_m31(2); +let dst_limb_2_col24 = memoryidtobig_value_tmp_5745_27.get_m31(2); trace[24].data[row_index] = dst_limb_2_col24; -let dst_limb_3_col25 = memory_id_to_big_value_tmp_719.get_m31(3); +let dst_limb_3_col25 = memoryidtobig_value_tmp_5745_27.get_m31(3); trace[25].data[row_index] = dst_limb_3_col25; -let dst_limb_4_col26 = memory_id_to_big_value_tmp_719.get_m31(4); +let dst_limb_4_col26 = memoryidtobig_value_tmp_5745_27.get_m31(4); trace[26].data[row_index] = dst_limb_4_col26; -let dst_limb_5_col27 = memory_id_to_big_value_tmp_719.get_m31(5); +let dst_limb_5_col27 = memoryidtobig_value_tmp_5745_27.get_m31(5); trace[27].data[row_index] = dst_limb_5_col27; -let dst_limb_6_col28 = memory_id_to_big_value_tmp_719.get_m31(6); +let dst_limb_6_col28 = memoryidtobig_value_tmp_5745_27.get_m31(6); trace[28].data[row_index] = dst_limb_6_col28; -let dst_limb_7_col29 = memory_id_to_big_value_tmp_719.get_m31(7); +let dst_limb_7_col29 = memoryidtobig_value_tmp_5745_27.get_m31(7); trace[29].data[row_index] = dst_limb_7_col29; -let dst_limb_8_col30 = memory_id_to_big_value_tmp_719.get_m31(8); +let dst_limb_8_col30 = memoryidtobig_value_tmp_5745_27.get_m31(8); trace[30].data[row_index] = dst_limb_8_col30; -let dst_limb_9_col31 = memory_id_to_big_value_tmp_719.get_m31(9); +let dst_limb_9_col31 = memoryidtobig_value_tmp_5745_27.get_m31(9); trace[31].data[row_index] = dst_limb_9_col31; -let dst_limb_10_col32 = memory_id_to_big_value_tmp_719.get_m31(10); +let dst_limb_10_col32 = memoryidtobig_value_tmp_5745_27.get_m31(10); trace[32].data[row_index] = dst_limb_10_col32; -let dst_limb_11_col33 = memory_id_to_big_value_tmp_719.get_m31(11); +let dst_limb_11_col33 = memoryidtobig_value_tmp_5745_27.get_m31(11); trace[33].data[row_index] = dst_limb_11_col33; -let dst_limb_12_col34 = memory_id_to_big_value_tmp_719.get_m31(12); +let dst_limb_12_col34 = memoryidtobig_value_tmp_5745_27.get_m31(12); trace[34].data[row_index] = dst_limb_12_col34; -let dst_limb_13_col35 = memory_id_to_big_value_tmp_719.get_m31(13); +let dst_limb_13_col35 = memoryidtobig_value_tmp_5745_27.get_m31(13); trace[35].data[row_index] = dst_limb_13_col35; -let dst_limb_14_col36 = memory_id_to_big_value_tmp_719.get_m31(14); +let dst_limb_14_col36 = memoryidtobig_value_tmp_5745_27.get_m31(14); trace[36].data[row_index] = dst_limb_14_col36; -let dst_limb_15_col37 = memory_id_to_big_value_tmp_719.get_m31(15); +let dst_limb_15_col37 = memoryidtobig_value_tmp_5745_27.get_m31(15); trace[37].data[row_index] = dst_limb_15_col37; -let dst_limb_16_col38 = memory_id_to_big_value_tmp_719.get_m31(16); +let dst_limb_16_col38 = memoryidtobig_value_tmp_5745_27.get_m31(16); trace[38].data[row_index] = dst_limb_16_col38; -let dst_limb_17_col39 = memory_id_to_big_value_tmp_719.get_m31(17); +let dst_limb_17_col39 = memoryidtobig_value_tmp_5745_27.get_m31(17); trace[39].data[row_index] = dst_limb_17_col39; -let dst_limb_18_col40 = memory_id_to_big_value_tmp_719.get_m31(18); +let dst_limb_18_col40 = memoryidtobig_value_tmp_5745_27.get_m31(18); trace[40].data[row_index] = dst_limb_18_col40; -let dst_limb_19_col41 = memory_id_to_big_value_tmp_719.get_m31(19); +let dst_limb_19_col41 = memoryidtobig_value_tmp_5745_27.get_m31(19); trace[41].data[row_index] = dst_limb_19_col41; -let dst_limb_20_col42 = memory_id_to_big_value_tmp_719.get_m31(20); +let dst_limb_20_col42 = memoryidtobig_value_tmp_5745_27.get_m31(20); trace[42].data[row_index] = dst_limb_20_col42; -let dst_limb_21_col43 = memory_id_to_big_value_tmp_719.get_m31(21); +let dst_limb_21_col43 = memoryidtobig_value_tmp_5745_27.get_m31(21); trace[43].data[row_index] = dst_limb_21_col43; -let dst_limb_22_col44 = memory_id_to_big_value_tmp_719.get_m31(22); +let dst_limb_22_col44 = memoryidtobig_value_tmp_5745_27.get_m31(22); trace[44].data[row_index] = dst_limb_22_col44; -let dst_limb_23_col45 = memory_id_to_big_value_tmp_719.get_m31(23); +let dst_limb_23_col45 = memoryidtobig_value_tmp_5745_27.get_m31(23); trace[45].data[row_index] = dst_limb_23_col45; -let dst_limb_24_col46 = memory_id_to_big_value_tmp_719.get_m31(24); +let dst_limb_24_col46 = memoryidtobig_value_tmp_5745_27.get_m31(24); trace[46].data[row_index] = dst_limb_24_col46; -let dst_limb_25_col47 = memory_id_to_big_value_tmp_719.get_m31(25); +let dst_limb_25_col47 = memoryidtobig_value_tmp_5745_27.get_m31(25); trace[47].data[row_index] = dst_limb_25_col47; -let dst_limb_26_col48 = memory_id_to_big_value_tmp_719.get_m31(26); +let dst_limb_26_col48 = memoryidtobig_value_tmp_5745_27.get_m31(26); trace[48].data[row_index] = dst_limb_26_col48; -let dst_limb_27_col49 = memory_id_to_big_value_tmp_719.get_m31(27); +let dst_limb_27_col49 = memoryidtobig_value_tmp_5745_27.get_m31(27); trace[49].data[row_index] = dst_limb_27_col49; sub_components_inputs .memory_id_to_big_inputs[0] @@ -339,77 +339,77 @@ lookup_data.memoryidtobig[0].push([dst_id_col21, dst_limb_0_col22, dst_limb_1_co - //read_positive_num_bits_252. + //ReadPositive_num_bits_252. -let memory_address_to_id_value_tmp_720 = memory_address_to_id_state.deduce_output( +let memoryaddresstoid_value_tmp_5745_28 = memory_address_to_id_state.deduce_output( ((((((op0_base_fp_col7) * (input_fp_col2))) + (((((M31_1) - (op0_base_fp_col7))) * (input_ap_col1))))) + (((offset1_col4) - (M31_32768)))) ); -let memory_id_to_big_value_tmp_721 = memory_id_to_big_state.deduce_output( - memory_address_to_id_value_tmp_720 +let memoryidtobig_value_tmp_5745_29 = memory_id_to_big_state.deduce_output( + memoryaddresstoid_value_tmp_5745_28 ); -let op0_id_col50 = memory_address_to_id_value_tmp_720; +let op0_id_col50 = memoryaddresstoid_value_tmp_5745_28; trace[50].data[row_index] = op0_id_col50; sub_components_inputs .memory_address_to_id_inputs[1] .extend(((((((op0_base_fp_col7) * (input_fp_col2))) + (((((M31_1) - (op0_base_fp_col7))) * (input_ap_col1))))) + (((offset1_col4) - (M31_32768)))).unpack()); lookup_data.memoryaddresstoid[1].push([((((((op0_base_fp_col7) * (input_fp_col2))) + (((((M31_1) - (op0_base_fp_col7))) * (input_ap_col1))))) + (((offset1_col4) - (M31_32768)))), op0_id_col50]); -let op0_limb_0_col51 = memory_id_to_big_value_tmp_721.get_m31(0); +let op0_limb_0_col51 = memoryidtobig_value_tmp_5745_29.get_m31(0); trace[51].data[row_index] = op0_limb_0_col51; -let op0_limb_1_col52 = memory_id_to_big_value_tmp_721.get_m31(1); +let op0_limb_1_col52 = memoryidtobig_value_tmp_5745_29.get_m31(1); trace[52].data[row_index] = op0_limb_1_col52; -let op0_limb_2_col53 = memory_id_to_big_value_tmp_721.get_m31(2); +let op0_limb_2_col53 = memoryidtobig_value_tmp_5745_29.get_m31(2); trace[53].data[row_index] = op0_limb_2_col53; -let op0_limb_3_col54 = memory_id_to_big_value_tmp_721.get_m31(3); +let op0_limb_3_col54 = memoryidtobig_value_tmp_5745_29.get_m31(3); trace[54].data[row_index] = op0_limb_3_col54; -let op0_limb_4_col55 = memory_id_to_big_value_tmp_721.get_m31(4); +let op0_limb_4_col55 = memoryidtobig_value_tmp_5745_29.get_m31(4); trace[55].data[row_index] = op0_limb_4_col55; -let op0_limb_5_col56 = memory_id_to_big_value_tmp_721.get_m31(5); +let op0_limb_5_col56 = memoryidtobig_value_tmp_5745_29.get_m31(5); trace[56].data[row_index] = op0_limb_5_col56; -let op0_limb_6_col57 = memory_id_to_big_value_tmp_721.get_m31(6); +let op0_limb_6_col57 = memoryidtobig_value_tmp_5745_29.get_m31(6); trace[57].data[row_index] = op0_limb_6_col57; -let op0_limb_7_col58 = memory_id_to_big_value_tmp_721.get_m31(7); +let op0_limb_7_col58 = memoryidtobig_value_tmp_5745_29.get_m31(7); trace[58].data[row_index] = op0_limb_7_col58; -let op0_limb_8_col59 = memory_id_to_big_value_tmp_721.get_m31(8); +let op0_limb_8_col59 = memoryidtobig_value_tmp_5745_29.get_m31(8); trace[59].data[row_index] = op0_limb_8_col59; -let op0_limb_9_col60 = memory_id_to_big_value_tmp_721.get_m31(9); +let op0_limb_9_col60 = memoryidtobig_value_tmp_5745_29.get_m31(9); trace[60].data[row_index] = op0_limb_9_col60; -let op0_limb_10_col61 = memory_id_to_big_value_tmp_721.get_m31(10); +let op0_limb_10_col61 = memoryidtobig_value_tmp_5745_29.get_m31(10); trace[61].data[row_index] = op0_limb_10_col61; -let op0_limb_11_col62 = memory_id_to_big_value_tmp_721.get_m31(11); +let op0_limb_11_col62 = memoryidtobig_value_tmp_5745_29.get_m31(11); trace[62].data[row_index] = op0_limb_11_col62; -let op0_limb_12_col63 = memory_id_to_big_value_tmp_721.get_m31(12); +let op0_limb_12_col63 = memoryidtobig_value_tmp_5745_29.get_m31(12); trace[63].data[row_index] = op0_limb_12_col63; -let op0_limb_13_col64 = memory_id_to_big_value_tmp_721.get_m31(13); +let op0_limb_13_col64 = memoryidtobig_value_tmp_5745_29.get_m31(13); trace[64].data[row_index] = op0_limb_13_col64; -let op0_limb_14_col65 = memory_id_to_big_value_tmp_721.get_m31(14); +let op0_limb_14_col65 = memoryidtobig_value_tmp_5745_29.get_m31(14); trace[65].data[row_index] = op0_limb_14_col65; -let op0_limb_15_col66 = memory_id_to_big_value_tmp_721.get_m31(15); +let op0_limb_15_col66 = memoryidtobig_value_tmp_5745_29.get_m31(15); trace[66].data[row_index] = op0_limb_15_col66; -let op0_limb_16_col67 = memory_id_to_big_value_tmp_721.get_m31(16); +let op0_limb_16_col67 = memoryidtobig_value_tmp_5745_29.get_m31(16); trace[67].data[row_index] = op0_limb_16_col67; -let op0_limb_17_col68 = memory_id_to_big_value_tmp_721.get_m31(17); +let op0_limb_17_col68 = memoryidtobig_value_tmp_5745_29.get_m31(17); trace[68].data[row_index] = op0_limb_17_col68; -let op0_limb_18_col69 = memory_id_to_big_value_tmp_721.get_m31(18); +let op0_limb_18_col69 = memoryidtobig_value_tmp_5745_29.get_m31(18); trace[69].data[row_index] = op0_limb_18_col69; -let op0_limb_19_col70 = memory_id_to_big_value_tmp_721.get_m31(19); +let op0_limb_19_col70 = memoryidtobig_value_tmp_5745_29.get_m31(19); trace[70].data[row_index] = op0_limb_19_col70; -let op0_limb_20_col71 = memory_id_to_big_value_tmp_721.get_m31(20); +let op0_limb_20_col71 = memoryidtobig_value_tmp_5745_29.get_m31(20); trace[71].data[row_index] = op0_limb_20_col71; -let op0_limb_21_col72 = memory_id_to_big_value_tmp_721.get_m31(21); +let op0_limb_21_col72 = memoryidtobig_value_tmp_5745_29.get_m31(21); trace[72].data[row_index] = op0_limb_21_col72; -let op0_limb_22_col73 = memory_id_to_big_value_tmp_721.get_m31(22); +let op0_limb_22_col73 = memoryidtobig_value_tmp_5745_29.get_m31(22); trace[73].data[row_index] = op0_limb_22_col73; -let op0_limb_23_col74 = memory_id_to_big_value_tmp_721.get_m31(23); +let op0_limb_23_col74 = memoryidtobig_value_tmp_5745_29.get_m31(23); trace[74].data[row_index] = op0_limb_23_col74; -let op0_limb_24_col75 = memory_id_to_big_value_tmp_721.get_m31(24); +let op0_limb_24_col75 = memoryidtobig_value_tmp_5745_29.get_m31(24); trace[75].data[row_index] = op0_limb_24_col75; -let op0_limb_25_col76 = memory_id_to_big_value_tmp_721.get_m31(25); +let op0_limb_25_col76 = memoryidtobig_value_tmp_5745_29.get_m31(25); trace[76].data[row_index] = op0_limb_25_col76; -let op0_limb_26_col77 = memory_id_to_big_value_tmp_721.get_m31(26); +let op0_limb_26_col77 = memoryidtobig_value_tmp_5745_29.get_m31(26); trace[77].data[row_index] = op0_limb_26_col77; -let op0_limb_27_col78 = memory_id_to_big_value_tmp_721.get_m31(27); +let op0_limb_27_col78 = memoryidtobig_value_tmp_5745_29.get_m31(27); trace[78].data[row_index] = op0_limb_27_col78; sub_components_inputs .memory_id_to_big_inputs[1] @@ -421,85 +421,77 @@ lookup_data.memoryidtobig[1].push([op0_id_col50, op0_limb_0_col51, op0_limb_1_co - //cond_felt252_as_addr. + //ReadPositive_num_bits_252. - - - - - - //read_positive_num_bits_252. - - -let memory_address_to_id_value_tmp_722 = memory_address_to_id_state.deduce_output( - ((((((((((op1_base_fp_col9) * (input_fp_col2))) + (((op1_base_ap_col10) * (input_ap_col1))))) + (((op1_imm_col8) * (input_pc_col0))))) + (((op1_base_op0_tmp_225) * (((((op0_limb_0_col51) + (((op0_limb_1_col52) * (M31_512))))) + (((op0_limb_2_col53) * (M31_262144))))))))) + (((offset2_col5) - (M31_32768)))) +let memoryaddresstoid_value_tmp_5745_30 = memory_address_to_id_state.deduce_output( + ((((((((((op1_base_fp_col9) * (input_fp_col2))) + (((op1_base_ap_col10) * (input_ap_col1))))) + (((op1_imm_col8) * (input_pc_col0))))) + (((op1_base_op0_tmp_5745_21) * (((((op0_limb_0_col51) + (((op0_limb_1_col52) * (M31_512))))) + (((op0_limb_2_col53) * (M31_262144))))))))) + (((offset2_col5) - (M31_32768)))) ); -let memory_id_to_big_value_tmp_723 = memory_id_to_big_state.deduce_output( - memory_address_to_id_value_tmp_722 +let memoryidtobig_value_tmp_5745_31 = memory_id_to_big_state.deduce_output( + memoryaddresstoid_value_tmp_5745_30 ); -let op1_id_col79 = memory_address_to_id_value_tmp_722; +let op1_id_col79 = memoryaddresstoid_value_tmp_5745_30; trace[79].data[row_index] = op1_id_col79; sub_components_inputs .memory_address_to_id_inputs[2] - .extend(((((((((((op1_base_fp_col9) * (input_fp_col2))) + (((op1_base_ap_col10) * (input_ap_col1))))) + (((op1_imm_col8) * (input_pc_col0))))) + (((op1_base_op0_tmp_225) * (((((op0_limb_0_col51) + (((op0_limb_1_col52) * (M31_512))))) + (((op0_limb_2_col53) * (M31_262144))))))))) + (((offset2_col5) - (M31_32768)))).unpack()); + .extend(((((((((((op1_base_fp_col9) * (input_fp_col2))) + (((op1_base_ap_col10) * (input_ap_col1))))) + (((op1_imm_col8) * (input_pc_col0))))) + (((op1_base_op0_tmp_5745_21) * (((((op0_limb_0_col51) + (((op0_limb_1_col52) * (M31_512))))) + (((op0_limb_2_col53) * (M31_262144))))))))) + (((offset2_col5) - (M31_32768)))).unpack()); -lookup_data.memoryaddresstoid[2].push([((((((((((op1_base_fp_col9) * (input_fp_col2))) + (((op1_base_ap_col10) * (input_ap_col1))))) + (((op1_imm_col8) * (input_pc_col0))))) + (((op1_base_op0_tmp_225) * (((((op0_limb_0_col51) + (((op0_limb_1_col52) * (M31_512))))) + (((op0_limb_2_col53) * (M31_262144))))))))) + (((offset2_col5) - (M31_32768)))), op1_id_col79]); -let op1_limb_0_col80 = memory_id_to_big_value_tmp_723.get_m31(0); +lookup_data.memoryaddresstoid[2].push([((((((((((op1_base_fp_col9) * (input_fp_col2))) + (((op1_base_ap_col10) * (input_ap_col1))))) + (((op1_imm_col8) * (input_pc_col0))))) + (((op1_base_op0_tmp_5745_21) * (((((op0_limb_0_col51) + (((op0_limb_1_col52) * (M31_512))))) + (((op0_limb_2_col53) * (M31_262144))))))))) + (((offset2_col5) - (M31_32768)))), op1_id_col79]); +let op1_limb_0_col80 = memoryidtobig_value_tmp_5745_31.get_m31(0); trace[80].data[row_index] = op1_limb_0_col80; -let op1_limb_1_col81 = memory_id_to_big_value_tmp_723.get_m31(1); +let op1_limb_1_col81 = memoryidtobig_value_tmp_5745_31.get_m31(1); trace[81].data[row_index] = op1_limb_1_col81; -let op1_limb_2_col82 = memory_id_to_big_value_tmp_723.get_m31(2); +let op1_limb_2_col82 = memoryidtobig_value_tmp_5745_31.get_m31(2); trace[82].data[row_index] = op1_limb_2_col82; -let op1_limb_3_col83 = memory_id_to_big_value_tmp_723.get_m31(3); +let op1_limb_3_col83 = memoryidtobig_value_tmp_5745_31.get_m31(3); trace[83].data[row_index] = op1_limb_3_col83; -let op1_limb_4_col84 = memory_id_to_big_value_tmp_723.get_m31(4); +let op1_limb_4_col84 = memoryidtobig_value_tmp_5745_31.get_m31(4); trace[84].data[row_index] = op1_limb_4_col84; -let op1_limb_5_col85 = memory_id_to_big_value_tmp_723.get_m31(5); +let op1_limb_5_col85 = memoryidtobig_value_tmp_5745_31.get_m31(5); trace[85].data[row_index] = op1_limb_5_col85; -let op1_limb_6_col86 = memory_id_to_big_value_tmp_723.get_m31(6); +let op1_limb_6_col86 = memoryidtobig_value_tmp_5745_31.get_m31(6); trace[86].data[row_index] = op1_limb_6_col86; -let op1_limb_7_col87 = memory_id_to_big_value_tmp_723.get_m31(7); +let op1_limb_7_col87 = memoryidtobig_value_tmp_5745_31.get_m31(7); trace[87].data[row_index] = op1_limb_7_col87; -let op1_limb_8_col88 = memory_id_to_big_value_tmp_723.get_m31(8); +let op1_limb_8_col88 = memoryidtobig_value_tmp_5745_31.get_m31(8); trace[88].data[row_index] = op1_limb_8_col88; -let op1_limb_9_col89 = memory_id_to_big_value_tmp_723.get_m31(9); +let op1_limb_9_col89 = memoryidtobig_value_tmp_5745_31.get_m31(9); trace[89].data[row_index] = op1_limb_9_col89; -let op1_limb_10_col90 = memory_id_to_big_value_tmp_723.get_m31(10); +let op1_limb_10_col90 = memoryidtobig_value_tmp_5745_31.get_m31(10); trace[90].data[row_index] = op1_limb_10_col90; -let op1_limb_11_col91 = memory_id_to_big_value_tmp_723.get_m31(11); +let op1_limb_11_col91 = memoryidtobig_value_tmp_5745_31.get_m31(11); trace[91].data[row_index] = op1_limb_11_col91; -let op1_limb_12_col92 = memory_id_to_big_value_tmp_723.get_m31(12); +let op1_limb_12_col92 = memoryidtobig_value_tmp_5745_31.get_m31(12); trace[92].data[row_index] = op1_limb_12_col92; -let op1_limb_13_col93 = memory_id_to_big_value_tmp_723.get_m31(13); +let op1_limb_13_col93 = memoryidtobig_value_tmp_5745_31.get_m31(13); trace[93].data[row_index] = op1_limb_13_col93; -let op1_limb_14_col94 = memory_id_to_big_value_tmp_723.get_m31(14); +let op1_limb_14_col94 = memoryidtobig_value_tmp_5745_31.get_m31(14); trace[94].data[row_index] = op1_limb_14_col94; -let op1_limb_15_col95 = memory_id_to_big_value_tmp_723.get_m31(15); +let op1_limb_15_col95 = memoryidtobig_value_tmp_5745_31.get_m31(15); trace[95].data[row_index] = op1_limb_15_col95; -let op1_limb_16_col96 = memory_id_to_big_value_tmp_723.get_m31(16); +let op1_limb_16_col96 = memoryidtobig_value_tmp_5745_31.get_m31(16); trace[96].data[row_index] = op1_limb_16_col96; -let op1_limb_17_col97 = memory_id_to_big_value_tmp_723.get_m31(17); +let op1_limb_17_col97 = memoryidtobig_value_tmp_5745_31.get_m31(17); trace[97].data[row_index] = op1_limb_17_col97; -let op1_limb_18_col98 = memory_id_to_big_value_tmp_723.get_m31(18); +let op1_limb_18_col98 = memoryidtobig_value_tmp_5745_31.get_m31(18); trace[98].data[row_index] = op1_limb_18_col98; -let op1_limb_19_col99 = memory_id_to_big_value_tmp_723.get_m31(19); +let op1_limb_19_col99 = memoryidtobig_value_tmp_5745_31.get_m31(19); trace[99].data[row_index] = op1_limb_19_col99; -let op1_limb_20_col100 = memory_id_to_big_value_tmp_723.get_m31(20); +let op1_limb_20_col100 = memoryidtobig_value_tmp_5745_31.get_m31(20); trace[100].data[row_index] = op1_limb_20_col100; -let op1_limb_21_col101 = memory_id_to_big_value_tmp_723.get_m31(21); +let op1_limb_21_col101 = memoryidtobig_value_tmp_5745_31.get_m31(21); trace[101].data[row_index] = op1_limb_21_col101; -let op1_limb_22_col102 = memory_id_to_big_value_tmp_723.get_m31(22); +let op1_limb_22_col102 = memoryidtobig_value_tmp_5745_31.get_m31(22); trace[102].data[row_index] = op1_limb_22_col102; -let op1_limb_23_col103 = memory_id_to_big_value_tmp_723.get_m31(23); +let op1_limb_23_col103 = memoryidtobig_value_tmp_5745_31.get_m31(23); trace[103].data[row_index] = op1_limb_23_col103; -let op1_limb_24_col104 = memory_id_to_big_value_tmp_723.get_m31(24); +let op1_limb_24_col104 = memoryidtobig_value_tmp_5745_31.get_m31(24); trace[104].data[row_index] = op1_limb_24_col104; -let op1_limb_25_col105 = memory_id_to_big_value_tmp_723.get_m31(25); +let op1_limb_25_col105 = memoryidtobig_value_tmp_5745_31.get_m31(25); trace[105].data[row_index] = op1_limb_25_col105; -let op1_limb_26_col106 = memory_id_to_big_value_tmp_723.get_m31(26); +let op1_limb_26_col106 = memoryidtobig_value_tmp_5745_31.get_m31(26); trace[106].data[row_index] = op1_limb_26_col106; -let op1_limb_27_col107 = memory_id_to_big_value_tmp_723.get_m31(27); +let op1_limb_27_col107 = memoryidtobig_value_tmp_5745_31.get_m31(27); trace[107].data[row_index] = op1_limb_27_col107; sub_components_inputs .memory_id_to_big_inputs[2] @@ -511,69 +503,69 @@ lookup_data.memoryidtobig[2].push([op1_id_col79, op1_limb_0_col80, op1_limb_1_co - //add252. + //Add252. -let add_res_tmp_724 = ((PackedFelt252::from_limbs([op0_limb_0_col51, op0_limb_1_col52, op0_limb_2_col53, op0_limb_3_col54, op0_limb_4_col55, op0_limb_5_col56, op0_limb_6_col57, op0_limb_7_col58, op0_limb_8_col59, op0_limb_9_col60, op0_limb_10_col61, op0_limb_11_col62, op0_limb_12_col63, op0_limb_13_col64, op0_limb_14_col65, op0_limb_15_col66, op0_limb_16_col67, op0_limb_17_col68, op0_limb_18_col69, op0_limb_19_col70, op0_limb_20_col71, op0_limb_21_col72, op0_limb_22_col73, op0_limb_23_col74, op0_limb_24_col75, op0_limb_25_col76, op0_limb_26_col77, op0_limb_27_col78])) + (PackedFelt252::from_limbs([op1_limb_0_col80, op1_limb_1_col81, op1_limb_2_col82, op1_limb_3_col83, op1_limb_4_col84, op1_limb_5_col85, op1_limb_6_col86, op1_limb_7_col87, op1_limb_8_col88, op1_limb_9_col89, op1_limb_10_col90, op1_limb_11_col91, op1_limb_12_col92, op1_limb_13_col93, op1_limb_14_col94, op1_limb_15_col95, op1_limb_16_col96, op1_limb_17_col97, op1_limb_18_col98, op1_limb_19_col99, op1_limb_20_col100, op1_limb_21_col101, op1_limb_22_col102, op1_limb_23_col103, op1_limb_24_col104, op1_limb_25_col105, op1_limb_26_col106, op1_limb_27_col107]))); -let add_res_limb_0_col108 = add_res_tmp_724.get_m31(0); +let add_res_tmp_5745_32 = ((PackedFelt252::from_limbs([op0_limb_0_col51, op0_limb_1_col52, op0_limb_2_col53, op0_limb_3_col54, op0_limb_4_col55, op0_limb_5_col56, op0_limb_6_col57, op0_limb_7_col58, op0_limb_8_col59, op0_limb_9_col60, op0_limb_10_col61, op0_limb_11_col62, op0_limb_12_col63, op0_limb_13_col64, op0_limb_14_col65, op0_limb_15_col66, op0_limb_16_col67, op0_limb_17_col68, op0_limb_18_col69, op0_limb_19_col70, op0_limb_20_col71, op0_limb_21_col72, op0_limb_22_col73, op0_limb_23_col74, op0_limb_24_col75, op0_limb_25_col76, op0_limb_26_col77, op0_limb_27_col78])) + (PackedFelt252::from_limbs([op1_limb_0_col80, op1_limb_1_col81, op1_limb_2_col82, op1_limb_3_col83, op1_limb_4_col84, op1_limb_5_col85, op1_limb_6_col86, op1_limb_7_col87, op1_limb_8_col88, op1_limb_9_col89, op1_limb_10_col90, op1_limb_11_col91, op1_limb_12_col92, op1_limb_13_col93, op1_limb_14_col94, op1_limb_15_col95, op1_limb_16_col96, op1_limb_17_col97, op1_limb_18_col98, op1_limb_19_col99, op1_limb_20_col100, op1_limb_21_col101, op1_limb_22_col102, op1_limb_23_col103, op1_limb_24_col104, op1_limb_25_col105, op1_limb_26_col106, op1_limb_27_col107]))); +let add_res_limb_0_col108 = add_res_tmp_5745_32.get_m31(0); trace[108].data[row_index] = add_res_limb_0_col108; -let add_res_limb_1_col109 = add_res_tmp_724.get_m31(1); +let add_res_limb_1_col109 = add_res_tmp_5745_32.get_m31(1); trace[109].data[row_index] = add_res_limb_1_col109; -let add_res_limb_2_col110 = add_res_tmp_724.get_m31(2); +let add_res_limb_2_col110 = add_res_tmp_5745_32.get_m31(2); trace[110].data[row_index] = add_res_limb_2_col110; -let add_res_limb_3_col111 = add_res_tmp_724.get_m31(3); +let add_res_limb_3_col111 = add_res_tmp_5745_32.get_m31(3); trace[111].data[row_index] = add_res_limb_3_col111; -let add_res_limb_4_col112 = add_res_tmp_724.get_m31(4); +let add_res_limb_4_col112 = add_res_tmp_5745_32.get_m31(4); trace[112].data[row_index] = add_res_limb_4_col112; -let add_res_limb_5_col113 = add_res_tmp_724.get_m31(5); +let add_res_limb_5_col113 = add_res_tmp_5745_32.get_m31(5); trace[113].data[row_index] = add_res_limb_5_col113; -let add_res_limb_6_col114 = add_res_tmp_724.get_m31(6); +let add_res_limb_6_col114 = add_res_tmp_5745_32.get_m31(6); trace[114].data[row_index] = add_res_limb_6_col114; -let add_res_limb_7_col115 = add_res_tmp_724.get_m31(7); +let add_res_limb_7_col115 = add_res_tmp_5745_32.get_m31(7); trace[115].data[row_index] = add_res_limb_7_col115; -let add_res_limb_8_col116 = add_res_tmp_724.get_m31(8); +let add_res_limb_8_col116 = add_res_tmp_5745_32.get_m31(8); trace[116].data[row_index] = add_res_limb_8_col116; -let add_res_limb_9_col117 = add_res_tmp_724.get_m31(9); +let add_res_limb_9_col117 = add_res_tmp_5745_32.get_m31(9); trace[117].data[row_index] = add_res_limb_9_col117; -let add_res_limb_10_col118 = add_res_tmp_724.get_m31(10); +let add_res_limb_10_col118 = add_res_tmp_5745_32.get_m31(10); trace[118].data[row_index] = add_res_limb_10_col118; -let add_res_limb_11_col119 = add_res_tmp_724.get_m31(11); +let add_res_limb_11_col119 = add_res_tmp_5745_32.get_m31(11); trace[119].data[row_index] = add_res_limb_11_col119; -let add_res_limb_12_col120 = add_res_tmp_724.get_m31(12); +let add_res_limb_12_col120 = add_res_tmp_5745_32.get_m31(12); trace[120].data[row_index] = add_res_limb_12_col120; -let add_res_limb_13_col121 = add_res_tmp_724.get_m31(13); +let add_res_limb_13_col121 = add_res_tmp_5745_32.get_m31(13); trace[121].data[row_index] = add_res_limb_13_col121; -let add_res_limb_14_col122 = add_res_tmp_724.get_m31(14); +let add_res_limb_14_col122 = add_res_tmp_5745_32.get_m31(14); trace[122].data[row_index] = add_res_limb_14_col122; -let add_res_limb_15_col123 = add_res_tmp_724.get_m31(15); +let add_res_limb_15_col123 = add_res_tmp_5745_32.get_m31(15); trace[123].data[row_index] = add_res_limb_15_col123; -let add_res_limb_16_col124 = add_res_tmp_724.get_m31(16); +let add_res_limb_16_col124 = add_res_tmp_5745_32.get_m31(16); trace[124].data[row_index] = add_res_limb_16_col124; -let add_res_limb_17_col125 = add_res_tmp_724.get_m31(17); +let add_res_limb_17_col125 = add_res_tmp_5745_32.get_m31(17); trace[125].data[row_index] = add_res_limb_17_col125; -let add_res_limb_18_col126 = add_res_tmp_724.get_m31(18); +let add_res_limb_18_col126 = add_res_tmp_5745_32.get_m31(18); trace[126].data[row_index] = add_res_limb_18_col126; -let add_res_limb_19_col127 = add_res_tmp_724.get_m31(19); +let add_res_limb_19_col127 = add_res_tmp_5745_32.get_m31(19); trace[127].data[row_index] = add_res_limb_19_col127; -let add_res_limb_20_col128 = add_res_tmp_724.get_m31(20); +let add_res_limb_20_col128 = add_res_tmp_5745_32.get_m31(20); trace[128].data[row_index] = add_res_limb_20_col128; -let add_res_limb_21_col129 = add_res_tmp_724.get_m31(21); +let add_res_limb_21_col129 = add_res_tmp_5745_32.get_m31(21); trace[129].data[row_index] = add_res_limb_21_col129; -let add_res_limb_22_col130 = add_res_tmp_724.get_m31(22); +let add_res_limb_22_col130 = add_res_tmp_5745_32.get_m31(22); trace[130].data[row_index] = add_res_limb_22_col130; -let add_res_limb_23_col131 = add_res_tmp_724.get_m31(23); +let add_res_limb_23_col131 = add_res_tmp_5745_32.get_m31(23); trace[131].data[row_index] = add_res_limb_23_col131; -let add_res_limb_24_col132 = add_res_tmp_724.get_m31(24); +let add_res_limb_24_col132 = add_res_tmp_5745_32.get_m31(24); trace[132].data[row_index] = add_res_limb_24_col132; -let add_res_limb_25_col133 = add_res_tmp_724.get_m31(25); +let add_res_limb_25_col133 = add_res_tmp_5745_32.get_m31(25); trace[133].data[row_index] = add_res_limb_25_col133; -let add_res_limb_26_col134 = add_res_tmp_724.get_m31(26); +let add_res_limb_26_col134 = add_res_tmp_5745_32.get_m31(26); trace[134].data[row_index] = add_res_limb_26_col134; -let add_res_limb_27_col135 = add_res_tmp_724.get_m31(27); +let add_res_limb_27_col135 = add_res_tmp_5745_32.get_m31(27); trace[135].data[row_index] = add_res_limb_27_col135; - //range_check_big_value. + //RangeCheckBigValue. @@ -665,11 +657,11 @@ lookup_data.rangecheck_9_9[13].push([add_res_limb_26_col134, add_res_limb_27_col - //verify_add252. + //VerifyAdd252. -let sub_p_bit_tmp_739 = ((UInt16_1) & (((((PackedUInt16::from_m31(op0_limb_0_col51)) ^ (PackedUInt16::from_m31(op1_limb_0_col80)))) ^ (PackedUInt16::from_m31(add_res_limb_0_col108))))); -let sub_p_bit_col136 = sub_p_bit_tmp_739.as_m31(); +let sub_p_bit_tmp_5745_33 = ((UInt16_1) & (((((PackedUInt16::from_m31(op0_limb_0_col51)) ^ (PackedUInt16::from_m31(op1_limb_0_col80)))) ^ (PackedUInt16::from_m31(add_res_limb_0_col108))))); +let sub_p_bit_col136 = sub_p_bit_tmp_5745_33.as_m31(); trace[136].data[row_index] = sub_p_bit_col136; @@ -679,69 +671,69 @@ let sub_p_bit_col136 = sub_p_bit_tmp_739.as_m31(); - //mul252. + //Mul252. -let mul_res_tmp_767 = ((PackedFelt252::from_limbs([op0_limb_0_col51, op0_limb_1_col52, op0_limb_2_col53, op0_limb_3_col54, op0_limb_4_col55, op0_limb_5_col56, op0_limb_6_col57, op0_limb_7_col58, op0_limb_8_col59, op0_limb_9_col60, op0_limb_10_col61, op0_limb_11_col62, op0_limb_12_col63, op0_limb_13_col64, op0_limb_14_col65, op0_limb_15_col66, op0_limb_16_col67, op0_limb_17_col68, op0_limb_18_col69, op0_limb_19_col70, op0_limb_20_col71, op0_limb_21_col72, op0_limb_22_col73, op0_limb_23_col74, op0_limb_24_col75, op0_limb_25_col76, op0_limb_26_col77, op0_limb_27_col78])) * (PackedFelt252::from_limbs([op1_limb_0_col80, op1_limb_1_col81, op1_limb_2_col82, op1_limb_3_col83, op1_limb_4_col84, op1_limb_5_col85, op1_limb_6_col86, op1_limb_7_col87, op1_limb_8_col88, op1_limb_9_col89, op1_limb_10_col90, op1_limb_11_col91, op1_limb_12_col92, op1_limb_13_col93, op1_limb_14_col94, op1_limb_15_col95, op1_limb_16_col96, op1_limb_17_col97, op1_limb_18_col98, op1_limb_19_col99, op1_limb_20_col100, op1_limb_21_col101, op1_limb_22_col102, op1_limb_23_col103, op1_limb_24_col104, op1_limb_25_col105, op1_limb_26_col106, op1_limb_27_col107]))); -let mul_res_limb_0_col137 = mul_res_tmp_767.get_m31(0); +let mul_res_tmp_5745_61 = ((PackedFelt252::from_limbs([op0_limb_0_col51, op0_limb_1_col52, op0_limb_2_col53, op0_limb_3_col54, op0_limb_4_col55, op0_limb_5_col56, op0_limb_6_col57, op0_limb_7_col58, op0_limb_8_col59, op0_limb_9_col60, op0_limb_10_col61, op0_limb_11_col62, op0_limb_12_col63, op0_limb_13_col64, op0_limb_14_col65, op0_limb_15_col66, op0_limb_16_col67, op0_limb_17_col68, op0_limb_18_col69, op0_limb_19_col70, op0_limb_20_col71, op0_limb_21_col72, op0_limb_22_col73, op0_limb_23_col74, op0_limb_24_col75, op0_limb_25_col76, op0_limb_26_col77, op0_limb_27_col78])) * (PackedFelt252::from_limbs([op1_limb_0_col80, op1_limb_1_col81, op1_limb_2_col82, op1_limb_3_col83, op1_limb_4_col84, op1_limb_5_col85, op1_limb_6_col86, op1_limb_7_col87, op1_limb_8_col88, op1_limb_9_col89, op1_limb_10_col90, op1_limb_11_col91, op1_limb_12_col92, op1_limb_13_col93, op1_limb_14_col94, op1_limb_15_col95, op1_limb_16_col96, op1_limb_17_col97, op1_limb_18_col98, op1_limb_19_col99, op1_limb_20_col100, op1_limb_21_col101, op1_limb_22_col102, op1_limb_23_col103, op1_limb_24_col104, op1_limb_25_col105, op1_limb_26_col106, op1_limb_27_col107]))); +let mul_res_limb_0_col137 = mul_res_tmp_5745_61.get_m31(0); trace[137].data[row_index] = mul_res_limb_0_col137; -let mul_res_limb_1_col138 = mul_res_tmp_767.get_m31(1); +let mul_res_limb_1_col138 = mul_res_tmp_5745_61.get_m31(1); trace[138].data[row_index] = mul_res_limb_1_col138; -let mul_res_limb_2_col139 = mul_res_tmp_767.get_m31(2); +let mul_res_limb_2_col139 = mul_res_tmp_5745_61.get_m31(2); trace[139].data[row_index] = mul_res_limb_2_col139; -let mul_res_limb_3_col140 = mul_res_tmp_767.get_m31(3); +let mul_res_limb_3_col140 = mul_res_tmp_5745_61.get_m31(3); trace[140].data[row_index] = mul_res_limb_3_col140; -let mul_res_limb_4_col141 = mul_res_tmp_767.get_m31(4); +let mul_res_limb_4_col141 = mul_res_tmp_5745_61.get_m31(4); trace[141].data[row_index] = mul_res_limb_4_col141; -let mul_res_limb_5_col142 = mul_res_tmp_767.get_m31(5); +let mul_res_limb_5_col142 = mul_res_tmp_5745_61.get_m31(5); trace[142].data[row_index] = mul_res_limb_5_col142; -let mul_res_limb_6_col143 = mul_res_tmp_767.get_m31(6); +let mul_res_limb_6_col143 = mul_res_tmp_5745_61.get_m31(6); trace[143].data[row_index] = mul_res_limb_6_col143; -let mul_res_limb_7_col144 = mul_res_tmp_767.get_m31(7); +let mul_res_limb_7_col144 = mul_res_tmp_5745_61.get_m31(7); trace[144].data[row_index] = mul_res_limb_7_col144; -let mul_res_limb_8_col145 = mul_res_tmp_767.get_m31(8); +let mul_res_limb_8_col145 = mul_res_tmp_5745_61.get_m31(8); trace[145].data[row_index] = mul_res_limb_8_col145; -let mul_res_limb_9_col146 = mul_res_tmp_767.get_m31(9); +let mul_res_limb_9_col146 = mul_res_tmp_5745_61.get_m31(9); trace[146].data[row_index] = mul_res_limb_9_col146; -let mul_res_limb_10_col147 = mul_res_tmp_767.get_m31(10); +let mul_res_limb_10_col147 = mul_res_tmp_5745_61.get_m31(10); trace[147].data[row_index] = mul_res_limb_10_col147; -let mul_res_limb_11_col148 = mul_res_tmp_767.get_m31(11); +let mul_res_limb_11_col148 = mul_res_tmp_5745_61.get_m31(11); trace[148].data[row_index] = mul_res_limb_11_col148; -let mul_res_limb_12_col149 = mul_res_tmp_767.get_m31(12); +let mul_res_limb_12_col149 = mul_res_tmp_5745_61.get_m31(12); trace[149].data[row_index] = mul_res_limb_12_col149; -let mul_res_limb_13_col150 = mul_res_tmp_767.get_m31(13); +let mul_res_limb_13_col150 = mul_res_tmp_5745_61.get_m31(13); trace[150].data[row_index] = mul_res_limb_13_col150; -let mul_res_limb_14_col151 = mul_res_tmp_767.get_m31(14); +let mul_res_limb_14_col151 = mul_res_tmp_5745_61.get_m31(14); trace[151].data[row_index] = mul_res_limb_14_col151; -let mul_res_limb_15_col152 = mul_res_tmp_767.get_m31(15); +let mul_res_limb_15_col152 = mul_res_tmp_5745_61.get_m31(15); trace[152].data[row_index] = mul_res_limb_15_col152; -let mul_res_limb_16_col153 = mul_res_tmp_767.get_m31(16); +let mul_res_limb_16_col153 = mul_res_tmp_5745_61.get_m31(16); trace[153].data[row_index] = mul_res_limb_16_col153; -let mul_res_limb_17_col154 = mul_res_tmp_767.get_m31(17); +let mul_res_limb_17_col154 = mul_res_tmp_5745_61.get_m31(17); trace[154].data[row_index] = mul_res_limb_17_col154; -let mul_res_limb_18_col155 = mul_res_tmp_767.get_m31(18); +let mul_res_limb_18_col155 = mul_res_tmp_5745_61.get_m31(18); trace[155].data[row_index] = mul_res_limb_18_col155; -let mul_res_limb_19_col156 = mul_res_tmp_767.get_m31(19); +let mul_res_limb_19_col156 = mul_res_tmp_5745_61.get_m31(19); trace[156].data[row_index] = mul_res_limb_19_col156; -let mul_res_limb_20_col157 = mul_res_tmp_767.get_m31(20); +let mul_res_limb_20_col157 = mul_res_tmp_5745_61.get_m31(20); trace[157].data[row_index] = mul_res_limb_20_col157; -let mul_res_limb_21_col158 = mul_res_tmp_767.get_m31(21); +let mul_res_limb_21_col158 = mul_res_tmp_5745_61.get_m31(21); trace[158].data[row_index] = mul_res_limb_21_col158; -let mul_res_limb_22_col159 = mul_res_tmp_767.get_m31(22); +let mul_res_limb_22_col159 = mul_res_tmp_5745_61.get_m31(22); trace[159].data[row_index] = mul_res_limb_22_col159; -let mul_res_limb_23_col160 = mul_res_tmp_767.get_m31(23); +let mul_res_limb_23_col160 = mul_res_tmp_5745_61.get_m31(23); trace[160].data[row_index] = mul_res_limb_23_col160; -let mul_res_limb_24_col161 = mul_res_tmp_767.get_m31(24); +let mul_res_limb_24_col161 = mul_res_tmp_5745_61.get_m31(24); trace[161].data[row_index] = mul_res_limb_24_col161; -let mul_res_limb_25_col162 = mul_res_tmp_767.get_m31(25); +let mul_res_limb_25_col162 = mul_res_tmp_5745_61.get_m31(25); trace[162].data[row_index] = mul_res_limb_25_col162; -let mul_res_limb_26_col163 = mul_res_tmp_767.get_m31(26); +let mul_res_limb_26_col163 = mul_res_tmp_5745_61.get_m31(26); trace[163].data[row_index] = mul_res_limb_26_col163; -let mul_res_limb_27_col164 = mul_res_tmp_767.get_m31(27); +let mul_res_limb_27_col164 = mul_res_tmp_5745_61.get_m31(27); trace[164].data[row_index] = mul_res_limb_27_col164; - //range_check_big_value. + //RangeCheckBigValue. @@ -833,94 +825,94 @@ lookup_data.rangecheck_9_9[27].push([mul_res_limb_26_col163, mul_res_limb_27_col - //verify_mul252. - - -let conv_tmp_782 = ((((M31_0) - (mul_res_limb_0_col137))) + (((op0_limb_0_col51) * (op1_limb_0_col80)))); -let conv_tmp_783 = ((((((M31_0) - (mul_res_limb_1_col138))) + (((op0_limb_0_col51) * (op1_limb_1_col81))))) + (((op0_limb_1_col52) * (op1_limb_0_col80)))); -let conv_tmp_784 = ((((((((M31_0) - (mul_res_limb_2_col139))) + (((op0_limb_0_col51) * (op1_limb_2_col82))))) + (((op0_limb_1_col52) * (op1_limb_1_col81))))) + (((op0_limb_2_col53) * (op1_limb_0_col80)))); -let conv_tmp_785 = ((((((((((M31_0) - (mul_res_limb_3_col140))) + (((op0_limb_0_col51) * (op1_limb_3_col83))))) + (((op0_limb_1_col52) * (op1_limb_2_col82))))) + (((op0_limb_2_col53) * (op1_limb_1_col81))))) + (((op0_limb_3_col54) * (op1_limb_0_col80)))); -let conv_tmp_786 = ((((((((((((M31_0) - (mul_res_limb_4_col141))) + (((op0_limb_0_col51) * (op1_limb_4_col84))))) + (((op0_limb_1_col52) * (op1_limb_3_col83))))) + (((op0_limb_2_col53) * (op1_limb_2_col82))))) + (((op0_limb_3_col54) * (op1_limb_1_col81))))) + (((op0_limb_4_col55) * (op1_limb_0_col80)))); -let conv_tmp_787 = ((((((((((((((M31_0) - (mul_res_limb_5_col142))) + (((op0_limb_0_col51) * (op1_limb_5_col85))))) + (((op0_limb_1_col52) * (op1_limb_4_col84))))) + (((op0_limb_2_col53) * (op1_limb_3_col83))))) + (((op0_limb_3_col54) * (op1_limb_2_col82))))) + (((op0_limb_4_col55) * (op1_limb_1_col81))))) + (((op0_limb_5_col56) * (op1_limb_0_col80)))); -let conv_tmp_788 = ((((((((((((((((M31_0) - (mul_res_limb_6_col143))) + (((op0_limb_0_col51) * (op1_limb_6_col86))))) + (((op0_limb_1_col52) * (op1_limb_5_col85))))) + (((op0_limb_2_col53) * (op1_limb_4_col84))))) + (((op0_limb_3_col54) * (op1_limb_3_col83))))) + (((op0_limb_4_col55) * (op1_limb_2_col82))))) + (((op0_limb_5_col56) * (op1_limb_1_col81))))) + (((op0_limb_6_col57) * (op1_limb_0_col80)))); -let conv_tmp_789 = ((((((((((((((((((M31_0) - (mul_res_limb_7_col144))) + (((op0_limb_0_col51) * (op1_limb_7_col87))))) + (((op0_limb_1_col52) * (op1_limb_6_col86))))) + (((op0_limb_2_col53) * (op1_limb_5_col85))))) + (((op0_limb_3_col54) * (op1_limb_4_col84))))) + (((op0_limb_4_col55) * (op1_limb_3_col83))))) + (((op0_limb_5_col56) * (op1_limb_2_col82))))) + (((op0_limb_6_col57) * (op1_limb_1_col81))))) + (((op0_limb_7_col58) * (op1_limb_0_col80)))); -let conv_tmp_790 = ((((((((((((((((((((M31_0) - (mul_res_limb_8_col145))) + (((op0_limb_0_col51) * (op1_limb_8_col88))))) + (((op0_limb_1_col52) * (op1_limb_7_col87))))) + (((op0_limb_2_col53) * (op1_limb_6_col86))))) + (((op0_limb_3_col54) * (op1_limb_5_col85))))) + (((op0_limb_4_col55) * (op1_limb_4_col84))))) + (((op0_limb_5_col56) * (op1_limb_3_col83))))) + (((op0_limb_6_col57) * (op1_limb_2_col82))))) + (((op0_limb_7_col58) * (op1_limb_1_col81))))) + (((op0_limb_8_col59) * (op1_limb_0_col80)))); -let conv_tmp_791 = ((((((((((((((((((((((M31_0) - (mul_res_limb_9_col146))) + (((op0_limb_0_col51) * (op1_limb_9_col89))))) + (((op0_limb_1_col52) * (op1_limb_8_col88))))) + (((op0_limb_2_col53) * (op1_limb_7_col87))))) + (((op0_limb_3_col54) * (op1_limb_6_col86))))) + (((op0_limb_4_col55) * (op1_limb_5_col85))))) + (((op0_limb_5_col56) * (op1_limb_4_col84))))) + (((op0_limb_6_col57) * (op1_limb_3_col83))))) + (((op0_limb_7_col58) * (op1_limb_2_col82))))) + (((op0_limb_8_col59) * (op1_limb_1_col81))))) + (((op0_limb_9_col60) * (op1_limb_0_col80)))); -let conv_tmp_792 = ((((((((((((((((((((((((M31_0) - (mul_res_limb_10_col147))) + (((op0_limb_0_col51) * (op1_limb_10_col90))))) + (((op0_limb_1_col52) * (op1_limb_9_col89))))) + (((op0_limb_2_col53) * (op1_limb_8_col88))))) + (((op0_limb_3_col54) * (op1_limb_7_col87))))) + (((op0_limb_4_col55) * (op1_limb_6_col86))))) + (((op0_limb_5_col56) * (op1_limb_5_col85))))) + (((op0_limb_6_col57) * (op1_limb_4_col84))))) + (((op0_limb_7_col58) * (op1_limb_3_col83))))) + (((op0_limb_8_col59) * (op1_limb_2_col82))))) + (((op0_limb_9_col60) * (op1_limb_1_col81))))) + (((op0_limb_10_col61) * (op1_limb_0_col80)))); -let conv_tmp_793 = ((((((((((((((((((((((((((M31_0) - (mul_res_limb_11_col148))) + (((op0_limb_0_col51) * (op1_limb_11_col91))))) + (((op0_limb_1_col52) * (op1_limb_10_col90))))) + (((op0_limb_2_col53) * (op1_limb_9_col89))))) + (((op0_limb_3_col54) * (op1_limb_8_col88))))) + (((op0_limb_4_col55) * (op1_limb_7_col87))))) + (((op0_limb_5_col56) * (op1_limb_6_col86))))) + (((op0_limb_6_col57) * (op1_limb_5_col85))))) + (((op0_limb_7_col58) * (op1_limb_4_col84))))) + (((op0_limb_8_col59) * (op1_limb_3_col83))))) + (((op0_limb_9_col60) * (op1_limb_2_col82))))) + (((op0_limb_10_col61) * (op1_limb_1_col81))))) + (((op0_limb_11_col62) * (op1_limb_0_col80)))); -let conv_tmp_794 = ((((((((((((((((((((((((((((M31_0) - (mul_res_limb_12_col149))) + (((op0_limb_0_col51) * (op1_limb_12_col92))))) + (((op0_limb_1_col52) * (op1_limb_11_col91))))) + (((op0_limb_2_col53) * (op1_limb_10_col90))))) + (((op0_limb_3_col54) * (op1_limb_9_col89))))) + (((op0_limb_4_col55) * (op1_limb_8_col88))))) + (((op0_limb_5_col56) * (op1_limb_7_col87))))) + (((op0_limb_6_col57) * (op1_limb_6_col86))))) + (((op0_limb_7_col58) * (op1_limb_5_col85))))) + (((op0_limb_8_col59) * (op1_limb_4_col84))))) + (((op0_limb_9_col60) * (op1_limb_3_col83))))) + (((op0_limb_10_col61) * (op1_limb_2_col82))))) + (((op0_limb_11_col62) * (op1_limb_1_col81))))) + (((op0_limb_12_col63) * (op1_limb_0_col80)))); -let conv_tmp_795 = ((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_13_col150))) + (((op0_limb_0_col51) * (op1_limb_13_col93))))) + (((op0_limb_1_col52) * (op1_limb_12_col92))))) + (((op0_limb_2_col53) * (op1_limb_11_col91))))) + (((op0_limb_3_col54) * (op1_limb_10_col90))))) + (((op0_limb_4_col55) * (op1_limb_9_col89))))) + (((op0_limb_5_col56) * (op1_limb_8_col88))))) + (((op0_limb_6_col57) * (op1_limb_7_col87))))) + (((op0_limb_7_col58) * (op1_limb_6_col86))))) + (((op0_limb_8_col59) * (op1_limb_5_col85))))) + (((op0_limb_9_col60) * (op1_limb_4_col84))))) + (((op0_limb_10_col61) * (op1_limb_3_col83))))) + (((op0_limb_11_col62) * (op1_limb_2_col82))))) + (((op0_limb_12_col63) * (op1_limb_1_col81))))) + (((op0_limb_13_col64) * (op1_limb_0_col80)))); -let conv_tmp_796 = ((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_14_col151))) + (((op0_limb_0_col51) * (op1_limb_14_col94))))) + (((op0_limb_1_col52) * (op1_limb_13_col93))))) + (((op0_limb_2_col53) * (op1_limb_12_col92))))) + (((op0_limb_3_col54) * (op1_limb_11_col91))))) + (((op0_limb_4_col55) * (op1_limb_10_col90))))) + (((op0_limb_5_col56) * (op1_limb_9_col89))))) + (((op0_limb_6_col57) * (op1_limb_8_col88))))) + (((op0_limb_7_col58) * (op1_limb_7_col87))))) + (((op0_limb_8_col59) * (op1_limb_6_col86))))) + (((op0_limb_9_col60) * (op1_limb_5_col85))))) + (((op0_limb_10_col61) * (op1_limb_4_col84))))) + (((op0_limb_11_col62) * (op1_limb_3_col83))))) + (((op0_limb_12_col63) * (op1_limb_2_col82))))) + (((op0_limb_13_col64) * (op1_limb_1_col81))))) + (((op0_limb_14_col65) * (op1_limb_0_col80)))); -let conv_tmp_797 = ((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_15_col152))) + (((op0_limb_0_col51) * (op1_limb_15_col95))))) + (((op0_limb_1_col52) * (op1_limb_14_col94))))) + (((op0_limb_2_col53) * (op1_limb_13_col93))))) + (((op0_limb_3_col54) * (op1_limb_12_col92))))) + (((op0_limb_4_col55) * (op1_limb_11_col91))))) + (((op0_limb_5_col56) * (op1_limb_10_col90))))) + (((op0_limb_6_col57) * (op1_limb_9_col89))))) + (((op0_limb_7_col58) * (op1_limb_8_col88))))) + (((op0_limb_8_col59) * (op1_limb_7_col87))))) + (((op0_limb_9_col60) * (op1_limb_6_col86))))) + (((op0_limb_10_col61) * (op1_limb_5_col85))))) + (((op0_limb_11_col62) * (op1_limb_4_col84))))) + (((op0_limb_12_col63) * (op1_limb_3_col83))))) + (((op0_limb_13_col64) * (op1_limb_2_col82))))) + (((op0_limb_14_col65) * (op1_limb_1_col81))))) + (((op0_limb_15_col66) * (op1_limb_0_col80)))); -let conv_tmp_798 = ((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_16_col153))) + (((op0_limb_0_col51) * (op1_limb_16_col96))))) + (((op0_limb_1_col52) * (op1_limb_15_col95))))) + (((op0_limb_2_col53) * (op1_limb_14_col94))))) + (((op0_limb_3_col54) * (op1_limb_13_col93))))) + (((op0_limb_4_col55) * (op1_limb_12_col92))))) + (((op0_limb_5_col56) * (op1_limb_11_col91))))) + (((op0_limb_6_col57) * (op1_limb_10_col90))))) + (((op0_limb_7_col58) * (op1_limb_9_col89))))) + (((op0_limb_8_col59) * (op1_limb_8_col88))))) + (((op0_limb_9_col60) * (op1_limb_7_col87))))) + (((op0_limb_10_col61) * (op1_limb_6_col86))))) + (((op0_limb_11_col62) * (op1_limb_5_col85))))) + (((op0_limb_12_col63) * (op1_limb_4_col84))))) + (((op0_limb_13_col64) * (op1_limb_3_col83))))) + (((op0_limb_14_col65) * (op1_limb_2_col82))))) + (((op0_limb_15_col66) * (op1_limb_1_col81))))) + (((op0_limb_16_col67) * (op1_limb_0_col80)))); -let conv_tmp_799 = ((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_17_col154))) + (((op0_limb_0_col51) * (op1_limb_17_col97))))) + (((op0_limb_1_col52) * (op1_limb_16_col96))))) + (((op0_limb_2_col53) * (op1_limb_15_col95))))) + (((op0_limb_3_col54) * (op1_limb_14_col94))))) + (((op0_limb_4_col55) * (op1_limb_13_col93))))) + (((op0_limb_5_col56) * (op1_limb_12_col92))))) + (((op0_limb_6_col57) * (op1_limb_11_col91))))) + (((op0_limb_7_col58) * (op1_limb_10_col90))))) + (((op0_limb_8_col59) * (op1_limb_9_col89))))) + (((op0_limb_9_col60) * (op1_limb_8_col88))))) + (((op0_limb_10_col61) * (op1_limb_7_col87))))) + (((op0_limb_11_col62) * (op1_limb_6_col86))))) + (((op0_limb_12_col63) * (op1_limb_5_col85))))) + (((op0_limb_13_col64) * (op1_limb_4_col84))))) + (((op0_limb_14_col65) * (op1_limb_3_col83))))) + (((op0_limb_15_col66) * (op1_limb_2_col82))))) + (((op0_limb_16_col67) * (op1_limb_1_col81))))) + (((op0_limb_17_col68) * (op1_limb_0_col80)))); -let conv_tmp_800 = ((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_18_col155))) + (((op0_limb_0_col51) * (op1_limb_18_col98))))) + (((op0_limb_1_col52) * (op1_limb_17_col97))))) + (((op0_limb_2_col53) * (op1_limb_16_col96))))) + (((op0_limb_3_col54) * (op1_limb_15_col95))))) + (((op0_limb_4_col55) * (op1_limb_14_col94))))) + (((op0_limb_5_col56) * (op1_limb_13_col93))))) + (((op0_limb_6_col57) * (op1_limb_12_col92))))) + (((op0_limb_7_col58) * (op1_limb_11_col91))))) + (((op0_limb_8_col59) * (op1_limb_10_col90))))) + (((op0_limb_9_col60) * (op1_limb_9_col89))))) + (((op0_limb_10_col61) * (op1_limb_8_col88))))) + (((op0_limb_11_col62) * (op1_limb_7_col87))))) + (((op0_limb_12_col63) * (op1_limb_6_col86))))) + (((op0_limb_13_col64) * (op1_limb_5_col85))))) + (((op0_limb_14_col65) * (op1_limb_4_col84))))) + (((op0_limb_15_col66) * (op1_limb_3_col83))))) + (((op0_limb_16_col67) * (op1_limb_2_col82))))) + (((op0_limb_17_col68) * (op1_limb_1_col81))))) + (((op0_limb_18_col69) * (op1_limb_0_col80)))); -let conv_tmp_801 = ((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_19_col156))) + (((op0_limb_0_col51) * (op1_limb_19_col99))))) + (((op0_limb_1_col52) * (op1_limb_18_col98))))) + (((op0_limb_2_col53) * (op1_limb_17_col97))))) + (((op0_limb_3_col54) * (op1_limb_16_col96))))) + (((op0_limb_4_col55) * (op1_limb_15_col95))))) + (((op0_limb_5_col56) * (op1_limb_14_col94))))) + (((op0_limb_6_col57) * (op1_limb_13_col93))))) + (((op0_limb_7_col58) * (op1_limb_12_col92))))) + (((op0_limb_8_col59) * (op1_limb_11_col91))))) + (((op0_limb_9_col60) * (op1_limb_10_col90))))) + (((op0_limb_10_col61) * (op1_limb_9_col89))))) + (((op0_limb_11_col62) * (op1_limb_8_col88))))) + (((op0_limb_12_col63) * (op1_limb_7_col87))))) + (((op0_limb_13_col64) * (op1_limb_6_col86))))) + (((op0_limb_14_col65) * (op1_limb_5_col85))))) + (((op0_limb_15_col66) * (op1_limb_4_col84))))) + (((op0_limb_16_col67) * (op1_limb_3_col83))))) + (((op0_limb_17_col68) * (op1_limb_2_col82))))) + (((op0_limb_18_col69) * (op1_limb_1_col81))))) + (((op0_limb_19_col70) * (op1_limb_0_col80)))); -let conv_tmp_802 = ((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_20_col157))) + (((op0_limb_0_col51) * (op1_limb_20_col100))))) + (((op0_limb_1_col52) * (op1_limb_19_col99))))) + (((op0_limb_2_col53) * (op1_limb_18_col98))))) + (((op0_limb_3_col54) * (op1_limb_17_col97))))) + (((op0_limb_4_col55) * (op1_limb_16_col96))))) + (((op0_limb_5_col56) * (op1_limb_15_col95))))) + (((op0_limb_6_col57) * (op1_limb_14_col94))))) + (((op0_limb_7_col58) * (op1_limb_13_col93))))) + (((op0_limb_8_col59) * (op1_limb_12_col92))))) + (((op0_limb_9_col60) * (op1_limb_11_col91))))) + (((op0_limb_10_col61) * (op1_limb_10_col90))))) + (((op0_limb_11_col62) * (op1_limb_9_col89))))) + (((op0_limb_12_col63) * (op1_limb_8_col88))))) + (((op0_limb_13_col64) * (op1_limb_7_col87))))) + (((op0_limb_14_col65) * (op1_limb_6_col86))))) + (((op0_limb_15_col66) * (op1_limb_5_col85))))) + (((op0_limb_16_col67) * (op1_limb_4_col84))))) + (((op0_limb_17_col68) * (op1_limb_3_col83))))) + (((op0_limb_18_col69) * (op1_limb_2_col82))))) + (((op0_limb_19_col70) * (op1_limb_1_col81))))) + (((op0_limb_20_col71) * (op1_limb_0_col80)))); -let conv_tmp_803 = ((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_21_col158))) + (((op0_limb_0_col51) * (op1_limb_21_col101))))) + (((op0_limb_1_col52) * (op1_limb_20_col100))))) + (((op0_limb_2_col53) * (op1_limb_19_col99))))) + (((op0_limb_3_col54) * (op1_limb_18_col98))))) + (((op0_limb_4_col55) * (op1_limb_17_col97))))) + (((op0_limb_5_col56) * (op1_limb_16_col96))))) + (((op0_limb_6_col57) * (op1_limb_15_col95))))) + (((op0_limb_7_col58) * (op1_limb_14_col94))))) + (((op0_limb_8_col59) * (op1_limb_13_col93))))) + (((op0_limb_9_col60) * (op1_limb_12_col92))))) + (((op0_limb_10_col61) * (op1_limb_11_col91))))) + (((op0_limb_11_col62) * (op1_limb_10_col90))))) + (((op0_limb_12_col63) * (op1_limb_9_col89))))) + (((op0_limb_13_col64) * (op1_limb_8_col88))))) + (((op0_limb_14_col65) * (op1_limb_7_col87))))) + (((op0_limb_15_col66) * (op1_limb_6_col86))))) + (((op0_limb_16_col67) * (op1_limb_5_col85))))) + (((op0_limb_17_col68) * (op1_limb_4_col84))))) + (((op0_limb_18_col69) * (op1_limb_3_col83))))) + (((op0_limb_19_col70) * (op1_limb_2_col82))))) + (((op0_limb_20_col71) * (op1_limb_1_col81))))) + (((op0_limb_21_col72) * (op1_limb_0_col80)))); -let conv_tmp_804 = ((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_22_col159))) + (((op0_limb_0_col51) * (op1_limb_22_col102))))) + (((op0_limb_1_col52) * (op1_limb_21_col101))))) + (((op0_limb_2_col53) * (op1_limb_20_col100))))) + (((op0_limb_3_col54) * (op1_limb_19_col99))))) + (((op0_limb_4_col55) * (op1_limb_18_col98))))) + (((op0_limb_5_col56) * (op1_limb_17_col97))))) + (((op0_limb_6_col57) * (op1_limb_16_col96))))) + (((op0_limb_7_col58) * (op1_limb_15_col95))))) + (((op0_limb_8_col59) * (op1_limb_14_col94))))) + (((op0_limb_9_col60) * (op1_limb_13_col93))))) + (((op0_limb_10_col61) * (op1_limb_12_col92))))) + (((op0_limb_11_col62) * (op1_limb_11_col91))))) + (((op0_limb_12_col63) * (op1_limb_10_col90))))) + (((op0_limb_13_col64) * (op1_limb_9_col89))))) + (((op0_limb_14_col65) * (op1_limb_8_col88))))) + (((op0_limb_15_col66) * (op1_limb_7_col87))))) + (((op0_limb_16_col67) * (op1_limb_6_col86))))) + (((op0_limb_17_col68) * (op1_limb_5_col85))))) + (((op0_limb_18_col69) * (op1_limb_4_col84))))) + (((op0_limb_19_col70) * (op1_limb_3_col83))))) + (((op0_limb_20_col71) * (op1_limb_2_col82))))) + (((op0_limb_21_col72) * (op1_limb_1_col81))))) + (((op0_limb_22_col73) * (op1_limb_0_col80)))); -let conv_tmp_805 = ((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_23_col160))) + (((op0_limb_0_col51) * (op1_limb_23_col103))))) + (((op0_limb_1_col52) * (op1_limb_22_col102))))) + (((op0_limb_2_col53) * (op1_limb_21_col101))))) + (((op0_limb_3_col54) * (op1_limb_20_col100))))) + (((op0_limb_4_col55) * (op1_limb_19_col99))))) + (((op0_limb_5_col56) * (op1_limb_18_col98))))) + (((op0_limb_6_col57) * (op1_limb_17_col97))))) + (((op0_limb_7_col58) * (op1_limb_16_col96))))) + (((op0_limb_8_col59) * (op1_limb_15_col95))))) + (((op0_limb_9_col60) * (op1_limb_14_col94))))) + (((op0_limb_10_col61) * (op1_limb_13_col93))))) + (((op0_limb_11_col62) * (op1_limb_12_col92))))) + (((op0_limb_12_col63) * (op1_limb_11_col91))))) + (((op0_limb_13_col64) * (op1_limb_10_col90))))) + (((op0_limb_14_col65) * (op1_limb_9_col89))))) + (((op0_limb_15_col66) * (op1_limb_8_col88))))) + (((op0_limb_16_col67) * (op1_limb_7_col87))))) + (((op0_limb_17_col68) * (op1_limb_6_col86))))) + (((op0_limb_18_col69) * (op1_limb_5_col85))))) + (((op0_limb_19_col70) * (op1_limb_4_col84))))) + (((op0_limb_20_col71) * (op1_limb_3_col83))))) + (((op0_limb_21_col72) * (op1_limb_2_col82))))) + (((op0_limb_22_col73) * (op1_limb_1_col81))))) + (((op0_limb_23_col74) * (op1_limb_0_col80)))); -let conv_tmp_806 = ((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_24_col161))) + (((op0_limb_0_col51) * (op1_limb_24_col104))))) + (((op0_limb_1_col52) * (op1_limb_23_col103))))) + (((op0_limb_2_col53) * (op1_limb_22_col102))))) + (((op0_limb_3_col54) * (op1_limb_21_col101))))) + (((op0_limb_4_col55) * (op1_limb_20_col100))))) + (((op0_limb_5_col56) * (op1_limb_19_col99))))) + (((op0_limb_6_col57) * (op1_limb_18_col98))))) + (((op0_limb_7_col58) * (op1_limb_17_col97))))) + (((op0_limb_8_col59) * (op1_limb_16_col96))))) + (((op0_limb_9_col60) * (op1_limb_15_col95))))) + (((op0_limb_10_col61) * (op1_limb_14_col94))))) + (((op0_limb_11_col62) * (op1_limb_13_col93))))) + (((op0_limb_12_col63) * (op1_limb_12_col92))))) + (((op0_limb_13_col64) * (op1_limb_11_col91))))) + (((op0_limb_14_col65) * (op1_limb_10_col90))))) + (((op0_limb_15_col66) * (op1_limb_9_col89))))) + (((op0_limb_16_col67) * (op1_limb_8_col88))))) + (((op0_limb_17_col68) * (op1_limb_7_col87))))) + (((op0_limb_18_col69) * (op1_limb_6_col86))))) + (((op0_limb_19_col70) * (op1_limb_5_col85))))) + (((op0_limb_20_col71) * (op1_limb_4_col84))))) + (((op0_limb_21_col72) * (op1_limb_3_col83))))) + (((op0_limb_22_col73) * (op1_limb_2_col82))))) + (((op0_limb_23_col74) * (op1_limb_1_col81))))) + (((op0_limb_24_col75) * (op1_limb_0_col80)))); -let conv_tmp_807 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_25_col162))) + (((op0_limb_0_col51) * (op1_limb_25_col105))))) + (((op0_limb_1_col52) * (op1_limb_24_col104))))) + (((op0_limb_2_col53) * (op1_limb_23_col103))))) + (((op0_limb_3_col54) * (op1_limb_22_col102))))) + (((op0_limb_4_col55) * (op1_limb_21_col101))))) + (((op0_limb_5_col56) * (op1_limb_20_col100))))) + (((op0_limb_6_col57) * (op1_limb_19_col99))))) + (((op0_limb_7_col58) * (op1_limb_18_col98))))) + (((op0_limb_8_col59) * (op1_limb_17_col97))))) + (((op0_limb_9_col60) * (op1_limb_16_col96))))) + (((op0_limb_10_col61) * (op1_limb_15_col95))))) + (((op0_limb_11_col62) * (op1_limb_14_col94))))) + (((op0_limb_12_col63) * (op1_limb_13_col93))))) + (((op0_limb_13_col64) * (op1_limb_12_col92))))) + (((op0_limb_14_col65) * (op1_limb_11_col91))))) + (((op0_limb_15_col66) * (op1_limb_10_col90))))) + (((op0_limb_16_col67) * (op1_limb_9_col89))))) + (((op0_limb_17_col68) * (op1_limb_8_col88))))) + (((op0_limb_18_col69) * (op1_limb_7_col87))))) + (((op0_limb_19_col70) * (op1_limb_6_col86))))) + (((op0_limb_20_col71) * (op1_limb_5_col85))))) + (((op0_limb_21_col72) * (op1_limb_4_col84))))) + (((op0_limb_22_col73) * (op1_limb_3_col83))))) + (((op0_limb_23_col74) * (op1_limb_2_col82))))) + (((op0_limb_24_col75) * (op1_limb_1_col81))))) + (((op0_limb_25_col76) * (op1_limb_0_col80)))); -let conv_tmp_808 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_26_col163))) + (((op0_limb_0_col51) * (op1_limb_26_col106))))) + (((op0_limb_1_col52) * (op1_limb_25_col105))))) + (((op0_limb_2_col53) * (op1_limb_24_col104))))) + (((op0_limb_3_col54) * (op1_limb_23_col103))))) + (((op0_limb_4_col55) * (op1_limb_22_col102))))) + (((op0_limb_5_col56) * (op1_limb_21_col101))))) + (((op0_limb_6_col57) * (op1_limb_20_col100))))) + (((op0_limb_7_col58) * (op1_limb_19_col99))))) + (((op0_limb_8_col59) * (op1_limb_18_col98))))) + (((op0_limb_9_col60) * (op1_limb_17_col97))))) + (((op0_limb_10_col61) * (op1_limb_16_col96))))) + (((op0_limb_11_col62) * (op1_limb_15_col95))))) + (((op0_limb_12_col63) * (op1_limb_14_col94))))) + (((op0_limb_13_col64) * (op1_limb_13_col93))))) + (((op0_limb_14_col65) * (op1_limb_12_col92))))) + (((op0_limb_15_col66) * (op1_limb_11_col91))))) + (((op0_limb_16_col67) * (op1_limb_10_col90))))) + (((op0_limb_17_col68) * (op1_limb_9_col89))))) + (((op0_limb_18_col69) * (op1_limb_8_col88))))) + (((op0_limb_19_col70) * (op1_limb_7_col87))))) + (((op0_limb_20_col71) * (op1_limb_6_col86))))) + (((op0_limb_21_col72) * (op1_limb_5_col85))))) + (((op0_limb_22_col73) * (op1_limb_4_col84))))) + (((op0_limb_23_col74) * (op1_limb_3_col83))))) + (((op0_limb_24_col75) * (op1_limb_2_col82))))) + (((op0_limb_25_col76) * (op1_limb_1_col81))))) + (((op0_limb_26_col77) * (op1_limb_0_col80)))); -let conv_tmp_809 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_27_col164))) + (((op0_limb_0_col51) * (op1_limb_27_col107))))) + (((op0_limb_1_col52) * (op1_limb_26_col106))))) + (((op0_limb_2_col53) * (op1_limb_25_col105))))) + (((op0_limb_3_col54) * (op1_limb_24_col104))))) + (((op0_limb_4_col55) * (op1_limb_23_col103))))) + (((op0_limb_5_col56) * (op1_limb_22_col102))))) + (((op0_limb_6_col57) * (op1_limb_21_col101))))) + (((op0_limb_7_col58) * (op1_limb_20_col100))))) + (((op0_limb_8_col59) * (op1_limb_19_col99))))) + (((op0_limb_9_col60) * (op1_limb_18_col98))))) + (((op0_limb_10_col61) * (op1_limb_17_col97))))) + (((op0_limb_11_col62) * (op1_limb_16_col96))))) + (((op0_limb_12_col63) * (op1_limb_15_col95))))) + (((op0_limb_13_col64) * (op1_limb_14_col94))))) + (((op0_limb_14_col65) * (op1_limb_13_col93))))) + (((op0_limb_15_col66) * (op1_limb_12_col92))))) + (((op0_limb_16_col67) * (op1_limb_11_col91))))) + (((op0_limb_17_col68) * (op1_limb_10_col90))))) + (((op0_limb_18_col69) * (op1_limb_9_col89))))) + (((op0_limb_19_col70) * (op1_limb_8_col88))))) + (((op0_limb_20_col71) * (op1_limb_7_col87))))) + (((op0_limb_21_col72) * (op1_limb_6_col86))))) + (((op0_limb_22_col73) * (op1_limb_5_col85))))) + (((op0_limb_23_col74) * (op1_limb_4_col84))))) + (((op0_limb_24_col75) * (op1_limb_3_col83))))) + (((op0_limb_25_col76) * (op1_limb_2_col82))))) + (((op0_limb_26_col77) * (op1_limb_1_col81))))) + (((op0_limb_27_col78) * (op1_limb_0_col80)))); -let conv_tmp_810 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_1_col52) * (op1_limb_27_col107))))) + (((op0_limb_2_col53) * (op1_limb_26_col106))))) + (((op0_limb_3_col54) * (op1_limb_25_col105))))) + (((op0_limb_4_col55) * (op1_limb_24_col104))))) + (((op0_limb_5_col56) * (op1_limb_23_col103))))) + (((op0_limb_6_col57) * (op1_limb_22_col102))))) + (((op0_limb_7_col58) * (op1_limb_21_col101))))) + (((op0_limb_8_col59) * (op1_limb_20_col100))))) + (((op0_limb_9_col60) * (op1_limb_19_col99))))) + (((op0_limb_10_col61) * (op1_limb_18_col98))))) + (((op0_limb_11_col62) * (op1_limb_17_col97))))) + (((op0_limb_12_col63) * (op1_limb_16_col96))))) + (((op0_limb_13_col64) * (op1_limb_15_col95))))) + (((op0_limb_14_col65) * (op1_limb_14_col94))))) + (((op0_limb_15_col66) * (op1_limb_13_col93))))) + (((op0_limb_16_col67) * (op1_limb_12_col92))))) + (((op0_limb_17_col68) * (op1_limb_11_col91))))) + (((op0_limb_18_col69) * (op1_limb_10_col90))))) + (((op0_limb_19_col70) * (op1_limb_9_col89))))) + (((op0_limb_20_col71) * (op1_limb_8_col88))))) + (((op0_limb_21_col72) * (op1_limb_7_col87))))) + (((op0_limb_22_col73) * (op1_limb_6_col86))))) + (((op0_limb_23_col74) * (op1_limb_5_col85))))) + (((op0_limb_24_col75) * (op1_limb_4_col84))))) + (((op0_limb_25_col76) * (op1_limb_3_col83))))) + (((op0_limb_26_col77) * (op1_limb_2_col82))))) + (((op0_limb_27_col78) * (op1_limb_1_col81)))); -let conv_tmp_811 = ((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_2_col53) * (op1_limb_27_col107))))) + (((op0_limb_3_col54) * (op1_limb_26_col106))))) + (((op0_limb_4_col55) * (op1_limb_25_col105))))) + (((op0_limb_5_col56) * (op1_limb_24_col104))))) + (((op0_limb_6_col57) * (op1_limb_23_col103))))) + (((op0_limb_7_col58) * (op1_limb_22_col102))))) + (((op0_limb_8_col59) * (op1_limb_21_col101))))) + (((op0_limb_9_col60) * (op1_limb_20_col100))))) + (((op0_limb_10_col61) * (op1_limb_19_col99))))) + (((op0_limb_11_col62) * (op1_limb_18_col98))))) + (((op0_limb_12_col63) * (op1_limb_17_col97))))) + (((op0_limb_13_col64) * (op1_limb_16_col96))))) + (((op0_limb_14_col65) * (op1_limb_15_col95))))) + (((op0_limb_15_col66) * (op1_limb_14_col94))))) + (((op0_limb_16_col67) * (op1_limb_13_col93))))) + (((op0_limb_17_col68) * (op1_limb_12_col92))))) + (((op0_limb_18_col69) * (op1_limb_11_col91))))) + (((op0_limb_19_col70) * (op1_limb_10_col90))))) + (((op0_limb_20_col71) * (op1_limb_9_col89))))) + (((op0_limb_21_col72) * (op1_limb_8_col88))))) + (((op0_limb_22_col73) * (op1_limb_7_col87))))) + (((op0_limb_23_col74) * (op1_limb_6_col86))))) + (((op0_limb_24_col75) * (op1_limb_5_col85))))) + (((op0_limb_25_col76) * (op1_limb_4_col84))))) + (((op0_limb_26_col77) * (op1_limb_3_col83))))) + (((op0_limb_27_col78) * (op1_limb_2_col82)))); -let conv_tmp_812 = ((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_3_col54) * (op1_limb_27_col107))))) + (((op0_limb_4_col55) * (op1_limb_26_col106))))) + (((op0_limb_5_col56) * (op1_limb_25_col105))))) + (((op0_limb_6_col57) * (op1_limb_24_col104))))) + (((op0_limb_7_col58) * (op1_limb_23_col103))))) + (((op0_limb_8_col59) * (op1_limb_22_col102))))) + (((op0_limb_9_col60) * (op1_limb_21_col101))))) + (((op0_limb_10_col61) * (op1_limb_20_col100))))) + (((op0_limb_11_col62) * (op1_limb_19_col99))))) + (((op0_limb_12_col63) * (op1_limb_18_col98))))) + (((op0_limb_13_col64) * (op1_limb_17_col97))))) + (((op0_limb_14_col65) * (op1_limb_16_col96))))) + (((op0_limb_15_col66) * (op1_limb_15_col95))))) + (((op0_limb_16_col67) * (op1_limb_14_col94))))) + (((op0_limb_17_col68) * (op1_limb_13_col93))))) + (((op0_limb_18_col69) * (op1_limb_12_col92))))) + (((op0_limb_19_col70) * (op1_limb_11_col91))))) + (((op0_limb_20_col71) * (op1_limb_10_col90))))) + (((op0_limb_21_col72) * (op1_limb_9_col89))))) + (((op0_limb_22_col73) * (op1_limb_8_col88))))) + (((op0_limb_23_col74) * (op1_limb_7_col87))))) + (((op0_limb_24_col75) * (op1_limb_6_col86))))) + (((op0_limb_25_col76) * (op1_limb_5_col85))))) + (((op0_limb_26_col77) * (op1_limb_4_col84))))) + (((op0_limb_27_col78) * (op1_limb_3_col83)))); -let conv_tmp_813 = ((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_4_col55) * (op1_limb_27_col107))))) + (((op0_limb_5_col56) * (op1_limb_26_col106))))) + (((op0_limb_6_col57) * (op1_limb_25_col105))))) + (((op0_limb_7_col58) * (op1_limb_24_col104))))) + (((op0_limb_8_col59) * (op1_limb_23_col103))))) + (((op0_limb_9_col60) * (op1_limb_22_col102))))) + (((op0_limb_10_col61) * (op1_limb_21_col101))))) + (((op0_limb_11_col62) * (op1_limb_20_col100))))) + (((op0_limb_12_col63) * (op1_limb_19_col99))))) + (((op0_limb_13_col64) * (op1_limb_18_col98))))) + (((op0_limb_14_col65) * (op1_limb_17_col97))))) + (((op0_limb_15_col66) * (op1_limb_16_col96))))) + (((op0_limb_16_col67) * (op1_limb_15_col95))))) + (((op0_limb_17_col68) * (op1_limb_14_col94))))) + (((op0_limb_18_col69) * (op1_limb_13_col93))))) + (((op0_limb_19_col70) * (op1_limb_12_col92))))) + (((op0_limb_20_col71) * (op1_limb_11_col91))))) + (((op0_limb_21_col72) * (op1_limb_10_col90))))) + (((op0_limb_22_col73) * (op1_limb_9_col89))))) + (((op0_limb_23_col74) * (op1_limb_8_col88))))) + (((op0_limb_24_col75) * (op1_limb_7_col87))))) + (((op0_limb_25_col76) * (op1_limb_6_col86))))) + (((op0_limb_26_col77) * (op1_limb_5_col85))))) + (((op0_limb_27_col78) * (op1_limb_4_col84)))); -let conv_tmp_814 = ((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_5_col56) * (op1_limb_27_col107))))) + (((op0_limb_6_col57) * (op1_limb_26_col106))))) + (((op0_limb_7_col58) * (op1_limb_25_col105))))) + (((op0_limb_8_col59) * (op1_limb_24_col104))))) + (((op0_limb_9_col60) * (op1_limb_23_col103))))) + (((op0_limb_10_col61) * (op1_limb_22_col102))))) + (((op0_limb_11_col62) * (op1_limb_21_col101))))) + (((op0_limb_12_col63) * (op1_limb_20_col100))))) + (((op0_limb_13_col64) * (op1_limb_19_col99))))) + (((op0_limb_14_col65) * (op1_limb_18_col98))))) + (((op0_limb_15_col66) * (op1_limb_17_col97))))) + (((op0_limb_16_col67) * (op1_limb_16_col96))))) + (((op0_limb_17_col68) * (op1_limb_15_col95))))) + (((op0_limb_18_col69) * (op1_limb_14_col94))))) + (((op0_limb_19_col70) * (op1_limb_13_col93))))) + (((op0_limb_20_col71) * (op1_limb_12_col92))))) + (((op0_limb_21_col72) * (op1_limb_11_col91))))) + (((op0_limb_22_col73) * (op1_limb_10_col90))))) + (((op0_limb_23_col74) * (op1_limb_9_col89))))) + (((op0_limb_24_col75) * (op1_limb_8_col88))))) + (((op0_limb_25_col76) * (op1_limb_7_col87))))) + (((op0_limb_26_col77) * (op1_limb_6_col86))))) + (((op0_limb_27_col78) * (op1_limb_5_col85)))); -let conv_tmp_815 = ((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_6_col57) * (op1_limb_27_col107))))) + (((op0_limb_7_col58) * (op1_limb_26_col106))))) + (((op0_limb_8_col59) * (op1_limb_25_col105))))) + (((op0_limb_9_col60) * (op1_limb_24_col104))))) + (((op0_limb_10_col61) * (op1_limb_23_col103))))) + (((op0_limb_11_col62) * (op1_limb_22_col102))))) + (((op0_limb_12_col63) * (op1_limb_21_col101))))) + (((op0_limb_13_col64) * (op1_limb_20_col100))))) + (((op0_limb_14_col65) * (op1_limb_19_col99))))) + (((op0_limb_15_col66) * (op1_limb_18_col98))))) + (((op0_limb_16_col67) * (op1_limb_17_col97))))) + (((op0_limb_17_col68) * (op1_limb_16_col96))))) + (((op0_limb_18_col69) * (op1_limb_15_col95))))) + (((op0_limb_19_col70) * (op1_limb_14_col94))))) + (((op0_limb_20_col71) * (op1_limb_13_col93))))) + (((op0_limb_21_col72) * (op1_limb_12_col92))))) + (((op0_limb_22_col73) * (op1_limb_11_col91))))) + (((op0_limb_23_col74) * (op1_limb_10_col90))))) + (((op0_limb_24_col75) * (op1_limb_9_col89))))) + (((op0_limb_25_col76) * (op1_limb_8_col88))))) + (((op0_limb_26_col77) * (op1_limb_7_col87))))) + (((op0_limb_27_col78) * (op1_limb_6_col86)))); -let conv_tmp_816 = ((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_7_col58) * (op1_limb_27_col107))))) + (((op0_limb_8_col59) * (op1_limb_26_col106))))) + (((op0_limb_9_col60) * (op1_limb_25_col105))))) + (((op0_limb_10_col61) * (op1_limb_24_col104))))) + (((op0_limb_11_col62) * (op1_limb_23_col103))))) + (((op0_limb_12_col63) * (op1_limb_22_col102))))) + (((op0_limb_13_col64) * (op1_limb_21_col101))))) + (((op0_limb_14_col65) * (op1_limb_20_col100))))) + (((op0_limb_15_col66) * (op1_limb_19_col99))))) + (((op0_limb_16_col67) * (op1_limb_18_col98))))) + (((op0_limb_17_col68) * (op1_limb_17_col97))))) + (((op0_limb_18_col69) * (op1_limb_16_col96))))) + (((op0_limb_19_col70) * (op1_limb_15_col95))))) + (((op0_limb_20_col71) * (op1_limb_14_col94))))) + (((op0_limb_21_col72) * (op1_limb_13_col93))))) + (((op0_limb_22_col73) * (op1_limb_12_col92))))) + (((op0_limb_23_col74) * (op1_limb_11_col91))))) + (((op0_limb_24_col75) * (op1_limb_10_col90))))) + (((op0_limb_25_col76) * (op1_limb_9_col89))))) + (((op0_limb_26_col77) * (op1_limb_8_col88))))) + (((op0_limb_27_col78) * (op1_limb_7_col87)))); -let conv_tmp_817 = ((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_8_col59) * (op1_limb_27_col107))))) + (((op0_limb_9_col60) * (op1_limb_26_col106))))) + (((op0_limb_10_col61) * (op1_limb_25_col105))))) + (((op0_limb_11_col62) * (op1_limb_24_col104))))) + (((op0_limb_12_col63) * (op1_limb_23_col103))))) + (((op0_limb_13_col64) * (op1_limb_22_col102))))) + (((op0_limb_14_col65) * (op1_limb_21_col101))))) + (((op0_limb_15_col66) * (op1_limb_20_col100))))) + (((op0_limb_16_col67) * (op1_limb_19_col99))))) + (((op0_limb_17_col68) * (op1_limb_18_col98))))) + (((op0_limb_18_col69) * (op1_limb_17_col97))))) + (((op0_limb_19_col70) * (op1_limb_16_col96))))) + (((op0_limb_20_col71) * (op1_limb_15_col95))))) + (((op0_limb_21_col72) * (op1_limb_14_col94))))) + (((op0_limb_22_col73) * (op1_limb_13_col93))))) + (((op0_limb_23_col74) * (op1_limb_12_col92))))) + (((op0_limb_24_col75) * (op1_limb_11_col91))))) + (((op0_limb_25_col76) * (op1_limb_10_col90))))) + (((op0_limb_26_col77) * (op1_limb_9_col89))))) + (((op0_limb_27_col78) * (op1_limb_8_col88)))); -let conv_tmp_818 = ((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_9_col60) * (op1_limb_27_col107))))) + (((op0_limb_10_col61) * (op1_limb_26_col106))))) + (((op0_limb_11_col62) * (op1_limb_25_col105))))) + (((op0_limb_12_col63) * (op1_limb_24_col104))))) + (((op0_limb_13_col64) * (op1_limb_23_col103))))) + (((op0_limb_14_col65) * (op1_limb_22_col102))))) + (((op0_limb_15_col66) * (op1_limb_21_col101))))) + (((op0_limb_16_col67) * (op1_limb_20_col100))))) + (((op0_limb_17_col68) * (op1_limb_19_col99))))) + (((op0_limb_18_col69) * (op1_limb_18_col98))))) + (((op0_limb_19_col70) * (op1_limb_17_col97))))) + (((op0_limb_20_col71) * (op1_limb_16_col96))))) + (((op0_limb_21_col72) * (op1_limb_15_col95))))) + (((op0_limb_22_col73) * (op1_limb_14_col94))))) + (((op0_limb_23_col74) * (op1_limb_13_col93))))) + (((op0_limb_24_col75) * (op1_limb_12_col92))))) + (((op0_limb_25_col76) * (op1_limb_11_col91))))) + (((op0_limb_26_col77) * (op1_limb_10_col90))))) + (((op0_limb_27_col78) * (op1_limb_9_col89)))); -let conv_tmp_819 = ((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_10_col61) * (op1_limb_27_col107))))) + (((op0_limb_11_col62) * (op1_limb_26_col106))))) + (((op0_limb_12_col63) * (op1_limb_25_col105))))) + (((op0_limb_13_col64) * (op1_limb_24_col104))))) + (((op0_limb_14_col65) * (op1_limb_23_col103))))) + (((op0_limb_15_col66) * (op1_limb_22_col102))))) + (((op0_limb_16_col67) * (op1_limb_21_col101))))) + (((op0_limb_17_col68) * (op1_limb_20_col100))))) + (((op0_limb_18_col69) * (op1_limb_19_col99))))) + (((op0_limb_19_col70) * (op1_limb_18_col98))))) + (((op0_limb_20_col71) * (op1_limb_17_col97))))) + (((op0_limb_21_col72) * (op1_limb_16_col96))))) + (((op0_limb_22_col73) * (op1_limb_15_col95))))) + (((op0_limb_23_col74) * (op1_limb_14_col94))))) + (((op0_limb_24_col75) * (op1_limb_13_col93))))) + (((op0_limb_25_col76) * (op1_limb_12_col92))))) + (((op0_limb_26_col77) * (op1_limb_11_col91))))) + (((op0_limb_27_col78) * (op1_limb_10_col90)))); -let conv_tmp_820 = ((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_11_col62) * (op1_limb_27_col107))))) + (((op0_limb_12_col63) * (op1_limb_26_col106))))) + (((op0_limb_13_col64) * (op1_limb_25_col105))))) + (((op0_limb_14_col65) * (op1_limb_24_col104))))) + (((op0_limb_15_col66) * (op1_limb_23_col103))))) + (((op0_limb_16_col67) * (op1_limb_22_col102))))) + (((op0_limb_17_col68) * (op1_limb_21_col101))))) + (((op0_limb_18_col69) * (op1_limb_20_col100))))) + (((op0_limb_19_col70) * (op1_limb_19_col99))))) + (((op0_limb_20_col71) * (op1_limb_18_col98))))) + (((op0_limb_21_col72) * (op1_limb_17_col97))))) + (((op0_limb_22_col73) * (op1_limb_16_col96))))) + (((op0_limb_23_col74) * (op1_limb_15_col95))))) + (((op0_limb_24_col75) * (op1_limb_14_col94))))) + (((op0_limb_25_col76) * (op1_limb_13_col93))))) + (((op0_limb_26_col77) * (op1_limb_12_col92))))) + (((op0_limb_27_col78) * (op1_limb_11_col91)))); -let conv_tmp_821 = ((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_12_col63) * (op1_limb_27_col107))))) + (((op0_limb_13_col64) * (op1_limb_26_col106))))) + (((op0_limb_14_col65) * (op1_limb_25_col105))))) + (((op0_limb_15_col66) * (op1_limb_24_col104))))) + (((op0_limb_16_col67) * (op1_limb_23_col103))))) + (((op0_limb_17_col68) * (op1_limb_22_col102))))) + (((op0_limb_18_col69) * (op1_limb_21_col101))))) + (((op0_limb_19_col70) * (op1_limb_20_col100))))) + (((op0_limb_20_col71) * (op1_limb_19_col99))))) + (((op0_limb_21_col72) * (op1_limb_18_col98))))) + (((op0_limb_22_col73) * (op1_limb_17_col97))))) + (((op0_limb_23_col74) * (op1_limb_16_col96))))) + (((op0_limb_24_col75) * (op1_limb_15_col95))))) + (((op0_limb_25_col76) * (op1_limb_14_col94))))) + (((op0_limb_26_col77) * (op1_limb_13_col93))))) + (((op0_limb_27_col78) * (op1_limb_12_col92)))); -let conv_tmp_822 = ((((((((((((((((((((((((((((((M31_0) + (((op0_limb_13_col64) * (op1_limb_27_col107))))) + (((op0_limb_14_col65) * (op1_limb_26_col106))))) + (((op0_limb_15_col66) * (op1_limb_25_col105))))) + (((op0_limb_16_col67) * (op1_limb_24_col104))))) + (((op0_limb_17_col68) * (op1_limb_23_col103))))) + (((op0_limb_18_col69) * (op1_limb_22_col102))))) + (((op0_limb_19_col70) * (op1_limb_21_col101))))) + (((op0_limb_20_col71) * (op1_limb_20_col100))))) + (((op0_limb_21_col72) * (op1_limb_19_col99))))) + (((op0_limb_22_col73) * (op1_limb_18_col98))))) + (((op0_limb_23_col74) * (op1_limb_17_col97))))) + (((op0_limb_24_col75) * (op1_limb_16_col96))))) + (((op0_limb_25_col76) * (op1_limb_15_col95))))) + (((op0_limb_26_col77) * (op1_limb_14_col94))))) + (((op0_limb_27_col78) * (op1_limb_13_col93)))); -let conv_tmp_823 = ((((((((((((((((((((((((((((M31_0) + (((op0_limb_14_col65) * (op1_limb_27_col107))))) + (((op0_limb_15_col66) * (op1_limb_26_col106))))) + (((op0_limb_16_col67) * (op1_limb_25_col105))))) + (((op0_limb_17_col68) * (op1_limb_24_col104))))) + (((op0_limb_18_col69) * (op1_limb_23_col103))))) + (((op0_limb_19_col70) * (op1_limb_22_col102))))) + (((op0_limb_20_col71) * (op1_limb_21_col101))))) + (((op0_limb_21_col72) * (op1_limb_20_col100))))) + (((op0_limb_22_col73) * (op1_limb_19_col99))))) + (((op0_limb_23_col74) * (op1_limb_18_col98))))) + (((op0_limb_24_col75) * (op1_limb_17_col97))))) + (((op0_limb_25_col76) * (op1_limb_16_col96))))) + (((op0_limb_26_col77) * (op1_limb_15_col95))))) + (((op0_limb_27_col78) * (op1_limb_14_col94)))); -let conv_tmp_824 = ((((((((((((((((((((((((((M31_0) + (((op0_limb_15_col66) * (op1_limb_27_col107))))) + (((op0_limb_16_col67) * (op1_limb_26_col106))))) + (((op0_limb_17_col68) * (op1_limb_25_col105))))) + (((op0_limb_18_col69) * (op1_limb_24_col104))))) + (((op0_limb_19_col70) * (op1_limb_23_col103))))) + (((op0_limb_20_col71) * (op1_limb_22_col102))))) + (((op0_limb_21_col72) * (op1_limb_21_col101))))) + (((op0_limb_22_col73) * (op1_limb_20_col100))))) + (((op0_limb_23_col74) * (op1_limb_19_col99))))) + (((op0_limb_24_col75) * (op1_limb_18_col98))))) + (((op0_limb_25_col76) * (op1_limb_17_col97))))) + (((op0_limb_26_col77) * (op1_limb_16_col96))))) + (((op0_limb_27_col78) * (op1_limb_15_col95)))); -let conv_tmp_825 = ((((((((((((((((((((((((M31_0) + (((op0_limb_16_col67) * (op1_limb_27_col107))))) + (((op0_limb_17_col68) * (op1_limb_26_col106))))) + (((op0_limb_18_col69) * (op1_limb_25_col105))))) + (((op0_limb_19_col70) * (op1_limb_24_col104))))) + (((op0_limb_20_col71) * (op1_limb_23_col103))))) + (((op0_limb_21_col72) * (op1_limb_22_col102))))) + (((op0_limb_22_col73) * (op1_limb_21_col101))))) + (((op0_limb_23_col74) * (op1_limb_20_col100))))) + (((op0_limb_24_col75) * (op1_limb_19_col99))))) + (((op0_limb_25_col76) * (op1_limb_18_col98))))) + (((op0_limb_26_col77) * (op1_limb_17_col97))))) + (((op0_limb_27_col78) * (op1_limb_16_col96)))); -let conv_tmp_826 = ((((((((((((((((((((((M31_0) + (((op0_limb_17_col68) * (op1_limb_27_col107))))) + (((op0_limb_18_col69) * (op1_limb_26_col106))))) + (((op0_limb_19_col70) * (op1_limb_25_col105))))) + (((op0_limb_20_col71) * (op1_limb_24_col104))))) + (((op0_limb_21_col72) * (op1_limb_23_col103))))) + (((op0_limb_22_col73) * (op1_limb_22_col102))))) + (((op0_limb_23_col74) * (op1_limb_21_col101))))) + (((op0_limb_24_col75) * (op1_limb_20_col100))))) + (((op0_limb_25_col76) * (op1_limb_19_col99))))) + (((op0_limb_26_col77) * (op1_limb_18_col98))))) + (((op0_limb_27_col78) * (op1_limb_17_col97)))); -let conv_tmp_827 = ((((((((((((((((((((M31_0) + (((op0_limb_18_col69) * (op1_limb_27_col107))))) + (((op0_limb_19_col70) * (op1_limb_26_col106))))) + (((op0_limb_20_col71) * (op1_limb_25_col105))))) + (((op0_limb_21_col72) * (op1_limb_24_col104))))) + (((op0_limb_22_col73) * (op1_limb_23_col103))))) + (((op0_limb_23_col74) * (op1_limb_22_col102))))) + (((op0_limb_24_col75) * (op1_limb_21_col101))))) + (((op0_limb_25_col76) * (op1_limb_20_col100))))) + (((op0_limb_26_col77) * (op1_limb_19_col99))))) + (((op0_limb_27_col78) * (op1_limb_18_col98)))); -let conv_tmp_828 = ((((((((((((((((((M31_0) + (((op0_limb_19_col70) * (op1_limb_27_col107))))) + (((op0_limb_20_col71) * (op1_limb_26_col106))))) + (((op0_limb_21_col72) * (op1_limb_25_col105))))) + (((op0_limb_22_col73) * (op1_limb_24_col104))))) + (((op0_limb_23_col74) * (op1_limb_23_col103))))) + (((op0_limb_24_col75) * (op1_limb_22_col102))))) + (((op0_limb_25_col76) * (op1_limb_21_col101))))) + (((op0_limb_26_col77) * (op1_limb_20_col100))))) + (((op0_limb_27_col78) * (op1_limb_19_col99)))); -let conv_tmp_829 = ((((((((((((((((M31_0) + (((op0_limb_20_col71) * (op1_limb_27_col107))))) + (((op0_limb_21_col72) * (op1_limb_26_col106))))) + (((op0_limb_22_col73) * (op1_limb_25_col105))))) + (((op0_limb_23_col74) * (op1_limb_24_col104))))) + (((op0_limb_24_col75) * (op1_limb_23_col103))))) + (((op0_limb_25_col76) * (op1_limb_22_col102))))) + (((op0_limb_26_col77) * (op1_limb_21_col101))))) + (((op0_limb_27_col78) * (op1_limb_20_col100)))); -let conv_tmp_830 = ((((((((((((((M31_0) + (((op0_limb_21_col72) * (op1_limb_27_col107))))) + (((op0_limb_22_col73) * (op1_limb_26_col106))))) + (((op0_limb_23_col74) * (op1_limb_25_col105))))) + (((op0_limb_24_col75) * (op1_limb_24_col104))))) + (((op0_limb_25_col76) * (op1_limb_23_col103))))) + (((op0_limb_26_col77) * (op1_limb_22_col102))))) + (((op0_limb_27_col78) * (op1_limb_21_col101)))); -let conv_tmp_831 = ((((((((((((M31_0) + (((op0_limb_22_col73) * (op1_limb_27_col107))))) + (((op0_limb_23_col74) * (op1_limb_26_col106))))) + (((op0_limb_24_col75) * (op1_limb_25_col105))))) + (((op0_limb_25_col76) * (op1_limb_24_col104))))) + (((op0_limb_26_col77) * (op1_limb_23_col103))))) + (((op0_limb_27_col78) * (op1_limb_22_col102)))); -let conv_tmp_832 = ((((((((((M31_0) + (((op0_limb_23_col74) * (op1_limb_27_col107))))) + (((op0_limb_24_col75) * (op1_limb_26_col106))))) + (((op0_limb_25_col76) * (op1_limb_25_col105))))) + (((op0_limb_26_col77) * (op1_limb_24_col104))))) + (((op0_limb_27_col78) * (op1_limb_23_col103)))); -let conv_tmp_833 = ((((((((M31_0) + (((op0_limb_24_col75) * (op1_limb_27_col107))))) + (((op0_limb_25_col76) * (op1_limb_26_col106))))) + (((op0_limb_26_col77) * (op1_limb_25_col105))))) + (((op0_limb_27_col78) * (op1_limb_24_col104)))); -let conv_tmp_834 = ((((((M31_0) + (((op0_limb_25_col76) * (op1_limb_27_col107))))) + (((op0_limb_26_col77) * (op1_limb_26_col106))))) + (((op0_limb_27_col78) * (op1_limb_25_col105)))); -let conv_tmp_835 = ((((M31_0) + (((op0_limb_26_col77) * (op1_limb_27_col107))))) + (((op0_limb_27_col78) * (op1_limb_26_col106)))); -let conv_tmp_836 = ((M31_0) + (((op0_limb_27_col78) * (op1_limb_27_col107)))); -let conv_mod_tmp_837 = ((((((M31_0) + (((M31_32) * (conv_tmp_782))))) - (((M31_4) * (conv_tmp_803))))) + (((M31_8) * (conv_tmp_831)))); -let conv_mod_tmp_838 = ((((((((M31_0) + (((M31_1) * (conv_tmp_782))))) + (((M31_32) * (conv_tmp_783))))) - (((M31_4) * (conv_tmp_804))))) + (((M31_8) * (conv_tmp_832)))); -let conv_mod_tmp_839 = ((((((((M31_0) + (((M31_1) * (conv_tmp_783))))) + (((M31_32) * (conv_tmp_784))))) - (((M31_4) * (conv_tmp_805))))) + (((M31_8) * (conv_tmp_833)))); -let conv_mod_tmp_840 = ((((((((M31_0) + (((M31_1) * (conv_tmp_784))))) + (((M31_32) * (conv_tmp_785))))) - (((M31_4) * (conv_tmp_806))))) + (((M31_8) * (conv_tmp_834)))); -let conv_mod_tmp_841 = ((((((((M31_0) + (((M31_1) * (conv_tmp_785))))) + (((M31_32) * (conv_tmp_786))))) - (((M31_4) * (conv_tmp_807))))) + (((M31_8) * (conv_tmp_835)))); -let conv_mod_tmp_842 = ((((((((M31_0) + (((M31_1) * (conv_tmp_786))))) + (((M31_32) * (conv_tmp_787))))) - (((M31_4) * (conv_tmp_808))))) + (((M31_8) * (conv_tmp_836)))); -let conv_mod_tmp_843 = ((((((M31_0) + (((M31_1) * (conv_tmp_787))))) + (((M31_32) * (conv_tmp_788))))) - (((M31_4) * (conv_tmp_809)))); -let conv_mod_tmp_844 = ((((((((M31_0) + (((M31_2) * (conv_tmp_782))))) + (((M31_1) * (conv_tmp_788))))) + (((M31_32) * (conv_tmp_789))))) - (((M31_4) * (conv_tmp_810)))); -let conv_mod_tmp_845 = ((((((((M31_0) + (((M31_2) * (conv_tmp_783))))) + (((M31_1) * (conv_tmp_789))))) + (((M31_32) * (conv_tmp_790))))) - (((M31_4) * (conv_tmp_811)))); -let conv_mod_tmp_846 = ((((((((M31_0) + (((M31_2) * (conv_tmp_784))))) + (((M31_1) * (conv_tmp_790))))) + (((M31_32) * (conv_tmp_791))))) - (((M31_4) * (conv_tmp_812)))); -let conv_mod_tmp_847 = ((((((((M31_0) + (((M31_2) * (conv_tmp_785))))) + (((M31_1) * (conv_tmp_791))))) + (((M31_32) * (conv_tmp_792))))) - (((M31_4) * (conv_tmp_813)))); -let conv_mod_tmp_848 = ((((((((M31_0) + (((M31_2) * (conv_tmp_786))))) + (((M31_1) * (conv_tmp_792))))) + (((M31_32) * (conv_tmp_793))))) - (((M31_4) * (conv_tmp_814)))); -let conv_mod_tmp_849 = ((((((((M31_0) + (((M31_2) * (conv_tmp_787))))) + (((M31_1) * (conv_tmp_793))))) + (((M31_32) * (conv_tmp_794))))) - (((M31_4) * (conv_tmp_815)))); -let conv_mod_tmp_850 = ((((((((M31_0) + (((M31_2) * (conv_tmp_788))))) + (((M31_1) * (conv_tmp_794))))) + (((M31_32) * (conv_tmp_795))))) - (((M31_4) * (conv_tmp_816)))); -let conv_mod_tmp_851 = ((((((((M31_0) + (((M31_2) * (conv_tmp_789))))) + (((M31_1) * (conv_tmp_795))))) + (((M31_32) * (conv_tmp_796))))) - (((M31_4) * (conv_tmp_817)))); -let conv_mod_tmp_852 = ((((((((M31_0) + (((M31_2) * (conv_tmp_790))))) + (((M31_1) * (conv_tmp_796))))) + (((M31_32) * (conv_tmp_797))))) - (((M31_4) * (conv_tmp_818)))); -let conv_mod_tmp_853 = ((((((((M31_0) + (((M31_2) * (conv_tmp_791))))) + (((M31_1) * (conv_tmp_797))))) + (((M31_32) * (conv_tmp_798))))) - (((M31_4) * (conv_tmp_819)))); -let conv_mod_tmp_854 = ((((((((M31_0) + (((M31_2) * (conv_tmp_792))))) + (((M31_1) * (conv_tmp_798))))) + (((M31_32) * (conv_tmp_799))))) - (((M31_4) * (conv_tmp_820)))); -let conv_mod_tmp_855 = ((((((((M31_0) + (((M31_2) * (conv_tmp_793))))) + (((M31_1) * (conv_tmp_799))))) + (((M31_32) * (conv_tmp_800))))) - (((M31_4) * (conv_tmp_821)))); -let conv_mod_tmp_856 = ((((((((M31_0) + (((M31_2) * (conv_tmp_794))))) + (((M31_1) * (conv_tmp_800))))) + (((M31_32) * (conv_tmp_801))))) - (((M31_4) * (conv_tmp_822)))); -let conv_mod_tmp_857 = ((((((((M31_0) + (((M31_2) * (conv_tmp_795))))) + (((M31_1) * (conv_tmp_801))))) + (((M31_32) * (conv_tmp_802))))) - (((M31_4) * (conv_tmp_823)))); -let conv_mod_tmp_858 = ((((((((M31_0) + (((M31_2) * (conv_tmp_796))))) + (((M31_1) * (conv_tmp_802))))) - (((M31_4) * (conv_tmp_824))))) + (((M31_64) * (conv_tmp_831)))); -let conv_mod_tmp_859 = ((((((((M31_0) + (((M31_2) * (conv_tmp_797))))) - (((M31_4) * (conv_tmp_825))))) + (((M31_2) * (conv_tmp_831))))) + (((M31_64) * (conv_tmp_832)))); -let conv_mod_tmp_860 = ((((((((M31_0) + (((M31_2) * (conv_tmp_798))))) - (((M31_4) * (conv_tmp_826))))) + (((M31_2) * (conv_tmp_832))))) + (((M31_64) * (conv_tmp_833)))); -let conv_mod_tmp_861 = ((((((((M31_0) + (((M31_2) * (conv_tmp_799))))) - (((M31_4) * (conv_tmp_827))))) + (((M31_2) * (conv_tmp_833))))) + (((M31_64) * (conv_tmp_834)))); -let conv_mod_tmp_862 = ((((((((M31_0) + (((M31_2) * (conv_tmp_800))))) - (((M31_4) * (conv_tmp_828))))) + (((M31_2) * (conv_tmp_834))))) + (((M31_64) * (conv_tmp_835)))); -let conv_mod_tmp_863 = ((((((((M31_0) + (((M31_2) * (conv_tmp_801))))) - (((M31_4) * (conv_tmp_829))))) + (((M31_2) * (conv_tmp_835))))) + (((M31_64) * (conv_tmp_836)))); -let conv_mod_tmp_864 = ((((((M31_0) + (((M31_2) * (conv_tmp_802))))) - (((M31_4) * (conv_tmp_830))))) + (((M31_2) * (conv_tmp_836)))); -let k_mod_2_18_biased_tmp_865 = ((((((PackedUInt32::from_m31(((conv_mod_tmp_837) + (M31_134217728)))) + (((((PackedUInt32::from_m31(((conv_mod_tmp_838) + (M31_134217728)))) & (UInt32_511))) << (UInt32_9))))) + (UInt32_65536))) & (UInt32_262143)); -let k_col165 = ((k_mod_2_18_biased_tmp_865.low().as_m31()) + (((((k_mod_2_18_biased_tmp_865.high().as_m31()) - (M31_1))) * (M31_65536)))); + //VerifyMul252. + + +let conv_tmp_5745_62 = ((((M31_0) - (mul_res_limb_0_col137))) + (((op0_limb_0_col51) * (op1_limb_0_col80)))); +let conv_tmp_5745_63 = ((((((M31_0) - (mul_res_limb_1_col138))) + (((op0_limb_0_col51) * (op1_limb_1_col81))))) + (((op0_limb_1_col52) * (op1_limb_0_col80)))); +let conv_tmp_5745_64 = ((((((((M31_0) - (mul_res_limb_2_col139))) + (((op0_limb_0_col51) * (op1_limb_2_col82))))) + (((op0_limb_1_col52) * (op1_limb_1_col81))))) + (((op0_limb_2_col53) * (op1_limb_0_col80)))); +let conv_tmp_5745_65 = ((((((((((M31_0) - (mul_res_limb_3_col140))) + (((op0_limb_0_col51) * (op1_limb_3_col83))))) + (((op0_limb_1_col52) * (op1_limb_2_col82))))) + (((op0_limb_2_col53) * (op1_limb_1_col81))))) + (((op0_limb_3_col54) * (op1_limb_0_col80)))); +let conv_tmp_5745_66 = ((((((((((((M31_0) - (mul_res_limb_4_col141))) + (((op0_limb_0_col51) * (op1_limb_4_col84))))) + (((op0_limb_1_col52) * (op1_limb_3_col83))))) + (((op0_limb_2_col53) * (op1_limb_2_col82))))) + (((op0_limb_3_col54) * (op1_limb_1_col81))))) + (((op0_limb_4_col55) * (op1_limb_0_col80)))); +let conv_tmp_5745_67 = ((((((((((((((M31_0) - (mul_res_limb_5_col142))) + (((op0_limb_0_col51) * (op1_limb_5_col85))))) + (((op0_limb_1_col52) * (op1_limb_4_col84))))) + (((op0_limb_2_col53) * (op1_limb_3_col83))))) + (((op0_limb_3_col54) * (op1_limb_2_col82))))) + (((op0_limb_4_col55) * (op1_limb_1_col81))))) + (((op0_limb_5_col56) * (op1_limb_0_col80)))); +let conv_tmp_5745_68 = ((((((((((((((((M31_0) - (mul_res_limb_6_col143))) + (((op0_limb_0_col51) * (op1_limb_6_col86))))) + (((op0_limb_1_col52) * (op1_limb_5_col85))))) + (((op0_limb_2_col53) * (op1_limb_4_col84))))) + (((op0_limb_3_col54) * (op1_limb_3_col83))))) + (((op0_limb_4_col55) * (op1_limb_2_col82))))) + (((op0_limb_5_col56) * (op1_limb_1_col81))))) + (((op0_limb_6_col57) * (op1_limb_0_col80)))); +let conv_tmp_5745_69 = ((((((((((((((((((M31_0) - (mul_res_limb_7_col144))) + (((op0_limb_0_col51) * (op1_limb_7_col87))))) + (((op0_limb_1_col52) * (op1_limb_6_col86))))) + (((op0_limb_2_col53) * (op1_limb_5_col85))))) + (((op0_limb_3_col54) * (op1_limb_4_col84))))) + (((op0_limb_4_col55) * (op1_limb_3_col83))))) + (((op0_limb_5_col56) * (op1_limb_2_col82))))) + (((op0_limb_6_col57) * (op1_limb_1_col81))))) + (((op0_limb_7_col58) * (op1_limb_0_col80)))); +let conv_tmp_5745_70 = ((((((((((((((((((((M31_0) - (mul_res_limb_8_col145))) + (((op0_limb_0_col51) * (op1_limb_8_col88))))) + (((op0_limb_1_col52) * (op1_limb_7_col87))))) + (((op0_limb_2_col53) * (op1_limb_6_col86))))) + (((op0_limb_3_col54) * (op1_limb_5_col85))))) + (((op0_limb_4_col55) * (op1_limb_4_col84))))) + (((op0_limb_5_col56) * (op1_limb_3_col83))))) + (((op0_limb_6_col57) * (op1_limb_2_col82))))) + (((op0_limb_7_col58) * (op1_limb_1_col81))))) + (((op0_limb_8_col59) * (op1_limb_0_col80)))); +let conv_tmp_5745_71 = ((((((((((((((((((((((M31_0) - (mul_res_limb_9_col146))) + (((op0_limb_0_col51) * (op1_limb_9_col89))))) + (((op0_limb_1_col52) * (op1_limb_8_col88))))) + (((op0_limb_2_col53) * (op1_limb_7_col87))))) + (((op0_limb_3_col54) * (op1_limb_6_col86))))) + (((op0_limb_4_col55) * (op1_limb_5_col85))))) + (((op0_limb_5_col56) * (op1_limb_4_col84))))) + (((op0_limb_6_col57) * (op1_limb_3_col83))))) + (((op0_limb_7_col58) * (op1_limb_2_col82))))) + (((op0_limb_8_col59) * (op1_limb_1_col81))))) + (((op0_limb_9_col60) * (op1_limb_0_col80)))); +let conv_tmp_5745_72 = ((((((((((((((((((((((((M31_0) - (mul_res_limb_10_col147))) + (((op0_limb_0_col51) * (op1_limb_10_col90))))) + (((op0_limb_1_col52) * (op1_limb_9_col89))))) + (((op0_limb_2_col53) * (op1_limb_8_col88))))) + (((op0_limb_3_col54) * (op1_limb_7_col87))))) + (((op0_limb_4_col55) * (op1_limb_6_col86))))) + (((op0_limb_5_col56) * (op1_limb_5_col85))))) + (((op0_limb_6_col57) * (op1_limb_4_col84))))) + (((op0_limb_7_col58) * (op1_limb_3_col83))))) + (((op0_limb_8_col59) * (op1_limb_2_col82))))) + (((op0_limb_9_col60) * (op1_limb_1_col81))))) + (((op0_limb_10_col61) * (op1_limb_0_col80)))); +let conv_tmp_5745_73 = ((((((((((((((((((((((((((M31_0) - (mul_res_limb_11_col148))) + (((op0_limb_0_col51) * (op1_limb_11_col91))))) + (((op0_limb_1_col52) * (op1_limb_10_col90))))) + (((op0_limb_2_col53) * (op1_limb_9_col89))))) + (((op0_limb_3_col54) * (op1_limb_8_col88))))) + (((op0_limb_4_col55) * (op1_limb_7_col87))))) + (((op0_limb_5_col56) * (op1_limb_6_col86))))) + (((op0_limb_6_col57) * (op1_limb_5_col85))))) + (((op0_limb_7_col58) * (op1_limb_4_col84))))) + (((op0_limb_8_col59) * (op1_limb_3_col83))))) + (((op0_limb_9_col60) * (op1_limb_2_col82))))) + (((op0_limb_10_col61) * (op1_limb_1_col81))))) + (((op0_limb_11_col62) * (op1_limb_0_col80)))); +let conv_tmp_5745_74 = ((((((((((((((((((((((((((((M31_0) - (mul_res_limb_12_col149))) + (((op0_limb_0_col51) * (op1_limb_12_col92))))) + (((op0_limb_1_col52) * (op1_limb_11_col91))))) + (((op0_limb_2_col53) * (op1_limb_10_col90))))) + (((op0_limb_3_col54) * (op1_limb_9_col89))))) + (((op0_limb_4_col55) * (op1_limb_8_col88))))) + (((op0_limb_5_col56) * (op1_limb_7_col87))))) + (((op0_limb_6_col57) * (op1_limb_6_col86))))) + (((op0_limb_7_col58) * (op1_limb_5_col85))))) + (((op0_limb_8_col59) * (op1_limb_4_col84))))) + (((op0_limb_9_col60) * (op1_limb_3_col83))))) + (((op0_limb_10_col61) * (op1_limb_2_col82))))) + (((op0_limb_11_col62) * (op1_limb_1_col81))))) + (((op0_limb_12_col63) * (op1_limb_0_col80)))); +let conv_tmp_5745_75 = ((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_13_col150))) + (((op0_limb_0_col51) * (op1_limb_13_col93))))) + (((op0_limb_1_col52) * (op1_limb_12_col92))))) + (((op0_limb_2_col53) * (op1_limb_11_col91))))) + (((op0_limb_3_col54) * (op1_limb_10_col90))))) + (((op0_limb_4_col55) * (op1_limb_9_col89))))) + (((op0_limb_5_col56) * (op1_limb_8_col88))))) + (((op0_limb_6_col57) * (op1_limb_7_col87))))) + (((op0_limb_7_col58) * (op1_limb_6_col86))))) + (((op0_limb_8_col59) * (op1_limb_5_col85))))) + (((op0_limb_9_col60) * (op1_limb_4_col84))))) + (((op0_limb_10_col61) * (op1_limb_3_col83))))) + (((op0_limb_11_col62) * (op1_limb_2_col82))))) + (((op0_limb_12_col63) * (op1_limb_1_col81))))) + (((op0_limb_13_col64) * (op1_limb_0_col80)))); +let conv_tmp_5745_76 = ((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_14_col151))) + (((op0_limb_0_col51) * (op1_limb_14_col94))))) + (((op0_limb_1_col52) * (op1_limb_13_col93))))) + (((op0_limb_2_col53) * (op1_limb_12_col92))))) + (((op0_limb_3_col54) * (op1_limb_11_col91))))) + (((op0_limb_4_col55) * (op1_limb_10_col90))))) + (((op0_limb_5_col56) * (op1_limb_9_col89))))) + (((op0_limb_6_col57) * (op1_limb_8_col88))))) + (((op0_limb_7_col58) * (op1_limb_7_col87))))) + (((op0_limb_8_col59) * (op1_limb_6_col86))))) + (((op0_limb_9_col60) * (op1_limb_5_col85))))) + (((op0_limb_10_col61) * (op1_limb_4_col84))))) + (((op0_limb_11_col62) * (op1_limb_3_col83))))) + (((op0_limb_12_col63) * (op1_limb_2_col82))))) + (((op0_limb_13_col64) * (op1_limb_1_col81))))) + (((op0_limb_14_col65) * (op1_limb_0_col80)))); +let conv_tmp_5745_77 = ((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_15_col152))) + (((op0_limb_0_col51) * (op1_limb_15_col95))))) + (((op0_limb_1_col52) * (op1_limb_14_col94))))) + (((op0_limb_2_col53) * (op1_limb_13_col93))))) + (((op0_limb_3_col54) * (op1_limb_12_col92))))) + (((op0_limb_4_col55) * (op1_limb_11_col91))))) + (((op0_limb_5_col56) * (op1_limb_10_col90))))) + (((op0_limb_6_col57) * (op1_limb_9_col89))))) + (((op0_limb_7_col58) * (op1_limb_8_col88))))) + (((op0_limb_8_col59) * (op1_limb_7_col87))))) + (((op0_limb_9_col60) * (op1_limb_6_col86))))) + (((op0_limb_10_col61) * (op1_limb_5_col85))))) + (((op0_limb_11_col62) * (op1_limb_4_col84))))) + (((op0_limb_12_col63) * (op1_limb_3_col83))))) + (((op0_limb_13_col64) * (op1_limb_2_col82))))) + (((op0_limb_14_col65) * (op1_limb_1_col81))))) + (((op0_limb_15_col66) * (op1_limb_0_col80)))); +let conv_tmp_5745_78 = ((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_16_col153))) + (((op0_limb_0_col51) * (op1_limb_16_col96))))) + (((op0_limb_1_col52) * (op1_limb_15_col95))))) + (((op0_limb_2_col53) * (op1_limb_14_col94))))) + (((op0_limb_3_col54) * (op1_limb_13_col93))))) + (((op0_limb_4_col55) * (op1_limb_12_col92))))) + (((op0_limb_5_col56) * (op1_limb_11_col91))))) + (((op0_limb_6_col57) * (op1_limb_10_col90))))) + (((op0_limb_7_col58) * (op1_limb_9_col89))))) + (((op0_limb_8_col59) * (op1_limb_8_col88))))) + (((op0_limb_9_col60) * (op1_limb_7_col87))))) + (((op0_limb_10_col61) * (op1_limb_6_col86))))) + (((op0_limb_11_col62) * (op1_limb_5_col85))))) + (((op0_limb_12_col63) * (op1_limb_4_col84))))) + (((op0_limb_13_col64) * (op1_limb_3_col83))))) + (((op0_limb_14_col65) * (op1_limb_2_col82))))) + (((op0_limb_15_col66) * (op1_limb_1_col81))))) + (((op0_limb_16_col67) * (op1_limb_0_col80)))); +let conv_tmp_5745_79 = ((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_17_col154))) + (((op0_limb_0_col51) * (op1_limb_17_col97))))) + (((op0_limb_1_col52) * (op1_limb_16_col96))))) + (((op0_limb_2_col53) * (op1_limb_15_col95))))) + (((op0_limb_3_col54) * (op1_limb_14_col94))))) + (((op0_limb_4_col55) * (op1_limb_13_col93))))) + (((op0_limb_5_col56) * (op1_limb_12_col92))))) + (((op0_limb_6_col57) * (op1_limb_11_col91))))) + (((op0_limb_7_col58) * (op1_limb_10_col90))))) + (((op0_limb_8_col59) * (op1_limb_9_col89))))) + (((op0_limb_9_col60) * (op1_limb_8_col88))))) + (((op0_limb_10_col61) * (op1_limb_7_col87))))) + (((op0_limb_11_col62) * (op1_limb_6_col86))))) + (((op0_limb_12_col63) * (op1_limb_5_col85))))) + (((op0_limb_13_col64) * (op1_limb_4_col84))))) + (((op0_limb_14_col65) * (op1_limb_3_col83))))) + (((op0_limb_15_col66) * (op1_limb_2_col82))))) + (((op0_limb_16_col67) * (op1_limb_1_col81))))) + (((op0_limb_17_col68) * (op1_limb_0_col80)))); +let conv_tmp_5745_80 = ((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_18_col155))) + (((op0_limb_0_col51) * (op1_limb_18_col98))))) + (((op0_limb_1_col52) * (op1_limb_17_col97))))) + (((op0_limb_2_col53) * (op1_limb_16_col96))))) + (((op0_limb_3_col54) * (op1_limb_15_col95))))) + (((op0_limb_4_col55) * (op1_limb_14_col94))))) + (((op0_limb_5_col56) * (op1_limb_13_col93))))) + (((op0_limb_6_col57) * (op1_limb_12_col92))))) + (((op0_limb_7_col58) * (op1_limb_11_col91))))) + (((op0_limb_8_col59) * (op1_limb_10_col90))))) + (((op0_limb_9_col60) * (op1_limb_9_col89))))) + (((op0_limb_10_col61) * (op1_limb_8_col88))))) + (((op0_limb_11_col62) * (op1_limb_7_col87))))) + (((op0_limb_12_col63) * (op1_limb_6_col86))))) + (((op0_limb_13_col64) * (op1_limb_5_col85))))) + (((op0_limb_14_col65) * (op1_limb_4_col84))))) + (((op0_limb_15_col66) * (op1_limb_3_col83))))) + (((op0_limb_16_col67) * (op1_limb_2_col82))))) + (((op0_limb_17_col68) * (op1_limb_1_col81))))) + (((op0_limb_18_col69) * (op1_limb_0_col80)))); +let conv_tmp_5745_81 = ((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_19_col156))) + (((op0_limb_0_col51) * (op1_limb_19_col99))))) + (((op0_limb_1_col52) * (op1_limb_18_col98))))) + (((op0_limb_2_col53) * (op1_limb_17_col97))))) + (((op0_limb_3_col54) * (op1_limb_16_col96))))) + (((op0_limb_4_col55) * (op1_limb_15_col95))))) + (((op0_limb_5_col56) * (op1_limb_14_col94))))) + (((op0_limb_6_col57) * (op1_limb_13_col93))))) + (((op0_limb_7_col58) * (op1_limb_12_col92))))) + (((op0_limb_8_col59) * (op1_limb_11_col91))))) + (((op0_limb_9_col60) * (op1_limb_10_col90))))) + (((op0_limb_10_col61) * (op1_limb_9_col89))))) + (((op0_limb_11_col62) * (op1_limb_8_col88))))) + (((op0_limb_12_col63) * (op1_limb_7_col87))))) + (((op0_limb_13_col64) * (op1_limb_6_col86))))) + (((op0_limb_14_col65) * (op1_limb_5_col85))))) + (((op0_limb_15_col66) * (op1_limb_4_col84))))) + (((op0_limb_16_col67) * (op1_limb_3_col83))))) + (((op0_limb_17_col68) * (op1_limb_2_col82))))) + (((op0_limb_18_col69) * (op1_limb_1_col81))))) + (((op0_limb_19_col70) * (op1_limb_0_col80)))); +let conv_tmp_5745_82 = ((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_20_col157))) + (((op0_limb_0_col51) * (op1_limb_20_col100))))) + (((op0_limb_1_col52) * (op1_limb_19_col99))))) + (((op0_limb_2_col53) * (op1_limb_18_col98))))) + (((op0_limb_3_col54) * (op1_limb_17_col97))))) + (((op0_limb_4_col55) * (op1_limb_16_col96))))) + (((op0_limb_5_col56) * (op1_limb_15_col95))))) + (((op0_limb_6_col57) * (op1_limb_14_col94))))) + (((op0_limb_7_col58) * (op1_limb_13_col93))))) + (((op0_limb_8_col59) * (op1_limb_12_col92))))) + (((op0_limb_9_col60) * (op1_limb_11_col91))))) + (((op0_limb_10_col61) * (op1_limb_10_col90))))) + (((op0_limb_11_col62) * (op1_limb_9_col89))))) + (((op0_limb_12_col63) * (op1_limb_8_col88))))) + (((op0_limb_13_col64) * (op1_limb_7_col87))))) + (((op0_limb_14_col65) * (op1_limb_6_col86))))) + (((op0_limb_15_col66) * (op1_limb_5_col85))))) + (((op0_limb_16_col67) * (op1_limb_4_col84))))) + (((op0_limb_17_col68) * (op1_limb_3_col83))))) + (((op0_limb_18_col69) * (op1_limb_2_col82))))) + (((op0_limb_19_col70) * (op1_limb_1_col81))))) + (((op0_limb_20_col71) * (op1_limb_0_col80)))); +let conv_tmp_5745_83 = ((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_21_col158))) + (((op0_limb_0_col51) * (op1_limb_21_col101))))) + (((op0_limb_1_col52) * (op1_limb_20_col100))))) + (((op0_limb_2_col53) * (op1_limb_19_col99))))) + (((op0_limb_3_col54) * (op1_limb_18_col98))))) + (((op0_limb_4_col55) * (op1_limb_17_col97))))) + (((op0_limb_5_col56) * (op1_limb_16_col96))))) + (((op0_limb_6_col57) * (op1_limb_15_col95))))) + (((op0_limb_7_col58) * (op1_limb_14_col94))))) + (((op0_limb_8_col59) * (op1_limb_13_col93))))) + (((op0_limb_9_col60) * (op1_limb_12_col92))))) + (((op0_limb_10_col61) * (op1_limb_11_col91))))) + (((op0_limb_11_col62) * (op1_limb_10_col90))))) + (((op0_limb_12_col63) * (op1_limb_9_col89))))) + (((op0_limb_13_col64) * (op1_limb_8_col88))))) + (((op0_limb_14_col65) * (op1_limb_7_col87))))) + (((op0_limb_15_col66) * (op1_limb_6_col86))))) + (((op0_limb_16_col67) * (op1_limb_5_col85))))) + (((op0_limb_17_col68) * (op1_limb_4_col84))))) + (((op0_limb_18_col69) * (op1_limb_3_col83))))) + (((op0_limb_19_col70) * (op1_limb_2_col82))))) + (((op0_limb_20_col71) * (op1_limb_1_col81))))) + (((op0_limb_21_col72) * (op1_limb_0_col80)))); +let conv_tmp_5745_84 = ((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_22_col159))) + (((op0_limb_0_col51) * (op1_limb_22_col102))))) + (((op0_limb_1_col52) * (op1_limb_21_col101))))) + (((op0_limb_2_col53) * (op1_limb_20_col100))))) + (((op0_limb_3_col54) * (op1_limb_19_col99))))) + (((op0_limb_4_col55) * (op1_limb_18_col98))))) + (((op0_limb_5_col56) * (op1_limb_17_col97))))) + (((op0_limb_6_col57) * (op1_limb_16_col96))))) + (((op0_limb_7_col58) * (op1_limb_15_col95))))) + (((op0_limb_8_col59) * (op1_limb_14_col94))))) + (((op0_limb_9_col60) * (op1_limb_13_col93))))) + (((op0_limb_10_col61) * (op1_limb_12_col92))))) + (((op0_limb_11_col62) * (op1_limb_11_col91))))) + (((op0_limb_12_col63) * (op1_limb_10_col90))))) + (((op0_limb_13_col64) * (op1_limb_9_col89))))) + (((op0_limb_14_col65) * (op1_limb_8_col88))))) + (((op0_limb_15_col66) * (op1_limb_7_col87))))) + (((op0_limb_16_col67) * (op1_limb_6_col86))))) + (((op0_limb_17_col68) * (op1_limb_5_col85))))) + (((op0_limb_18_col69) * (op1_limb_4_col84))))) + (((op0_limb_19_col70) * (op1_limb_3_col83))))) + (((op0_limb_20_col71) * (op1_limb_2_col82))))) + (((op0_limb_21_col72) * (op1_limb_1_col81))))) + (((op0_limb_22_col73) * (op1_limb_0_col80)))); +let conv_tmp_5745_85 = ((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_23_col160))) + (((op0_limb_0_col51) * (op1_limb_23_col103))))) + (((op0_limb_1_col52) * (op1_limb_22_col102))))) + (((op0_limb_2_col53) * (op1_limb_21_col101))))) + (((op0_limb_3_col54) * (op1_limb_20_col100))))) + (((op0_limb_4_col55) * (op1_limb_19_col99))))) + (((op0_limb_5_col56) * (op1_limb_18_col98))))) + (((op0_limb_6_col57) * (op1_limb_17_col97))))) + (((op0_limb_7_col58) * (op1_limb_16_col96))))) + (((op0_limb_8_col59) * (op1_limb_15_col95))))) + (((op0_limb_9_col60) * (op1_limb_14_col94))))) + (((op0_limb_10_col61) * (op1_limb_13_col93))))) + (((op0_limb_11_col62) * (op1_limb_12_col92))))) + (((op0_limb_12_col63) * (op1_limb_11_col91))))) + (((op0_limb_13_col64) * (op1_limb_10_col90))))) + (((op0_limb_14_col65) * (op1_limb_9_col89))))) + (((op0_limb_15_col66) * (op1_limb_8_col88))))) + (((op0_limb_16_col67) * (op1_limb_7_col87))))) + (((op0_limb_17_col68) * (op1_limb_6_col86))))) + (((op0_limb_18_col69) * (op1_limb_5_col85))))) + (((op0_limb_19_col70) * (op1_limb_4_col84))))) + (((op0_limb_20_col71) * (op1_limb_3_col83))))) + (((op0_limb_21_col72) * (op1_limb_2_col82))))) + (((op0_limb_22_col73) * (op1_limb_1_col81))))) + (((op0_limb_23_col74) * (op1_limb_0_col80)))); +let conv_tmp_5745_86 = ((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_24_col161))) + (((op0_limb_0_col51) * (op1_limb_24_col104))))) + (((op0_limb_1_col52) * (op1_limb_23_col103))))) + (((op0_limb_2_col53) * (op1_limb_22_col102))))) + (((op0_limb_3_col54) * (op1_limb_21_col101))))) + (((op0_limb_4_col55) * (op1_limb_20_col100))))) + (((op0_limb_5_col56) * (op1_limb_19_col99))))) + (((op0_limb_6_col57) * (op1_limb_18_col98))))) + (((op0_limb_7_col58) * (op1_limb_17_col97))))) + (((op0_limb_8_col59) * (op1_limb_16_col96))))) + (((op0_limb_9_col60) * (op1_limb_15_col95))))) + (((op0_limb_10_col61) * (op1_limb_14_col94))))) + (((op0_limb_11_col62) * (op1_limb_13_col93))))) + (((op0_limb_12_col63) * (op1_limb_12_col92))))) + (((op0_limb_13_col64) * (op1_limb_11_col91))))) + (((op0_limb_14_col65) * (op1_limb_10_col90))))) + (((op0_limb_15_col66) * (op1_limb_9_col89))))) + (((op0_limb_16_col67) * (op1_limb_8_col88))))) + (((op0_limb_17_col68) * (op1_limb_7_col87))))) + (((op0_limb_18_col69) * (op1_limb_6_col86))))) + (((op0_limb_19_col70) * (op1_limb_5_col85))))) + (((op0_limb_20_col71) * (op1_limb_4_col84))))) + (((op0_limb_21_col72) * (op1_limb_3_col83))))) + (((op0_limb_22_col73) * (op1_limb_2_col82))))) + (((op0_limb_23_col74) * (op1_limb_1_col81))))) + (((op0_limb_24_col75) * (op1_limb_0_col80)))); +let conv_tmp_5745_87 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_25_col162))) + (((op0_limb_0_col51) * (op1_limb_25_col105))))) + (((op0_limb_1_col52) * (op1_limb_24_col104))))) + (((op0_limb_2_col53) * (op1_limb_23_col103))))) + (((op0_limb_3_col54) * (op1_limb_22_col102))))) + (((op0_limb_4_col55) * (op1_limb_21_col101))))) + (((op0_limb_5_col56) * (op1_limb_20_col100))))) + (((op0_limb_6_col57) * (op1_limb_19_col99))))) + (((op0_limb_7_col58) * (op1_limb_18_col98))))) + (((op0_limb_8_col59) * (op1_limb_17_col97))))) + (((op0_limb_9_col60) * (op1_limb_16_col96))))) + (((op0_limb_10_col61) * (op1_limb_15_col95))))) + (((op0_limb_11_col62) * (op1_limb_14_col94))))) + (((op0_limb_12_col63) * (op1_limb_13_col93))))) + (((op0_limb_13_col64) * (op1_limb_12_col92))))) + (((op0_limb_14_col65) * (op1_limb_11_col91))))) + (((op0_limb_15_col66) * (op1_limb_10_col90))))) + (((op0_limb_16_col67) * (op1_limb_9_col89))))) + (((op0_limb_17_col68) * (op1_limb_8_col88))))) + (((op0_limb_18_col69) * (op1_limb_7_col87))))) + (((op0_limb_19_col70) * (op1_limb_6_col86))))) + (((op0_limb_20_col71) * (op1_limb_5_col85))))) + (((op0_limb_21_col72) * (op1_limb_4_col84))))) + (((op0_limb_22_col73) * (op1_limb_3_col83))))) + (((op0_limb_23_col74) * (op1_limb_2_col82))))) + (((op0_limb_24_col75) * (op1_limb_1_col81))))) + (((op0_limb_25_col76) * (op1_limb_0_col80)))); +let conv_tmp_5745_88 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_26_col163))) + (((op0_limb_0_col51) * (op1_limb_26_col106))))) + (((op0_limb_1_col52) * (op1_limb_25_col105))))) + (((op0_limb_2_col53) * (op1_limb_24_col104))))) + (((op0_limb_3_col54) * (op1_limb_23_col103))))) + (((op0_limb_4_col55) * (op1_limb_22_col102))))) + (((op0_limb_5_col56) * (op1_limb_21_col101))))) + (((op0_limb_6_col57) * (op1_limb_20_col100))))) + (((op0_limb_7_col58) * (op1_limb_19_col99))))) + (((op0_limb_8_col59) * (op1_limb_18_col98))))) + (((op0_limb_9_col60) * (op1_limb_17_col97))))) + (((op0_limb_10_col61) * (op1_limb_16_col96))))) + (((op0_limb_11_col62) * (op1_limb_15_col95))))) + (((op0_limb_12_col63) * (op1_limb_14_col94))))) + (((op0_limb_13_col64) * (op1_limb_13_col93))))) + (((op0_limb_14_col65) * (op1_limb_12_col92))))) + (((op0_limb_15_col66) * (op1_limb_11_col91))))) + (((op0_limb_16_col67) * (op1_limb_10_col90))))) + (((op0_limb_17_col68) * (op1_limb_9_col89))))) + (((op0_limb_18_col69) * (op1_limb_8_col88))))) + (((op0_limb_19_col70) * (op1_limb_7_col87))))) + (((op0_limb_20_col71) * (op1_limb_6_col86))))) + (((op0_limb_21_col72) * (op1_limb_5_col85))))) + (((op0_limb_22_col73) * (op1_limb_4_col84))))) + (((op0_limb_23_col74) * (op1_limb_3_col83))))) + (((op0_limb_24_col75) * (op1_limb_2_col82))))) + (((op0_limb_25_col76) * (op1_limb_1_col81))))) + (((op0_limb_26_col77) * (op1_limb_0_col80)))); +let conv_tmp_5745_89 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) - (mul_res_limb_27_col164))) + (((op0_limb_0_col51) * (op1_limb_27_col107))))) + (((op0_limb_1_col52) * (op1_limb_26_col106))))) + (((op0_limb_2_col53) * (op1_limb_25_col105))))) + (((op0_limb_3_col54) * (op1_limb_24_col104))))) + (((op0_limb_4_col55) * (op1_limb_23_col103))))) + (((op0_limb_5_col56) * (op1_limb_22_col102))))) + (((op0_limb_6_col57) * (op1_limb_21_col101))))) + (((op0_limb_7_col58) * (op1_limb_20_col100))))) + (((op0_limb_8_col59) * (op1_limb_19_col99))))) + (((op0_limb_9_col60) * (op1_limb_18_col98))))) + (((op0_limb_10_col61) * (op1_limb_17_col97))))) + (((op0_limb_11_col62) * (op1_limb_16_col96))))) + (((op0_limb_12_col63) * (op1_limb_15_col95))))) + (((op0_limb_13_col64) * (op1_limb_14_col94))))) + (((op0_limb_14_col65) * (op1_limb_13_col93))))) + (((op0_limb_15_col66) * (op1_limb_12_col92))))) + (((op0_limb_16_col67) * (op1_limb_11_col91))))) + (((op0_limb_17_col68) * (op1_limb_10_col90))))) + (((op0_limb_18_col69) * (op1_limb_9_col89))))) + (((op0_limb_19_col70) * (op1_limb_8_col88))))) + (((op0_limb_20_col71) * (op1_limb_7_col87))))) + (((op0_limb_21_col72) * (op1_limb_6_col86))))) + (((op0_limb_22_col73) * (op1_limb_5_col85))))) + (((op0_limb_23_col74) * (op1_limb_4_col84))))) + (((op0_limb_24_col75) * (op1_limb_3_col83))))) + (((op0_limb_25_col76) * (op1_limb_2_col82))))) + (((op0_limb_26_col77) * (op1_limb_1_col81))))) + (((op0_limb_27_col78) * (op1_limb_0_col80)))); +let conv_tmp_5745_90 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_1_col52) * (op1_limb_27_col107))))) + (((op0_limb_2_col53) * (op1_limb_26_col106))))) + (((op0_limb_3_col54) * (op1_limb_25_col105))))) + (((op0_limb_4_col55) * (op1_limb_24_col104))))) + (((op0_limb_5_col56) * (op1_limb_23_col103))))) + (((op0_limb_6_col57) * (op1_limb_22_col102))))) + (((op0_limb_7_col58) * (op1_limb_21_col101))))) + (((op0_limb_8_col59) * (op1_limb_20_col100))))) + (((op0_limb_9_col60) * (op1_limb_19_col99))))) + (((op0_limb_10_col61) * (op1_limb_18_col98))))) + (((op0_limb_11_col62) * (op1_limb_17_col97))))) + (((op0_limb_12_col63) * (op1_limb_16_col96))))) + (((op0_limb_13_col64) * (op1_limb_15_col95))))) + (((op0_limb_14_col65) * (op1_limb_14_col94))))) + (((op0_limb_15_col66) * (op1_limb_13_col93))))) + (((op0_limb_16_col67) * (op1_limb_12_col92))))) + (((op0_limb_17_col68) * (op1_limb_11_col91))))) + (((op0_limb_18_col69) * (op1_limb_10_col90))))) + (((op0_limb_19_col70) * (op1_limb_9_col89))))) + (((op0_limb_20_col71) * (op1_limb_8_col88))))) + (((op0_limb_21_col72) * (op1_limb_7_col87))))) + (((op0_limb_22_col73) * (op1_limb_6_col86))))) + (((op0_limb_23_col74) * (op1_limb_5_col85))))) + (((op0_limb_24_col75) * (op1_limb_4_col84))))) + (((op0_limb_25_col76) * (op1_limb_3_col83))))) + (((op0_limb_26_col77) * (op1_limb_2_col82))))) + (((op0_limb_27_col78) * (op1_limb_1_col81)))); +let conv_tmp_5745_91 = ((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_2_col53) * (op1_limb_27_col107))))) + (((op0_limb_3_col54) * (op1_limb_26_col106))))) + (((op0_limb_4_col55) * (op1_limb_25_col105))))) + (((op0_limb_5_col56) * (op1_limb_24_col104))))) + (((op0_limb_6_col57) * (op1_limb_23_col103))))) + (((op0_limb_7_col58) * (op1_limb_22_col102))))) + (((op0_limb_8_col59) * (op1_limb_21_col101))))) + (((op0_limb_9_col60) * (op1_limb_20_col100))))) + (((op0_limb_10_col61) * (op1_limb_19_col99))))) + (((op0_limb_11_col62) * (op1_limb_18_col98))))) + (((op0_limb_12_col63) * (op1_limb_17_col97))))) + (((op0_limb_13_col64) * (op1_limb_16_col96))))) + (((op0_limb_14_col65) * (op1_limb_15_col95))))) + (((op0_limb_15_col66) * (op1_limb_14_col94))))) + (((op0_limb_16_col67) * (op1_limb_13_col93))))) + (((op0_limb_17_col68) * (op1_limb_12_col92))))) + (((op0_limb_18_col69) * (op1_limb_11_col91))))) + (((op0_limb_19_col70) * (op1_limb_10_col90))))) + (((op0_limb_20_col71) * (op1_limb_9_col89))))) + (((op0_limb_21_col72) * (op1_limb_8_col88))))) + (((op0_limb_22_col73) * (op1_limb_7_col87))))) + (((op0_limb_23_col74) * (op1_limb_6_col86))))) + (((op0_limb_24_col75) * (op1_limb_5_col85))))) + (((op0_limb_25_col76) * (op1_limb_4_col84))))) + (((op0_limb_26_col77) * (op1_limb_3_col83))))) + (((op0_limb_27_col78) * (op1_limb_2_col82)))); +let conv_tmp_5745_92 = ((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_3_col54) * (op1_limb_27_col107))))) + (((op0_limb_4_col55) * (op1_limb_26_col106))))) + (((op0_limb_5_col56) * (op1_limb_25_col105))))) + (((op0_limb_6_col57) * (op1_limb_24_col104))))) + (((op0_limb_7_col58) * (op1_limb_23_col103))))) + (((op0_limb_8_col59) * (op1_limb_22_col102))))) + (((op0_limb_9_col60) * (op1_limb_21_col101))))) + (((op0_limb_10_col61) * (op1_limb_20_col100))))) + (((op0_limb_11_col62) * (op1_limb_19_col99))))) + (((op0_limb_12_col63) * (op1_limb_18_col98))))) + (((op0_limb_13_col64) * (op1_limb_17_col97))))) + (((op0_limb_14_col65) * (op1_limb_16_col96))))) + (((op0_limb_15_col66) * (op1_limb_15_col95))))) + (((op0_limb_16_col67) * (op1_limb_14_col94))))) + (((op0_limb_17_col68) * (op1_limb_13_col93))))) + (((op0_limb_18_col69) * (op1_limb_12_col92))))) + (((op0_limb_19_col70) * (op1_limb_11_col91))))) + (((op0_limb_20_col71) * (op1_limb_10_col90))))) + (((op0_limb_21_col72) * (op1_limb_9_col89))))) + (((op0_limb_22_col73) * (op1_limb_8_col88))))) + (((op0_limb_23_col74) * (op1_limb_7_col87))))) + (((op0_limb_24_col75) * (op1_limb_6_col86))))) + (((op0_limb_25_col76) * (op1_limb_5_col85))))) + (((op0_limb_26_col77) * (op1_limb_4_col84))))) + (((op0_limb_27_col78) * (op1_limb_3_col83)))); +let conv_tmp_5745_93 = ((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_4_col55) * (op1_limb_27_col107))))) + (((op0_limb_5_col56) * (op1_limb_26_col106))))) + (((op0_limb_6_col57) * (op1_limb_25_col105))))) + (((op0_limb_7_col58) * (op1_limb_24_col104))))) + (((op0_limb_8_col59) * (op1_limb_23_col103))))) + (((op0_limb_9_col60) * (op1_limb_22_col102))))) + (((op0_limb_10_col61) * (op1_limb_21_col101))))) + (((op0_limb_11_col62) * (op1_limb_20_col100))))) + (((op0_limb_12_col63) * (op1_limb_19_col99))))) + (((op0_limb_13_col64) * (op1_limb_18_col98))))) + (((op0_limb_14_col65) * (op1_limb_17_col97))))) + (((op0_limb_15_col66) * (op1_limb_16_col96))))) + (((op0_limb_16_col67) * (op1_limb_15_col95))))) + (((op0_limb_17_col68) * (op1_limb_14_col94))))) + (((op0_limb_18_col69) * (op1_limb_13_col93))))) + (((op0_limb_19_col70) * (op1_limb_12_col92))))) + (((op0_limb_20_col71) * (op1_limb_11_col91))))) + (((op0_limb_21_col72) * (op1_limb_10_col90))))) + (((op0_limb_22_col73) * (op1_limb_9_col89))))) + (((op0_limb_23_col74) * (op1_limb_8_col88))))) + (((op0_limb_24_col75) * (op1_limb_7_col87))))) + (((op0_limb_25_col76) * (op1_limb_6_col86))))) + (((op0_limb_26_col77) * (op1_limb_5_col85))))) + (((op0_limb_27_col78) * (op1_limb_4_col84)))); +let conv_tmp_5745_94 = ((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_5_col56) * (op1_limb_27_col107))))) + (((op0_limb_6_col57) * (op1_limb_26_col106))))) + (((op0_limb_7_col58) * (op1_limb_25_col105))))) + (((op0_limb_8_col59) * (op1_limb_24_col104))))) + (((op0_limb_9_col60) * (op1_limb_23_col103))))) + (((op0_limb_10_col61) * (op1_limb_22_col102))))) + (((op0_limb_11_col62) * (op1_limb_21_col101))))) + (((op0_limb_12_col63) * (op1_limb_20_col100))))) + (((op0_limb_13_col64) * (op1_limb_19_col99))))) + (((op0_limb_14_col65) * (op1_limb_18_col98))))) + (((op0_limb_15_col66) * (op1_limb_17_col97))))) + (((op0_limb_16_col67) * (op1_limb_16_col96))))) + (((op0_limb_17_col68) * (op1_limb_15_col95))))) + (((op0_limb_18_col69) * (op1_limb_14_col94))))) + (((op0_limb_19_col70) * (op1_limb_13_col93))))) + (((op0_limb_20_col71) * (op1_limb_12_col92))))) + (((op0_limb_21_col72) * (op1_limb_11_col91))))) + (((op0_limb_22_col73) * (op1_limb_10_col90))))) + (((op0_limb_23_col74) * (op1_limb_9_col89))))) + (((op0_limb_24_col75) * (op1_limb_8_col88))))) + (((op0_limb_25_col76) * (op1_limb_7_col87))))) + (((op0_limb_26_col77) * (op1_limb_6_col86))))) + (((op0_limb_27_col78) * (op1_limb_5_col85)))); +let conv_tmp_5745_95 = ((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_6_col57) * (op1_limb_27_col107))))) + (((op0_limb_7_col58) * (op1_limb_26_col106))))) + (((op0_limb_8_col59) * (op1_limb_25_col105))))) + (((op0_limb_9_col60) * (op1_limb_24_col104))))) + (((op0_limb_10_col61) * (op1_limb_23_col103))))) + (((op0_limb_11_col62) * (op1_limb_22_col102))))) + (((op0_limb_12_col63) * (op1_limb_21_col101))))) + (((op0_limb_13_col64) * (op1_limb_20_col100))))) + (((op0_limb_14_col65) * (op1_limb_19_col99))))) + (((op0_limb_15_col66) * (op1_limb_18_col98))))) + (((op0_limb_16_col67) * (op1_limb_17_col97))))) + (((op0_limb_17_col68) * (op1_limb_16_col96))))) + (((op0_limb_18_col69) * (op1_limb_15_col95))))) + (((op0_limb_19_col70) * (op1_limb_14_col94))))) + (((op0_limb_20_col71) * (op1_limb_13_col93))))) + (((op0_limb_21_col72) * (op1_limb_12_col92))))) + (((op0_limb_22_col73) * (op1_limb_11_col91))))) + (((op0_limb_23_col74) * (op1_limb_10_col90))))) + (((op0_limb_24_col75) * (op1_limb_9_col89))))) + (((op0_limb_25_col76) * (op1_limb_8_col88))))) + (((op0_limb_26_col77) * (op1_limb_7_col87))))) + (((op0_limb_27_col78) * (op1_limb_6_col86)))); +let conv_tmp_5745_96 = ((((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_7_col58) * (op1_limb_27_col107))))) + (((op0_limb_8_col59) * (op1_limb_26_col106))))) + (((op0_limb_9_col60) * (op1_limb_25_col105))))) + (((op0_limb_10_col61) * (op1_limb_24_col104))))) + (((op0_limb_11_col62) * (op1_limb_23_col103))))) + (((op0_limb_12_col63) * (op1_limb_22_col102))))) + (((op0_limb_13_col64) * (op1_limb_21_col101))))) + (((op0_limb_14_col65) * (op1_limb_20_col100))))) + (((op0_limb_15_col66) * (op1_limb_19_col99))))) + (((op0_limb_16_col67) * (op1_limb_18_col98))))) + (((op0_limb_17_col68) * (op1_limb_17_col97))))) + (((op0_limb_18_col69) * (op1_limb_16_col96))))) + (((op0_limb_19_col70) * (op1_limb_15_col95))))) + (((op0_limb_20_col71) * (op1_limb_14_col94))))) + (((op0_limb_21_col72) * (op1_limb_13_col93))))) + (((op0_limb_22_col73) * (op1_limb_12_col92))))) + (((op0_limb_23_col74) * (op1_limb_11_col91))))) + (((op0_limb_24_col75) * (op1_limb_10_col90))))) + (((op0_limb_25_col76) * (op1_limb_9_col89))))) + (((op0_limb_26_col77) * (op1_limb_8_col88))))) + (((op0_limb_27_col78) * (op1_limb_7_col87)))); +let conv_tmp_5745_97 = ((((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_8_col59) * (op1_limb_27_col107))))) + (((op0_limb_9_col60) * (op1_limb_26_col106))))) + (((op0_limb_10_col61) * (op1_limb_25_col105))))) + (((op0_limb_11_col62) * (op1_limb_24_col104))))) + (((op0_limb_12_col63) * (op1_limb_23_col103))))) + (((op0_limb_13_col64) * (op1_limb_22_col102))))) + (((op0_limb_14_col65) * (op1_limb_21_col101))))) + (((op0_limb_15_col66) * (op1_limb_20_col100))))) + (((op0_limb_16_col67) * (op1_limb_19_col99))))) + (((op0_limb_17_col68) * (op1_limb_18_col98))))) + (((op0_limb_18_col69) * (op1_limb_17_col97))))) + (((op0_limb_19_col70) * (op1_limb_16_col96))))) + (((op0_limb_20_col71) * (op1_limb_15_col95))))) + (((op0_limb_21_col72) * (op1_limb_14_col94))))) + (((op0_limb_22_col73) * (op1_limb_13_col93))))) + (((op0_limb_23_col74) * (op1_limb_12_col92))))) + (((op0_limb_24_col75) * (op1_limb_11_col91))))) + (((op0_limb_25_col76) * (op1_limb_10_col90))))) + (((op0_limb_26_col77) * (op1_limb_9_col89))))) + (((op0_limb_27_col78) * (op1_limb_8_col88)))); +let conv_tmp_5745_98 = ((((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_9_col60) * (op1_limb_27_col107))))) + (((op0_limb_10_col61) * (op1_limb_26_col106))))) + (((op0_limb_11_col62) * (op1_limb_25_col105))))) + (((op0_limb_12_col63) * (op1_limb_24_col104))))) + (((op0_limb_13_col64) * (op1_limb_23_col103))))) + (((op0_limb_14_col65) * (op1_limb_22_col102))))) + (((op0_limb_15_col66) * (op1_limb_21_col101))))) + (((op0_limb_16_col67) * (op1_limb_20_col100))))) + (((op0_limb_17_col68) * (op1_limb_19_col99))))) + (((op0_limb_18_col69) * (op1_limb_18_col98))))) + (((op0_limb_19_col70) * (op1_limb_17_col97))))) + (((op0_limb_20_col71) * (op1_limb_16_col96))))) + (((op0_limb_21_col72) * (op1_limb_15_col95))))) + (((op0_limb_22_col73) * (op1_limb_14_col94))))) + (((op0_limb_23_col74) * (op1_limb_13_col93))))) + (((op0_limb_24_col75) * (op1_limb_12_col92))))) + (((op0_limb_25_col76) * (op1_limb_11_col91))))) + (((op0_limb_26_col77) * (op1_limb_10_col90))))) + (((op0_limb_27_col78) * (op1_limb_9_col89)))); +let conv_tmp_5745_99 = ((((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_10_col61) * (op1_limb_27_col107))))) + (((op0_limb_11_col62) * (op1_limb_26_col106))))) + (((op0_limb_12_col63) * (op1_limb_25_col105))))) + (((op0_limb_13_col64) * (op1_limb_24_col104))))) + (((op0_limb_14_col65) * (op1_limb_23_col103))))) + (((op0_limb_15_col66) * (op1_limb_22_col102))))) + (((op0_limb_16_col67) * (op1_limb_21_col101))))) + (((op0_limb_17_col68) * (op1_limb_20_col100))))) + (((op0_limb_18_col69) * (op1_limb_19_col99))))) + (((op0_limb_19_col70) * (op1_limb_18_col98))))) + (((op0_limb_20_col71) * (op1_limb_17_col97))))) + (((op0_limb_21_col72) * (op1_limb_16_col96))))) + (((op0_limb_22_col73) * (op1_limb_15_col95))))) + (((op0_limb_23_col74) * (op1_limb_14_col94))))) + (((op0_limb_24_col75) * (op1_limb_13_col93))))) + (((op0_limb_25_col76) * (op1_limb_12_col92))))) + (((op0_limb_26_col77) * (op1_limb_11_col91))))) + (((op0_limb_27_col78) * (op1_limb_10_col90)))); +let conv_tmp_5745_100 = ((((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_11_col62) * (op1_limb_27_col107))))) + (((op0_limb_12_col63) * (op1_limb_26_col106))))) + (((op0_limb_13_col64) * (op1_limb_25_col105))))) + (((op0_limb_14_col65) * (op1_limb_24_col104))))) + (((op0_limb_15_col66) * (op1_limb_23_col103))))) + (((op0_limb_16_col67) * (op1_limb_22_col102))))) + (((op0_limb_17_col68) * (op1_limb_21_col101))))) + (((op0_limb_18_col69) * (op1_limb_20_col100))))) + (((op0_limb_19_col70) * (op1_limb_19_col99))))) + (((op0_limb_20_col71) * (op1_limb_18_col98))))) + (((op0_limb_21_col72) * (op1_limb_17_col97))))) + (((op0_limb_22_col73) * (op1_limb_16_col96))))) + (((op0_limb_23_col74) * (op1_limb_15_col95))))) + (((op0_limb_24_col75) * (op1_limb_14_col94))))) + (((op0_limb_25_col76) * (op1_limb_13_col93))))) + (((op0_limb_26_col77) * (op1_limb_12_col92))))) + (((op0_limb_27_col78) * (op1_limb_11_col91)))); +let conv_tmp_5745_101 = ((((((((((((((((((((((((((((((((M31_0) + (((op0_limb_12_col63) * (op1_limb_27_col107))))) + (((op0_limb_13_col64) * (op1_limb_26_col106))))) + (((op0_limb_14_col65) * (op1_limb_25_col105))))) + (((op0_limb_15_col66) * (op1_limb_24_col104))))) + (((op0_limb_16_col67) * (op1_limb_23_col103))))) + (((op0_limb_17_col68) * (op1_limb_22_col102))))) + (((op0_limb_18_col69) * (op1_limb_21_col101))))) + (((op0_limb_19_col70) * (op1_limb_20_col100))))) + (((op0_limb_20_col71) * (op1_limb_19_col99))))) + (((op0_limb_21_col72) * (op1_limb_18_col98))))) + (((op0_limb_22_col73) * (op1_limb_17_col97))))) + (((op0_limb_23_col74) * (op1_limb_16_col96))))) + (((op0_limb_24_col75) * (op1_limb_15_col95))))) + (((op0_limb_25_col76) * (op1_limb_14_col94))))) + (((op0_limb_26_col77) * (op1_limb_13_col93))))) + (((op0_limb_27_col78) * (op1_limb_12_col92)))); +let conv_tmp_5745_102 = ((((((((((((((((((((((((((((((M31_0) + (((op0_limb_13_col64) * (op1_limb_27_col107))))) + (((op0_limb_14_col65) * (op1_limb_26_col106))))) + (((op0_limb_15_col66) * (op1_limb_25_col105))))) + (((op0_limb_16_col67) * (op1_limb_24_col104))))) + (((op0_limb_17_col68) * (op1_limb_23_col103))))) + (((op0_limb_18_col69) * (op1_limb_22_col102))))) + (((op0_limb_19_col70) * (op1_limb_21_col101))))) + (((op0_limb_20_col71) * (op1_limb_20_col100))))) + (((op0_limb_21_col72) * (op1_limb_19_col99))))) + (((op0_limb_22_col73) * (op1_limb_18_col98))))) + (((op0_limb_23_col74) * (op1_limb_17_col97))))) + (((op0_limb_24_col75) * (op1_limb_16_col96))))) + (((op0_limb_25_col76) * (op1_limb_15_col95))))) + (((op0_limb_26_col77) * (op1_limb_14_col94))))) + (((op0_limb_27_col78) * (op1_limb_13_col93)))); +let conv_tmp_5745_103 = ((((((((((((((((((((((((((((M31_0) + (((op0_limb_14_col65) * (op1_limb_27_col107))))) + (((op0_limb_15_col66) * (op1_limb_26_col106))))) + (((op0_limb_16_col67) * (op1_limb_25_col105))))) + (((op0_limb_17_col68) * (op1_limb_24_col104))))) + (((op0_limb_18_col69) * (op1_limb_23_col103))))) + (((op0_limb_19_col70) * (op1_limb_22_col102))))) + (((op0_limb_20_col71) * (op1_limb_21_col101))))) + (((op0_limb_21_col72) * (op1_limb_20_col100))))) + (((op0_limb_22_col73) * (op1_limb_19_col99))))) + (((op0_limb_23_col74) * (op1_limb_18_col98))))) + (((op0_limb_24_col75) * (op1_limb_17_col97))))) + (((op0_limb_25_col76) * (op1_limb_16_col96))))) + (((op0_limb_26_col77) * (op1_limb_15_col95))))) + (((op0_limb_27_col78) * (op1_limb_14_col94)))); +let conv_tmp_5745_104 = ((((((((((((((((((((((((((M31_0) + (((op0_limb_15_col66) * (op1_limb_27_col107))))) + (((op0_limb_16_col67) * (op1_limb_26_col106))))) + (((op0_limb_17_col68) * (op1_limb_25_col105))))) + (((op0_limb_18_col69) * (op1_limb_24_col104))))) + (((op0_limb_19_col70) * (op1_limb_23_col103))))) + (((op0_limb_20_col71) * (op1_limb_22_col102))))) + (((op0_limb_21_col72) * (op1_limb_21_col101))))) + (((op0_limb_22_col73) * (op1_limb_20_col100))))) + (((op0_limb_23_col74) * (op1_limb_19_col99))))) + (((op0_limb_24_col75) * (op1_limb_18_col98))))) + (((op0_limb_25_col76) * (op1_limb_17_col97))))) + (((op0_limb_26_col77) * (op1_limb_16_col96))))) + (((op0_limb_27_col78) * (op1_limb_15_col95)))); +let conv_tmp_5745_105 = ((((((((((((((((((((((((M31_0) + (((op0_limb_16_col67) * (op1_limb_27_col107))))) + (((op0_limb_17_col68) * (op1_limb_26_col106))))) + (((op0_limb_18_col69) * (op1_limb_25_col105))))) + (((op0_limb_19_col70) * (op1_limb_24_col104))))) + (((op0_limb_20_col71) * (op1_limb_23_col103))))) + (((op0_limb_21_col72) * (op1_limb_22_col102))))) + (((op0_limb_22_col73) * (op1_limb_21_col101))))) + (((op0_limb_23_col74) * (op1_limb_20_col100))))) + (((op0_limb_24_col75) * (op1_limb_19_col99))))) + (((op0_limb_25_col76) * (op1_limb_18_col98))))) + (((op0_limb_26_col77) * (op1_limb_17_col97))))) + (((op0_limb_27_col78) * (op1_limb_16_col96)))); +let conv_tmp_5745_106 = ((((((((((((((((((((((M31_0) + (((op0_limb_17_col68) * (op1_limb_27_col107))))) + (((op0_limb_18_col69) * (op1_limb_26_col106))))) + (((op0_limb_19_col70) * (op1_limb_25_col105))))) + (((op0_limb_20_col71) * (op1_limb_24_col104))))) + (((op0_limb_21_col72) * (op1_limb_23_col103))))) + (((op0_limb_22_col73) * (op1_limb_22_col102))))) + (((op0_limb_23_col74) * (op1_limb_21_col101))))) + (((op0_limb_24_col75) * (op1_limb_20_col100))))) + (((op0_limb_25_col76) * (op1_limb_19_col99))))) + (((op0_limb_26_col77) * (op1_limb_18_col98))))) + (((op0_limb_27_col78) * (op1_limb_17_col97)))); +let conv_tmp_5745_107 = ((((((((((((((((((((M31_0) + (((op0_limb_18_col69) * (op1_limb_27_col107))))) + (((op0_limb_19_col70) * (op1_limb_26_col106))))) + (((op0_limb_20_col71) * (op1_limb_25_col105))))) + (((op0_limb_21_col72) * (op1_limb_24_col104))))) + (((op0_limb_22_col73) * (op1_limb_23_col103))))) + (((op0_limb_23_col74) * (op1_limb_22_col102))))) + (((op0_limb_24_col75) * (op1_limb_21_col101))))) + (((op0_limb_25_col76) * (op1_limb_20_col100))))) + (((op0_limb_26_col77) * (op1_limb_19_col99))))) + (((op0_limb_27_col78) * (op1_limb_18_col98)))); +let conv_tmp_5745_108 = ((((((((((((((((((M31_0) + (((op0_limb_19_col70) * (op1_limb_27_col107))))) + (((op0_limb_20_col71) * (op1_limb_26_col106))))) + (((op0_limb_21_col72) * (op1_limb_25_col105))))) + (((op0_limb_22_col73) * (op1_limb_24_col104))))) + (((op0_limb_23_col74) * (op1_limb_23_col103))))) + (((op0_limb_24_col75) * (op1_limb_22_col102))))) + (((op0_limb_25_col76) * (op1_limb_21_col101))))) + (((op0_limb_26_col77) * (op1_limb_20_col100))))) + (((op0_limb_27_col78) * (op1_limb_19_col99)))); +let conv_tmp_5745_109 = ((((((((((((((((M31_0) + (((op0_limb_20_col71) * (op1_limb_27_col107))))) + (((op0_limb_21_col72) * (op1_limb_26_col106))))) + (((op0_limb_22_col73) * (op1_limb_25_col105))))) + (((op0_limb_23_col74) * (op1_limb_24_col104))))) + (((op0_limb_24_col75) * (op1_limb_23_col103))))) + (((op0_limb_25_col76) * (op1_limb_22_col102))))) + (((op0_limb_26_col77) * (op1_limb_21_col101))))) + (((op0_limb_27_col78) * (op1_limb_20_col100)))); +let conv_tmp_5745_110 = ((((((((((((((M31_0) + (((op0_limb_21_col72) * (op1_limb_27_col107))))) + (((op0_limb_22_col73) * (op1_limb_26_col106))))) + (((op0_limb_23_col74) * (op1_limb_25_col105))))) + (((op0_limb_24_col75) * (op1_limb_24_col104))))) + (((op0_limb_25_col76) * (op1_limb_23_col103))))) + (((op0_limb_26_col77) * (op1_limb_22_col102))))) + (((op0_limb_27_col78) * (op1_limb_21_col101)))); +let conv_tmp_5745_111 = ((((((((((((M31_0) + (((op0_limb_22_col73) * (op1_limb_27_col107))))) + (((op0_limb_23_col74) * (op1_limb_26_col106))))) + (((op0_limb_24_col75) * (op1_limb_25_col105))))) + (((op0_limb_25_col76) * (op1_limb_24_col104))))) + (((op0_limb_26_col77) * (op1_limb_23_col103))))) + (((op0_limb_27_col78) * (op1_limb_22_col102)))); +let conv_tmp_5745_112 = ((((((((((M31_0) + (((op0_limb_23_col74) * (op1_limb_27_col107))))) + (((op0_limb_24_col75) * (op1_limb_26_col106))))) + (((op0_limb_25_col76) * (op1_limb_25_col105))))) + (((op0_limb_26_col77) * (op1_limb_24_col104))))) + (((op0_limb_27_col78) * (op1_limb_23_col103)))); +let conv_tmp_5745_113 = ((((((((M31_0) + (((op0_limb_24_col75) * (op1_limb_27_col107))))) + (((op0_limb_25_col76) * (op1_limb_26_col106))))) + (((op0_limb_26_col77) * (op1_limb_25_col105))))) + (((op0_limb_27_col78) * (op1_limb_24_col104)))); +let conv_tmp_5745_114 = ((((((M31_0) + (((op0_limb_25_col76) * (op1_limb_27_col107))))) + (((op0_limb_26_col77) * (op1_limb_26_col106))))) + (((op0_limb_27_col78) * (op1_limb_25_col105)))); +let conv_tmp_5745_115 = ((((M31_0) + (((op0_limb_26_col77) * (op1_limb_27_col107))))) + (((op0_limb_27_col78) * (op1_limb_26_col106)))); +let conv_tmp_5745_116 = ((M31_0) + (((op0_limb_27_col78) * (op1_limb_27_col107)))); +let conv_mod_tmp_5745_117 = ((((((M31_0) + (((M31_32) * (conv_tmp_5745_62))))) - (((M31_4) * (conv_tmp_5745_83))))) + (((M31_8) * (conv_tmp_5745_111)))); +let conv_mod_tmp_5745_118 = ((((((((M31_0) + (((M31_1) * (conv_tmp_5745_62))))) + (((M31_32) * (conv_tmp_5745_63))))) - (((M31_4) * (conv_tmp_5745_84))))) + (((M31_8) * (conv_tmp_5745_112)))); +let conv_mod_tmp_5745_119 = ((((((((M31_0) + (((M31_1) * (conv_tmp_5745_63))))) + (((M31_32) * (conv_tmp_5745_64))))) - (((M31_4) * (conv_tmp_5745_85))))) + (((M31_8) * (conv_tmp_5745_113)))); +let conv_mod_tmp_5745_120 = ((((((((M31_0) + (((M31_1) * (conv_tmp_5745_64))))) + (((M31_32) * (conv_tmp_5745_65))))) - (((M31_4) * (conv_tmp_5745_86))))) + (((M31_8) * (conv_tmp_5745_114)))); +let conv_mod_tmp_5745_121 = ((((((((M31_0) + (((M31_1) * (conv_tmp_5745_65))))) + (((M31_32) * (conv_tmp_5745_66))))) - (((M31_4) * (conv_tmp_5745_87))))) + (((M31_8) * (conv_tmp_5745_115)))); +let conv_mod_tmp_5745_122 = ((((((((M31_0) + (((M31_1) * (conv_tmp_5745_66))))) + (((M31_32) * (conv_tmp_5745_67))))) - (((M31_4) * (conv_tmp_5745_88))))) + (((M31_8) * (conv_tmp_5745_116)))); +let conv_mod_tmp_5745_123 = ((((((M31_0) + (((M31_1) * (conv_tmp_5745_67))))) + (((M31_32) * (conv_tmp_5745_68))))) - (((M31_4) * (conv_tmp_5745_89)))); +let conv_mod_tmp_5745_124 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_62))))) + (((M31_1) * (conv_tmp_5745_68))))) + (((M31_32) * (conv_tmp_5745_69))))) - (((M31_4) * (conv_tmp_5745_90)))); +let conv_mod_tmp_5745_125 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_63))))) + (((M31_1) * (conv_tmp_5745_69))))) + (((M31_32) * (conv_tmp_5745_70))))) - (((M31_4) * (conv_tmp_5745_91)))); +let conv_mod_tmp_5745_126 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_64))))) + (((M31_1) * (conv_tmp_5745_70))))) + (((M31_32) * (conv_tmp_5745_71))))) - (((M31_4) * (conv_tmp_5745_92)))); +let conv_mod_tmp_5745_127 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_65))))) + (((M31_1) * (conv_tmp_5745_71))))) + (((M31_32) * (conv_tmp_5745_72))))) - (((M31_4) * (conv_tmp_5745_93)))); +let conv_mod_tmp_5745_128 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_66))))) + (((M31_1) * (conv_tmp_5745_72))))) + (((M31_32) * (conv_tmp_5745_73))))) - (((M31_4) * (conv_tmp_5745_94)))); +let conv_mod_tmp_5745_129 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_67))))) + (((M31_1) * (conv_tmp_5745_73))))) + (((M31_32) * (conv_tmp_5745_74))))) - (((M31_4) * (conv_tmp_5745_95)))); +let conv_mod_tmp_5745_130 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_68))))) + (((M31_1) * (conv_tmp_5745_74))))) + (((M31_32) * (conv_tmp_5745_75))))) - (((M31_4) * (conv_tmp_5745_96)))); +let conv_mod_tmp_5745_131 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_69))))) + (((M31_1) * (conv_tmp_5745_75))))) + (((M31_32) * (conv_tmp_5745_76))))) - (((M31_4) * (conv_tmp_5745_97)))); +let conv_mod_tmp_5745_132 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_70))))) + (((M31_1) * (conv_tmp_5745_76))))) + (((M31_32) * (conv_tmp_5745_77))))) - (((M31_4) * (conv_tmp_5745_98)))); +let conv_mod_tmp_5745_133 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_71))))) + (((M31_1) * (conv_tmp_5745_77))))) + (((M31_32) * (conv_tmp_5745_78))))) - (((M31_4) * (conv_tmp_5745_99)))); +let conv_mod_tmp_5745_134 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_72))))) + (((M31_1) * (conv_tmp_5745_78))))) + (((M31_32) * (conv_tmp_5745_79))))) - (((M31_4) * (conv_tmp_5745_100)))); +let conv_mod_tmp_5745_135 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_73))))) + (((M31_1) * (conv_tmp_5745_79))))) + (((M31_32) * (conv_tmp_5745_80))))) - (((M31_4) * (conv_tmp_5745_101)))); +let conv_mod_tmp_5745_136 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_74))))) + (((M31_1) * (conv_tmp_5745_80))))) + (((M31_32) * (conv_tmp_5745_81))))) - (((M31_4) * (conv_tmp_5745_102)))); +let conv_mod_tmp_5745_137 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_75))))) + (((M31_1) * (conv_tmp_5745_81))))) + (((M31_32) * (conv_tmp_5745_82))))) - (((M31_4) * (conv_tmp_5745_103)))); +let conv_mod_tmp_5745_138 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_76))))) + (((M31_1) * (conv_tmp_5745_82))))) - (((M31_4) * (conv_tmp_5745_104))))) + (((M31_64) * (conv_tmp_5745_111)))); +let conv_mod_tmp_5745_139 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_77))))) - (((M31_4) * (conv_tmp_5745_105))))) + (((M31_2) * (conv_tmp_5745_111))))) + (((M31_64) * (conv_tmp_5745_112)))); +let conv_mod_tmp_5745_140 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_78))))) - (((M31_4) * (conv_tmp_5745_106))))) + (((M31_2) * (conv_tmp_5745_112))))) + (((M31_64) * (conv_tmp_5745_113)))); +let conv_mod_tmp_5745_141 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_79))))) - (((M31_4) * (conv_tmp_5745_107))))) + (((M31_2) * (conv_tmp_5745_113))))) + (((M31_64) * (conv_tmp_5745_114)))); +let conv_mod_tmp_5745_142 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_80))))) - (((M31_4) * (conv_tmp_5745_108))))) + (((M31_2) * (conv_tmp_5745_114))))) + (((M31_64) * (conv_tmp_5745_115)))); +let conv_mod_tmp_5745_143 = ((((((((M31_0) + (((M31_2) * (conv_tmp_5745_81))))) - (((M31_4) * (conv_tmp_5745_109))))) + (((M31_2) * (conv_tmp_5745_115))))) + (((M31_64) * (conv_tmp_5745_116)))); +let conv_mod_tmp_5745_144 = ((((((M31_0) + (((M31_2) * (conv_tmp_5745_82))))) - (((M31_4) * (conv_tmp_5745_110))))) + (((M31_2) * (conv_tmp_5745_116)))); +let k_mod_2_18_biased_tmp_5745_145 = ((((((PackedUInt32::from_m31(((conv_mod_tmp_5745_117) + (M31_134217728)))) + (((((PackedUInt32::from_m31(((conv_mod_tmp_5745_118) + (M31_134217728)))) & (UInt32_511))) << (UInt32_9))))) + (UInt32_65536))) & (UInt32_262143)); +let k_col165 = ((k_mod_2_18_biased_tmp_5745_145.low().as_m31()) + (((((k_mod_2_18_biased_tmp_5745_145.high().as_m31()) - (M31_1))) * (M31_65536)))); trace[165].data[row_index] = k_col165; sub_components_inputs @@ -928,7 +920,7 @@ sub_components_inputs .extend([((k_col165) + (M31_262144))].unpack()); lookup_data.rangecheck_19[0].push([((k_col165) + (M31_262144))]); -let carry_0_col166 = ((((((conv_mod_tmp_837) - (((M31_1) * (k_col165))))) + (M31_0))) * (M31_4194304)); +let carry_0_col166 = ((((((conv_mod_tmp_5745_117) - (((M31_1) * (k_col165))))) + (M31_0))) * (M31_4194304)); trace[166].data[row_index] = carry_0_col166; sub_components_inputs @@ -936,7 +928,7 @@ sub_components_inputs .extend([((carry_0_col166) + (M31_131072))].unpack()); lookup_data.rangecheck_19[1].push([((carry_0_col166) + (M31_131072))]); -let carry_1_col167 = ((((conv_mod_tmp_838) + (carry_0_col166))) * (M31_4194304)); +let carry_1_col167 = ((((conv_mod_tmp_5745_118) + (carry_0_col166))) * (M31_4194304)); trace[167].data[row_index] = carry_1_col167; sub_components_inputs @@ -944,7 +936,7 @@ sub_components_inputs .extend([((carry_1_col167) + (M31_131072))].unpack()); lookup_data.rangecheck_19[2].push([((carry_1_col167) + (M31_131072))]); -let carry_2_col168 = ((((conv_mod_tmp_839) + (carry_1_col167))) * (M31_4194304)); +let carry_2_col168 = ((((conv_mod_tmp_5745_119) + (carry_1_col167))) * (M31_4194304)); trace[168].data[row_index] = carry_2_col168; sub_components_inputs @@ -952,7 +944,7 @@ sub_components_inputs .extend([((carry_2_col168) + (M31_131072))].unpack()); lookup_data.rangecheck_19[3].push([((carry_2_col168) + (M31_131072))]); -let carry_3_col169 = ((((conv_mod_tmp_840) + (carry_2_col168))) * (M31_4194304)); +let carry_3_col169 = ((((conv_mod_tmp_5745_120) + (carry_2_col168))) * (M31_4194304)); trace[169].data[row_index] = carry_3_col169; sub_components_inputs @@ -960,7 +952,7 @@ sub_components_inputs .extend([((carry_3_col169) + (M31_131072))].unpack()); lookup_data.rangecheck_19[4].push([((carry_3_col169) + (M31_131072))]); -let carry_4_col170 = ((((conv_mod_tmp_841) + (carry_3_col169))) * (M31_4194304)); +let carry_4_col170 = ((((conv_mod_tmp_5745_121) + (carry_3_col169))) * (M31_4194304)); trace[170].data[row_index] = carry_4_col170; sub_components_inputs @@ -968,7 +960,7 @@ sub_components_inputs .extend([((carry_4_col170) + (M31_131072))].unpack()); lookup_data.rangecheck_19[5].push([((carry_4_col170) + (M31_131072))]); -let carry_5_col171 = ((((conv_mod_tmp_842) + (carry_4_col170))) * (M31_4194304)); +let carry_5_col171 = ((((conv_mod_tmp_5745_122) + (carry_4_col170))) * (M31_4194304)); trace[171].data[row_index] = carry_5_col171; sub_components_inputs @@ -976,7 +968,7 @@ sub_components_inputs .extend([((carry_5_col171) + (M31_131072))].unpack()); lookup_data.rangecheck_19[6].push([((carry_5_col171) + (M31_131072))]); -let carry_6_col172 = ((((conv_mod_tmp_843) + (carry_5_col171))) * (M31_4194304)); +let carry_6_col172 = ((((conv_mod_tmp_5745_123) + (carry_5_col171))) * (M31_4194304)); trace[172].data[row_index] = carry_6_col172; sub_components_inputs @@ -984,7 +976,7 @@ sub_components_inputs .extend([((carry_6_col172) + (M31_131072))].unpack()); lookup_data.rangecheck_19[7].push([((carry_6_col172) + (M31_131072))]); -let carry_7_col173 = ((((conv_mod_tmp_844) + (carry_6_col172))) * (M31_4194304)); +let carry_7_col173 = ((((conv_mod_tmp_5745_124) + (carry_6_col172))) * (M31_4194304)); trace[173].data[row_index] = carry_7_col173; sub_components_inputs @@ -992,7 +984,7 @@ sub_components_inputs .extend([((carry_7_col173) + (M31_131072))].unpack()); lookup_data.rangecheck_19[8].push([((carry_7_col173) + (M31_131072))]); -let carry_8_col174 = ((((conv_mod_tmp_845) + (carry_7_col173))) * (M31_4194304)); +let carry_8_col174 = ((((conv_mod_tmp_5745_125) + (carry_7_col173))) * (M31_4194304)); trace[174].data[row_index] = carry_8_col174; sub_components_inputs @@ -1000,7 +992,7 @@ sub_components_inputs .extend([((carry_8_col174) + (M31_131072))].unpack()); lookup_data.rangecheck_19[9].push([((carry_8_col174) + (M31_131072))]); -let carry_9_col175 = ((((conv_mod_tmp_846) + (carry_8_col174))) * (M31_4194304)); +let carry_9_col175 = ((((conv_mod_tmp_5745_126) + (carry_8_col174))) * (M31_4194304)); trace[175].data[row_index] = carry_9_col175; sub_components_inputs @@ -1008,7 +1000,7 @@ sub_components_inputs .extend([((carry_9_col175) + (M31_131072))].unpack()); lookup_data.rangecheck_19[10].push([((carry_9_col175) + (M31_131072))]); -let carry_10_col176 = ((((conv_mod_tmp_847) + (carry_9_col175))) * (M31_4194304)); +let carry_10_col176 = ((((conv_mod_tmp_5745_127) + (carry_9_col175))) * (M31_4194304)); trace[176].data[row_index] = carry_10_col176; sub_components_inputs @@ -1016,7 +1008,7 @@ sub_components_inputs .extend([((carry_10_col176) + (M31_131072))].unpack()); lookup_data.rangecheck_19[11].push([((carry_10_col176) + (M31_131072))]); -let carry_11_col177 = ((((conv_mod_tmp_848) + (carry_10_col176))) * (M31_4194304)); +let carry_11_col177 = ((((conv_mod_tmp_5745_128) + (carry_10_col176))) * (M31_4194304)); trace[177].data[row_index] = carry_11_col177; sub_components_inputs @@ -1024,7 +1016,7 @@ sub_components_inputs .extend([((carry_11_col177) + (M31_131072))].unpack()); lookup_data.rangecheck_19[12].push([((carry_11_col177) + (M31_131072))]); -let carry_12_col178 = ((((conv_mod_tmp_849) + (carry_11_col177))) * (M31_4194304)); +let carry_12_col178 = ((((conv_mod_tmp_5745_129) + (carry_11_col177))) * (M31_4194304)); trace[178].data[row_index] = carry_12_col178; sub_components_inputs @@ -1032,7 +1024,7 @@ sub_components_inputs .extend([((carry_12_col178) + (M31_131072))].unpack()); lookup_data.rangecheck_19[13].push([((carry_12_col178) + (M31_131072))]); -let carry_13_col179 = ((((conv_mod_tmp_850) + (carry_12_col178))) * (M31_4194304)); +let carry_13_col179 = ((((conv_mod_tmp_5745_130) + (carry_12_col178))) * (M31_4194304)); trace[179].data[row_index] = carry_13_col179; sub_components_inputs @@ -1040,7 +1032,7 @@ sub_components_inputs .extend([((carry_13_col179) + (M31_131072))].unpack()); lookup_data.rangecheck_19[14].push([((carry_13_col179) + (M31_131072))]); -let carry_14_col180 = ((((conv_mod_tmp_851) + (carry_13_col179))) * (M31_4194304)); +let carry_14_col180 = ((((conv_mod_tmp_5745_131) + (carry_13_col179))) * (M31_4194304)); trace[180].data[row_index] = carry_14_col180; sub_components_inputs @@ -1048,7 +1040,7 @@ sub_components_inputs .extend([((carry_14_col180) + (M31_131072))].unpack()); lookup_data.rangecheck_19[15].push([((carry_14_col180) + (M31_131072))]); -let carry_15_col181 = ((((conv_mod_tmp_852) + (carry_14_col180))) * (M31_4194304)); +let carry_15_col181 = ((((conv_mod_tmp_5745_132) + (carry_14_col180))) * (M31_4194304)); trace[181].data[row_index] = carry_15_col181; sub_components_inputs @@ -1056,7 +1048,7 @@ sub_components_inputs .extend([((carry_15_col181) + (M31_131072))].unpack()); lookup_data.rangecheck_19[16].push([((carry_15_col181) + (M31_131072))]); -let carry_16_col182 = ((((conv_mod_tmp_853) + (carry_15_col181))) * (M31_4194304)); +let carry_16_col182 = ((((conv_mod_tmp_5745_133) + (carry_15_col181))) * (M31_4194304)); trace[182].data[row_index] = carry_16_col182; sub_components_inputs @@ -1064,7 +1056,7 @@ sub_components_inputs .extend([((carry_16_col182) + (M31_131072))].unpack()); lookup_data.rangecheck_19[17].push([((carry_16_col182) + (M31_131072))]); -let carry_17_col183 = ((((conv_mod_tmp_854) + (carry_16_col182))) * (M31_4194304)); +let carry_17_col183 = ((((conv_mod_tmp_5745_134) + (carry_16_col182))) * (M31_4194304)); trace[183].data[row_index] = carry_17_col183; sub_components_inputs @@ -1072,7 +1064,7 @@ sub_components_inputs .extend([((carry_17_col183) + (M31_131072))].unpack()); lookup_data.rangecheck_19[18].push([((carry_17_col183) + (M31_131072))]); -let carry_18_col184 = ((((conv_mod_tmp_855) + (carry_17_col183))) * (M31_4194304)); +let carry_18_col184 = ((((conv_mod_tmp_5745_135) + (carry_17_col183))) * (M31_4194304)); trace[184].data[row_index] = carry_18_col184; sub_components_inputs @@ -1080,7 +1072,7 @@ sub_components_inputs .extend([((carry_18_col184) + (M31_131072))].unpack()); lookup_data.rangecheck_19[19].push([((carry_18_col184) + (M31_131072))]); -let carry_19_col185 = ((((conv_mod_tmp_856) + (carry_18_col184))) * (M31_4194304)); +let carry_19_col185 = ((((conv_mod_tmp_5745_136) + (carry_18_col184))) * (M31_4194304)); trace[185].data[row_index] = carry_19_col185; sub_components_inputs @@ -1088,7 +1080,7 @@ sub_components_inputs .extend([((carry_19_col185) + (M31_131072))].unpack()); lookup_data.rangecheck_19[20].push([((carry_19_col185) + (M31_131072))]); -let carry_20_col186 = ((((conv_mod_tmp_857) + (carry_19_col185))) * (M31_4194304)); +let carry_20_col186 = ((((conv_mod_tmp_5745_137) + (carry_19_col185))) * (M31_4194304)); trace[186].data[row_index] = carry_20_col186; sub_components_inputs @@ -1096,7 +1088,7 @@ sub_components_inputs .extend([((carry_20_col186) + (M31_131072))].unpack()); lookup_data.rangecheck_19[21].push([((carry_20_col186) + (M31_131072))]); -let carry_21_col187 = ((((((conv_mod_tmp_858) - (((M31_136) * (k_col165))))) + (carry_20_col186))) * (M31_4194304)); +let carry_21_col187 = ((((((conv_mod_tmp_5745_138) - (((M31_136) * (k_col165))))) + (carry_20_col186))) * (M31_4194304)); trace[187].data[row_index] = carry_21_col187; sub_components_inputs @@ -1104,7 +1096,7 @@ sub_components_inputs .extend([((carry_21_col187) + (M31_131072))].unpack()); lookup_data.rangecheck_19[22].push([((carry_21_col187) + (M31_131072))]); -let carry_22_col188 = ((((conv_mod_tmp_859) + (carry_21_col187))) * (M31_4194304)); +let carry_22_col188 = ((((conv_mod_tmp_5745_139) + (carry_21_col187))) * (M31_4194304)); trace[188].data[row_index] = carry_22_col188; sub_components_inputs @@ -1112,7 +1104,7 @@ sub_components_inputs .extend([((carry_22_col188) + (M31_131072))].unpack()); lookup_data.rangecheck_19[23].push([((carry_22_col188) + (M31_131072))]); -let carry_23_col189 = ((((conv_mod_tmp_860) + (carry_22_col188))) * (M31_4194304)); +let carry_23_col189 = ((((conv_mod_tmp_5745_140) + (carry_22_col188))) * (M31_4194304)); trace[189].data[row_index] = carry_23_col189; sub_components_inputs @@ -1120,7 +1112,7 @@ sub_components_inputs .extend([((carry_23_col189) + (M31_131072))].unpack()); lookup_data.rangecheck_19[24].push([((carry_23_col189) + (M31_131072))]); -let carry_24_col190 = ((((conv_mod_tmp_861) + (carry_23_col189))) * (M31_4194304)); +let carry_24_col190 = ((((conv_mod_tmp_5745_141) + (carry_23_col189))) * (M31_4194304)); trace[190].data[row_index] = carry_24_col190; sub_components_inputs @@ -1128,7 +1120,7 @@ sub_components_inputs .extend([((carry_24_col190) + (M31_131072))].unpack()); lookup_data.rangecheck_19[25].push([((carry_24_col190) + (M31_131072))]); -let carry_25_col191 = ((((conv_mod_tmp_862) + (carry_24_col190))) * (M31_4194304)); +let carry_25_col191 = ((((conv_mod_tmp_5745_142) + (carry_24_col190))) * (M31_4194304)); trace[191].data[row_index] = carry_25_col191; sub_components_inputs @@ -1136,7 +1128,7 @@ sub_components_inputs .extend([((carry_25_col191) + (M31_131072))].unpack()); lookup_data.rangecheck_19[26].push([((carry_25_col191) + (M31_131072))]); -let carry_26_col192 = ((((conv_mod_tmp_863) + (carry_25_col191))) * (M31_4194304)); +let carry_26_col192 = ((((conv_mod_tmp_5745_143) + (carry_25_col191))) * (M31_4194304)); trace[192].data[row_index] = carry_26_col192; sub_components_inputs @@ -1150,126 +1142,86 @@ lookup_data.rangecheck_19[27].push([((carry_26_col192) + (M31_131072))]); -let res_tmp_894 = ((((((PackedFelt252::from_m31(res_op1_tmp_226)) * (PackedFelt252::from_limbs([op1_limb_0_col80, op1_limb_1_col81, op1_limb_2_col82, op1_limb_3_col83, op1_limb_4_col84, op1_limb_5_col85, op1_limb_6_col86, op1_limb_7_col87, op1_limb_8_col88, op1_limb_9_col89, op1_limb_10_col90, op1_limb_11_col91, op1_limb_12_col92, op1_limb_13_col93, op1_limb_14_col94, op1_limb_15_col95, op1_limb_16_col96, op1_limb_17_col97, op1_limb_18_col98, op1_limb_19_col99, op1_limb_20_col100, op1_limb_21_col101, op1_limb_22_col102, op1_limb_23_col103, op1_limb_24_col104, op1_limb_25_col105, op1_limb_26_col106, op1_limb_27_col107])))) + (((PackedFelt252::from_m31(res_mul_col12)) * (mul_res_tmp_767))))) + (((PackedFelt252::from_m31(res_add_col11)) * (add_res_tmp_724)))); -let res_limb_0_col193 = res_tmp_894.get_m31(0); +let res_tmp_5745_146 = ((((((PackedFelt252::from_m31(res_op1_tmp_5745_22)) * (PackedFelt252::from_limbs([op1_limb_0_col80, op1_limb_1_col81, op1_limb_2_col82, op1_limb_3_col83, op1_limb_4_col84, op1_limb_5_col85, op1_limb_6_col86, op1_limb_7_col87, op1_limb_8_col88, op1_limb_9_col89, op1_limb_10_col90, op1_limb_11_col91, op1_limb_12_col92, op1_limb_13_col93, op1_limb_14_col94, op1_limb_15_col95, op1_limb_16_col96, op1_limb_17_col97, op1_limb_18_col98, op1_limb_19_col99, op1_limb_20_col100, op1_limb_21_col101, op1_limb_22_col102, op1_limb_23_col103, op1_limb_24_col104, op1_limb_25_col105, op1_limb_26_col106, op1_limb_27_col107])))) + (((PackedFelt252::from_m31(res_mul_col12)) * (mul_res_tmp_5745_61))))) + (((PackedFelt252::from_m31(res_add_col11)) * (add_res_tmp_5745_32)))); +let res_limb_0_col193 = res_tmp_5745_146.get_m31(0); trace[193].data[row_index] = res_limb_0_col193; -let res_limb_1_col194 = res_tmp_894.get_m31(1); +let res_limb_1_col194 = res_tmp_5745_146.get_m31(1); trace[194].data[row_index] = res_limb_1_col194; -let res_limb_2_col195 = res_tmp_894.get_m31(2); +let res_limb_2_col195 = res_tmp_5745_146.get_m31(2); trace[195].data[row_index] = res_limb_2_col195; -let res_limb_3_col196 = res_tmp_894.get_m31(3); +let res_limb_3_col196 = res_tmp_5745_146.get_m31(3); trace[196].data[row_index] = res_limb_3_col196; -let res_limb_4_col197 = res_tmp_894.get_m31(4); +let res_limb_4_col197 = res_tmp_5745_146.get_m31(4); trace[197].data[row_index] = res_limb_4_col197; -let res_limb_5_col198 = res_tmp_894.get_m31(5); +let res_limb_5_col198 = res_tmp_5745_146.get_m31(5); trace[198].data[row_index] = res_limb_5_col198; -let res_limb_6_col199 = res_tmp_894.get_m31(6); +let res_limb_6_col199 = res_tmp_5745_146.get_m31(6); trace[199].data[row_index] = res_limb_6_col199; -let res_limb_7_col200 = res_tmp_894.get_m31(7); +let res_limb_7_col200 = res_tmp_5745_146.get_m31(7); trace[200].data[row_index] = res_limb_7_col200; -let res_limb_8_col201 = res_tmp_894.get_m31(8); +let res_limb_8_col201 = res_tmp_5745_146.get_m31(8); trace[201].data[row_index] = res_limb_8_col201; -let res_limb_9_col202 = res_tmp_894.get_m31(9); +let res_limb_9_col202 = res_tmp_5745_146.get_m31(9); trace[202].data[row_index] = res_limb_9_col202; -let res_limb_10_col203 = res_tmp_894.get_m31(10); +let res_limb_10_col203 = res_tmp_5745_146.get_m31(10); trace[203].data[row_index] = res_limb_10_col203; -let res_limb_11_col204 = res_tmp_894.get_m31(11); +let res_limb_11_col204 = res_tmp_5745_146.get_m31(11); trace[204].data[row_index] = res_limb_11_col204; -let res_limb_12_col205 = res_tmp_894.get_m31(12); +let res_limb_12_col205 = res_tmp_5745_146.get_m31(12); trace[205].data[row_index] = res_limb_12_col205; -let res_limb_13_col206 = res_tmp_894.get_m31(13); +let res_limb_13_col206 = res_tmp_5745_146.get_m31(13); trace[206].data[row_index] = res_limb_13_col206; -let res_limb_14_col207 = res_tmp_894.get_m31(14); +let res_limb_14_col207 = res_tmp_5745_146.get_m31(14); trace[207].data[row_index] = res_limb_14_col207; -let res_limb_15_col208 = res_tmp_894.get_m31(15); +let res_limb_15_col208 = res_tmp_5745_146.get_m31(15); trace[208].data[row_index] = res_limb_15_col208; -let res_limb_16_col209 = res_tmp_894.get_m31(16); +let res_limb_16_col209 = res_tmp_5745_146.get_m31(16); trace[209].data[row_index] = res_limb_16_col209; -let res_limb_17_col210 = res_tmp_894.get_m31(17); +let res_limb_17_col210 = res_tmp_5745_146.get_m31(17); trace[210].data[row_index] = res_limb_17_col210; -let res_limb_18_col211 = res_tmp_894.get_m31(18); +let res_limb_18_col211 = res_tmp_5745_146.get_m31(18); trace[211].data[row_index] = res_limb_18_col211; -let res_limb_19_col212 = res_tmp_894.get_m31(19); +let res_limb_19_col212 = res_tmp_5745_146.get_m31(19); trace[212].data[row_index] = res_limb_19_col212; -let res_limb_20_col213 = res_tmp_894.get_m31(20); +let res_limb_20_col213 = res_tmp_5745_146.get_m31(20); trace[213].data[row_index] = res_limb_20_col213; -let res_limb_21_col214 = res_tmp_894.get_m31(21); +let res_limb_21_col214 = res_tmp_5745_146.get_m31(21); trace[214].data[row_index] = res_limb_21_col214; -let res_limb_22_col215 = res_tmp_894.get_m31(22); +let res_limb_22_col215 = res_tmp_5745_146.get_m31(22); trace[215].data[row_index] = res_limb_22_col215; -let res_limb_23_col216 = res_tmp_894.get_m31(23); +let res_limb_23_col216 = res_tmp_5745_146.get_m31(23); trace[216].data[row_index] = res_limb_23_col216; -let res_limb_24_col217 = res_tmp_894.get_m31(24); +let res_limb_24_col217 = res_tmp_5745_146.get_m31(24); trace[217].data[row_index] = res_limb_24_col217; -let res_limb_25_col218 = res_tmp_894.get_m31(25); +let res_limb_25_col218 = res_tmp_5745_146.get_m31(25); trace[218].data[row_index] = res_limb_25_col218; -let res_limb_26_col219 = res_tmp_894.get_m31(26); +let res_limb_26_col219 = res_tmp_5745_146.get_m31(26); trace[219].data[row_index] = res_limb_26_col219; -let res_limb_27_col220 = res_tmp_894.get_m31(27); +let res_limb_27_col220 = res_tmp_5745_146.get_m31(27); trace[220].data[row_index] = res_limb_27_col220; - //handle_opcodes. - - - - - //cond_felt252_as_addr. - - - - - - - - //cond_felt252_as_addr. - - - - - - - - - - - //update_registers. - - - - - //cond_felt252_as_addr. - - - - - - - - //cond_felt252_as_addr. - - - + //UpdateRegisters. - //cond_felt252_as_rel_imm. + //CondFelt252AsRelImm. - //cond_decode_small_sign. + //CondDecodeSmallSign. -let msb_tmp_908 = res_limb_27_col220.eq(M31_256); -let msb_col221 = msb_tmp_908.as_m31(); +let msb_tmp_5745_148 = res_limb_27_col220.eq(M31_256); +let msb_col221 = msb_tmp_5745_148.as_m31(); trace[221].data[row_index] = msb_col221; -let mid_limbs_set_tmp_909 = res_limb_20_col213.eq(M31_511); -let mid_limbs_set_col222 = mid_limbs_set_tmp_909.as_m31(); +let mid_limbs_set_tmp_5745_149 = res_limb_20_col213.eq(M31_511); +let mid_limbs_set_col222 = mid_limbs_set_tmp_5745_149.as_m31(); trace[222].data[row_index] = mid_limbs_set_col222; @@ -1277,31 +1229,31 @@ let mid_limbs_set_col222 = mid_limbs_set_tmp_909.as_m31(); -let diff_from_p_tmp_910 = ((dst_limb_0_col22) - (M31_1)); -let diff_from_p_tmp_911 = ((dst_limb_21_col43) - (M31_136)); -let diff_from_p_tmp_912 = ((dst_limb_27_col49) - (M31_256)); -let dst_sum_squares_inv_col223 = ((M31_1) .div (((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((diff_from_p_tmp_910) * (diff_from_p_tmp_910))))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (((diff_from_p_tmp_911) * (diff_from_p_tmp_911))))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (((diff_from_p_tmp_912) * (diff_from_p_tmp_912)))))); +let diff_from_p_tmp_5745_150 = ((dst_limb_0_col22) - (M31_1)); +let diff_from_p_tmp_5745_151 = ((dst_limb_21_col43) - (M31_136)); +let diff_from_p_tmp_5745_152 = ((dst_limb_27_col49) - (M31_256)); +let dst_sum_squares_inv_col223 = ((M31_1) .div (((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (((diff_from_p_tmp_5745_150) * (diff_from_p_tmp_5745_150))))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (((diff_from_p_tmp_5745_151) * (diff_from_p_tmp_5745_151))))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (((diff_from_p_tmp_5745_152) * (diff_from_p_tmp_5745_152)))))); trace[223].data[row_index] = dst_sum_squares_inv_col223; -let dst_is_zero_tmp_913 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (dst_limb_0_col22))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (dst_limb_21_col43))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (dst_limb_27_col49)).eq(M31_0); -let dst_sum_inv_col224 = ((M31_1) .div (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (dst_limb_0_col22))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (dst_limb_21_col43))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (dst_limb_27_col49))) + (dst_is_zero_tmp_913.as_m31())))); +let dst_is_zero_tmp_5745_153 = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (dst_limb_0_col22))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (dst_limb_21_col43))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (dst_limb_27_col49)).eq(M31_0); +let dst_sum_inv_col224 = ((M31_1) .div (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (dst_limb_0_col22))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (dst_limb_21_col43))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (dst_limb_27_col49))) + (dst_is_zero_tmp_5745_153.as_m31())))); trace[224].data[row_index] = dst_sum_inv_col224; let op1_as_rel_imm_cond_col225 = ((pc_update_jnz_col15) * (((((((((((((((((((((((((((((((((((((((((((((((((((((((((M31_0) + (dst_limb_0_col22))) + (dst_limb_1_col23))) + (dst_limb_2_col24))) + (dst_limb_3_col25))) + (dst_limb_4_col26))) + (dst_limb_5_col27))) + (dst_limb_6_col28))) + (dst_limb_7_col29))) + (dst_limb_8_col30))) + (dst_limb_9_col31))) + (dst_limb_10_col32))) + (dst_limb_11_col33))) + (dst_limb_12_col34))) + (dst_limb_13_col35))) + (dst_limb_14_col36))) + (dst_limb_15_col37))) + (dst_limb_16_col38))) + (dst_limb_17_col39))) + (dst_limb_18_col40))) + (dst_limb_19_col41))) + (dst_limb_20_col42))) + (dst_limb_21_col43))) + (dst_limb_22_col44))) + (dst_limb_23_col45))) + (dst_limb_24_col46))) + (dst_limb_25_col47))) + (dst_limb_26_col48))) + (dst_limb_27_col49)))); trace[225].data[row_index] = op1_as_rel_imm_cond_col225; - //cond_felt252_as_rel_imm. + //CondFelt252AsRelImm. - //cond_decode_small_sign. + //CondDecodeSmallSign. -let msb_tmp_914 = op1_limb_27_col107.eq(M31_256); -let msb_col226 = msb_tmp_914.as_m31(); +let msb_tmp_5745_154 = op1_limb_27_col107.eq(M31_256); +let msb_col226 = msb_tmp_5745_154.as_m31(); trace[226].data[row_index] = msb_col226; -let mid_limbs_set_tmp_915 = op1_limb_20_col100.eq(M31_511); -let mid_limbs_set_col227 = mid_limbs_set_tmp_915.as_m31(); +let mid_limbs_set_tmp_5745_155 = op1_limb_20_col100.eq(M31_511); +let mid_limbs_set_col227 = mid_limbs_set_tmp_5745_155.as_m31(); trace[227].data[row_index] = mid_limbs_set_col227; @@ -1309,13 +1261,13 @@ let mid_limbs_set_col227 = mid_limbs_set_tmp_915.as_m31(); -let next_pc_jnz_col228 = ((((dst_is_zero_tmp_913.as_m31()) * (((input_pc_col0) + (((M31_1) + (op1_imm_col8))))))) + (((((M31_1) - (dst_is_zero_tmp_913.as_m31()))) * (((input_pc_col0) + (((((((((op1_limb_0_col80) + (((op1_limb_1_col81) * (M31_512))))) + (((op1_limb_2_col82) * (M31_262144))))) - (msb_col226))) - (((M31_134217728) * (mid_limbs_set_col227)))))))))); +let next_pc_jnz_col228 = ((((dst_is_zero_tmp_5745_153.as_m31()) * (((input_pc_col0) + (((M31_1) + (op1_imm_col8))))))) + (((((M31_1) - (dst_is_zero_tmp_5745_153.as_m31()))) * (((input_pc_col0) + (((((((((op1_limb_0_col80) + (((op1_limb_1_col81) * (M31_512))))) + (((op1_limb_2_col82) * (M31_262144))))) - (msb_col226))) - (((M31_134217728) * (mid_limbs_set_col227)))))))))); trace[228].data[row_index] = next_pc_jnz_col228; lookup_data.opcodes[0].push([input_pc_col0, input_ap_col1, input_fp_col2]); -lookup_data.opcodes[1].push([((((((((pc_update_regular_tmp_227) * (((input_pc_col0) + (((M31_1) + (op1_imm_col8))))))) + (((pc_update_jump_col13) * (((((res_limb_0_col193) + (((res_limb_1_col194) * (M31_512))))) + (((res_limb_2_col195) * (M31_262144))))))))) + (((pc_update_jump_rel_col14) * (((input_pc_col0) + (((((((((res_limb_0_col193) + (((res_limb_1_col194) * (M31_512))))) + (((res_limb_2_col195) * (M31_262144))))) - (msb_col221))) - (((M31_134217728) * (mid_limbs_set_col222))))))))))) + (((pc_update_jnz_col15) * (next_pc_jnz_col228)))), ((((((input_ap_col1) + (((ap_update_add_col16) * (((((((((res_limb_0_col193) + (((res_limb_1_col194) * (M31_512))))) + (((res_limb_2_col195) * (M31_262144))))) - (msb_col221))) - (((M31_134217728) * (mid_limbs_set_col222))))))))) + (((ap_update_add_1_col17) * (M31_1))))) + (((opcode_call_col18) * (M31_2)))), ((((((fp_update_regular_tmp_229) * (input_fp_col2))) + (((opcode_ret_col19) * (((((dst_limb_0_col22) + (((dst_limb_1_col23) * (M31_512))))) + (((dst_limb_2_col24) * (M31_262144))))))))) + (((opcode_call_col18) * (((input_ap_col1) + (M31_2))))))]); +lookup_data.opcodes[1].push([((((((((pc_update_regular_tmp_5745_23) * (((input_pc_col0) + (((M31_1) + (op1_imm_col8))))))) + (((pc_update_jump_col13) * (((((res_limb_0_col193) + (((res_limb_1_col194) * (M31_512))))) + (((res_limb_2_col195) * (M31_262144))))))))) + (((pc_update_jump_rel_col14) * (((input_pc_col0) + (((((((((res_limb_0_col193) + (((res_limb_1_col194) * (M31_512))))) + (((res_limb_2_col195) * (M31_262144))))) - (msb_col221))) - (((M31_134217728) * (mid_limbs_set_col222))))))))))) + (((pc_update_jnz_col15) * (next_pc_jnz_col228)))), ((((((input_ap_col1) + (((ap_update_add_col16) * (((((((((res_limb_0_col193) + (((res_limb_1_col194) * (M31_512))))) + (((res_limb_2_col195) * (M31_262144))))) - (msb_col221))) - (((M31_134217728) * (mid_limbs_set_col222))))))))) + (((ap_update_add_1_col17) * (M31_1))))) + (((opcode_call_col18) * (M31_2)))), ((((((fp_update_regular_tmp_5745_25) * (input_fp_col2))) + (((opcode_ret_col19) * (((((dst_limb_0_col22) + (((dst_limb_1_col23) * (M31_512))))) + (((dst_limb_2_col24) * (M31_262144))))))))) + (((opcode_call_col18) * (((input_ap_col1) + (M31_2))))))]); }); @@ -1351,7 +1303,7 @@ impl InteractionClaimGenerator { &relations::RangeCheck_19, rangecheck_9_9_lookup_elements: &relations::RangeCheck_9_9, - verify_instruction_lookup_elements: + verifyinstruction_lookup_elements: &relations::VerifyInstruction, ) -> InteractionClaim { let log_size = std::cmp::max(self.n_calls.next_power_of_two().ilog2(), LOG_N_LANES); @@ -1362,7 +1314,7 @@ impl InteractionClaimGenerator { .verifyinstruction[0]; for (i, lookup_values) in lookup_row.iter().enumerate() { let denom = - verify_instruction_lookup_elements.combine(lookup_values); + verifyinstruction_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/component.rs index cd2e4291..2140dab3 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/component.rs @@ -116,9 +116,9 @@ impl FrameworkEval for Eval { let dst_limb_26_col32 = eval.next_trace_mask(); let dst_limb_27_col33 = eval.next_trace_mask(); - // decode_instruction_d2b4cd588a3e2a7b. + // DecodeInstruction_d2b4cd588a3e2a7b. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -139,20 +139,20 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col4.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + (offset0_col3.clone() - M31_32768.clone())), dst_id_col5.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -186,7 +186,7 @@ impl FrameworkEval for Eval { dst_limb_26_col32.clone(), dst_limb_27_col33.clone(), ], - )]); + )); // dst equals 0. eval.add_constraint( @@ -220,7 +220,7 @@ impl FrameworkEval for Eval { + dst_limb_26_col32.clone()) + dst_limb_27_col33.clone()), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -228,9 +228,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -238,7 +238,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col4.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/prover.rs index 58cad706..ad30b83a 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_f/prover.rs @@ -176,35 +176,35 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jnz_opcode_is_taken_f_dst_base_fp_f_input)| { - let input_tmp_1228 = jnz_opcode_is_taken_f_dst_base_fp_f_input; - let input_pc_col0 = input_tmp_1228.pc; + let input_tmp_c1ec_0 = jnz_opcode_is_taken_f_dst_base_fp_f_input; + let input_pc_col0 = input_tmp_c1ec_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1228.ap; + let input_ap_col1 = input_tmp_c1ec_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1228.fp; + let input_fp_col2 = input_tmp_c1ec_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_d2b4cd588a3e2a7b. + // DecodeInstruction_d2b4cd588a3e2a7b. - let memory_address_to_id_value_tmp_1234 = + let memoryaddresstoid_value_tmp_c1ec_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1235 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1234); - let offset0_tmp_1236 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1235.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1235.get_m31(1))) + let memoryidtobig_value_tmp_c1ec_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c1ec_1); + let offset0_tmp_c1ec_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c1ec_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_c1ec_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1236.as_m31(); + let offset0_col3 = offset0_tmp_c1ec_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let ap_update_add_1_tmp_1237 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1235.get_m31(5))) + let ap_update_add_1_tmp_c1ec_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_c1ec_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1235.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_c1ec_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col4 = ap_update_add_1_tmp_1237.as_m31(); + let ap_update_add_1_col4 = ap_update_add_1_tmp_c1ec_4.as_m31(); trace[4].data[row_index] = ap_update_add_1_col4; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -254,13 +254,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1239 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_c1ec_5 = memory_address_to_id_state .deduce_output(((input_ap_col1) + ((offset0_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_1240 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1239); - let dst_id_col5 = memory_address_to_id_value_tmp_1239; + let memoryidtobig_value_tmp_c1ec_6 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_c1ec_5); + let dst_id_col5 = memoryaddresstoid_value_tmp_c1ec_5; trace[5].data[row_index] = dst_id_col5; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_ap_col1) + ((offset0_col3) - (M31_32768))).unpack()); @@ -269,61 +269,61 @@ pub fn write_trace_simd( ((input_ap_col1) + ((offset0_col3) - (M31_32768))), dst_id_col5, ]); - let dst_limb_0_col6 = memory_id_to_big_value_tmp_1240.get_m31(0); + let dst_limb_0_col6 = memoryidtobig_value_tmp_c1ec_6.get_m31(0); trace[6].data[row_index] = dst_limb_0_col6; - let dst_limb_1_col7 = memory_id_to_big_value_tmp_1240.get_m31(1); + let dst_limb_1_col7 = memoryidtobig_value_tmp_c1ec_6.get_m31(1); trace[7].data[row_index] = dst_limb_1_col7; - let dst_limb_2_col8 = memory_id_to_big_value_tmp_1240.get_m31(2); + let dst_limb_2_col8 = memoryidtobig_value_tmp_c1ec_6.get_m31(2); trace[8].data[row_index] = dst_limb_2_col8; - let dst_limb_3_col9 = memory_id_to_big_value_tmp_1240.get_m31(3); + let dst_limb_3_col9 = memoryidtobig_value_tmp_c1ec_6.get_m31(3); trace[9].data[row_index] = dst_limb_3_col9; - let dst_limb_4_col10 = memory_id_to_big_value_tmp_1240.get_m31(4); + let dst_limb_4_col10 = memoryidtobig_value_tmp_c1ec_6.get_m31(4); trace[10].data[row_index] = dst_limb_4_col10; - let dst_limb_5_col11 = memory_id_to_big_value_tmp_1240.get_m31(5); + let dst_limb_5_col11 = memoryidtobig_value_tmp_c1ec_6.get_m31(5); trace[11].data[row_index] = dst_limb_5_col11; - let dst_limb_6_col12 = memory_id_to_big_value_tmp_1240.get_m31(6); + let dst_limb_6_col12 = memoryidtobig_value_tmp_c1ec_6.get_m31(6); trace[12].data[row_index] = dst_limb_6_col12; - let dst_limb_7_col13 = memory_id_to_big_value_tmp_1240.get_m31(7); + let dst_limb_7_col13 = memoryidtobig_value_tmp_c1ec_6.get_m31(7); trace[13].data[row_index] = dst_limb_7_col13; - let dst_limb_8_col14 = memory_id_to_big_value_tmp_1240.get_m31(8); + let dst_limb_8_col14 = memoryidtobig_value_tmp_c1ec_6.get_m31(8); trace[14].data[row_index] = dst_limb_8_col14; - let dst_limb_9_col15 = memory_id_to_big_value_tmp_1240.get_m31(9); + let dst_limb_9_col15 = memoryidtobig_value_tmp_c1ec_6.get_m31(9); trace[15].data[row_index] = dst_limb_9_col15; - let dst_limb_10_col16 = memory_id_to_big_value_tmp_1240.get_m31(10); + let dst_limb_10_col16 = memoryidtobig_value_tmp_c1ec_6.get_m31(10); trace[16].data[row_index] = dst_limb_10_col16; - let dst_limb_11_col17 = memory_id_to_big_value_tmp_1240.get_m31(11); + let dst_limb_11_col17 = memoryidtobig_value_tmp_c1ec_6.get_m31(11); trace[17].data[row_index] = dst_limb_11_col17; - let dst_limb_12_col18 = memory_id_to_big_value_tmp_1240.get_m31(12); + let dst_limb_12_col18 = memoryidtobig_value_tmp_c1ec_6.get_m31(12); trace[18].data[row_index] = dst_limb_12_col18; - let dst_limb_13_col19 = memory_id_to_big_value_tmp_1240.get_m31(13); + let dst_limb_13_col19 = memoryidtobig_value_tmp_c1ec_6.get_m31(13); trace[19].data[row_index] = dst_limb_13_col19; - let dst_limb_14_col20 = memory_id_to_big_value_tmp_1240.get_m31(14); + let dst_limb_14_col20 = memoryidtobig_value_tmp_c1ec_6.get_m31(14); trace[20].data[row_index] = dst_limb_14_col20; - let dst_limb_15_col21 = memory_id_to_big_value_tmp_1240.get_m31(15); + let dst_limb_15_col21 = memoryidtobig_value_tmp_c1ec_6.get_m31(15); trace[21].data[row_index] = dst_limb_15_col21; - let dst_limb_16_col22 = memory_id_to_big_value_tmp_1240.get_m31(16); + let dst_limb_16_col22 = memoryidtobig_value_tmp_c1ec_6.get_m31(16); trace[22].data[row_index] = dst_limb_16_col22; - let dst_limb_17_col23 = memory_id_to_big_value_tmp_1240.get_m31(17); + let dst_limb_17_col23 = memoryidtobig_value_tmp_c1ec_6.get_m31(17); trace[23].data[row_index] = dst_limb_17_col23; - let dst_limb_18_col24 = memory_id_to_big_value_tmp_1240.get_m31(18); + let dst_limb_18_col24 = memoryidtobig_value_tmp_c1ec_6.get_m31(18); trace[24].data[row_index] = dst_limb_18_col24; - let dst_limb_19_col25 = memory_id_to_big_value_tmp_1240.get_m31(19); + let dst_limb_19_col25 = memoryidtobig_value_tmp_c1ec_6.get_m31(19); trace[25].data[row_index] = dst_limb_19_col25; - let dst_limb_20_col26 = memory_id_to_big_value_tmp_1240.get_m31(20); + let dst_limb_20_col26 = memoryidtobig_value_tmp_c1ec_6.get_m31(20); trace[26].data[row_index] = dst_limb_20_col26; - let dst_limb_21_col27 = memory_id_to_big_value_tmp_1240.get_m31(21); + let dst_limb_21_col27 = memoryidtobig_value_tmp_c1ec_6.get_m31(21); trace[27].data[row_index] = dst_limb_21_col27; - let dst_limb_22_col28 = memory_id_to_big_value_tmp_1240.get_m31(22); + let dst_limb_22_col28 = memoryidtobig_value_tmp_c1ec_6.get_m31(22); trace[28].data[row_index] = dst_limb_22_col28; - let dst_limb_23_col29 = memory_id_to_big_value_tmp_1240.get_m31(23); + let dst_limb_23_col29 = memoryidtobig_value_tmp_c1ec_6.get_m31(23); trace[29].data[row_index] = dst_limb_23_col29; - let dst_limb_24_col30 = memory_id_to_big_value_tmp_1240.get_m31(24); + let dst_limb_24_col30 = memoryidtobig_value_tmp_c1ec_6.get_m31(24); trace[30].data[row_index] = dst_limb_24_col30; - let dst_limb_25_col31 = memory_id_to_big_value_tmp_1240.get_m31(25); + let dst_limb_25_col31 = memoryidtobig_value_tmp_c1ec_6.get_m31(25); trace[31].data[row_index] = dst_limb_25_col31; - let dst_limb_26_col32 = memory_id_to_big_value_tmp_1240.get_m31(26); + let dst_limb_26_col32 = memoryidtobig_value_tmp_c1ec_6.get_m31(26); trace[32].data[row_index] = dst_limb_26_col32; - let dst_limb_27_col33 = memory_id_to_big_value_tmp_1240.get_m31(27); + let dst_limb_27_col33 = memoryidtobig_value_tmp_c1ec_6.get_m31(27); trace[33].data[row_index] = dst_limb_27_col33; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col5.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/component.rs index 1507e81a..6587a759 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/component.rs @@ -116,9 +116,9 @@ impl FrameworkEval for Eval { let dst_limb_26_col32 = eval.next_trace_mask(); let dst_limb_27_col33 = eval.next_trace_mask(); - // decode_instruction_113648125c3c3f56. + // DecodeInstruction_113648125c3c3f56. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -139,20 +139,20 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col4.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_fp_col2.clone() + (offset0_col3.clone() - M31_32768.clone())), dst_id_col5.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -186,7 +186,7 @@ impl FrameworkEval for Eval { dst_limb_26_col32.clone(), dst_limb_27_col33.clone(), ], - )]); + )); // dst equals 0. eval.add_constraint( @@ -220,7 +220,7 @@ impl FrameworkEval for Eval { + dst_limb_26_col32.clone()) + dst_limb_27_col33.clone()), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -228,9 +228,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -238,7 +238,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col4.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/prover.rs index d85ab070..ea676002 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_f_dst_base_fp_t/prover.rs @@ -176,35 +176,35 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jnz_opcode_is_taken_f_dst_base_fp_t_input)| { - let input_tmp_1256 = jnz_opcode_is_taken_f_dst_base_fp_t_input; - let input_pc_col0 = input_tmp_1256.pc; + let input_tmp_1c37_0 = jnz_opcode_is_taken_f_dst_base_fp_t_input; + let input_pc_col0 = input_tmp_1c37_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1256.ap; + let input_ap_col1 = input_tmp_1c37_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1256.fp; + let input_fp_col2 = input_tmp_1c37_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_113648125c3c3f56. + // DecodeInstruction_113648125c3c3f56. - let memory_address_to_id_value_tmp_1257 = + let memoryaddresstoid_value_tmp_1c37_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1258 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1257); - let offset0_tmp_1259 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1258.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1258.get_m31(1))) + let memoryidtobig_value_tmp_1c37_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1c37_1); + let offset0_tmp_1c37_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1c37_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_1c37_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1259.as_m31(); + let offset0_col3 = offset0_tmp_1c37_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let ap_update_add_1_tmp_1260 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1258.get_m31(5))) + let ap_update_add_1_tmp_1c37_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_1c37_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1258.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1c37_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col4 = ap_update_add_1_tmp_1260.as_m31(); + let ap_update_add_1_col4 = ap_update_add_1_tmp_1c37_4.as_m31(); trace[4].data[row_index] = ap_update_add_1_col4; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -254,13 +254,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1262 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_1c37_5 = memory_address_to_id_state .deduce_output(((input_fp_col2) + ((offset0_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_1263 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1262); - let dst_id_col5 = memory_address_to_id_value_tmp_1262; + let memoryidtobig_value_tmp_1c37_6 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1c37_5); + let dst_id_col5 = memoryaddresstoid_value_tmp_1c37_5; trace[5].data[row_index] = dst_id_col5; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_fp_col2) + ((offset0_col3) - (M31_32768))).unpack()); @@ -269,61 +269,61 @@ pub fn write_trace_simd( ((input_fp_col2) + ((offset0_col3) - (M31_32768))), dst_id_col5, ]); - let dst_limb_0_col6 = memory_id_to_big_value_tmp_1263.get_m31(0); + let dst_limb_0_col6 = memoryidtobig_value_tmp_1c37_6.get_m31(0); trace[6].data[row_index] = dst_limb_0_col6; - let dst_limb_1_col7 = memory_id_to_big_value_tmp_1263.get_m31(1); + let dst_limb_1_col7 = memoryidtobig_value_tmp_1c37_6.get_m31(1); trace[7].data[row_index] = dst_limb_1_col7; - let dst_limb_2_col8 = memory_id_to_big_value_tmp_1263.get_m31(2); + let dst_limb_2_col8 = memoryidtobig_value_tmp_1c37_6.get_m31(2); trace[8].data[row_index] = dst_limb_2_col8; - let dst_limb_3_col9 = memory_id_to_big_value_tmp_1263.get_m31(3); + let dst_limb_3_col9 = memoryidtobig_value_tmp_1c37_6.get_m31(3); trace[9].data[row_index] = dst_limb_3_col9; - let dst_limb_4_col10 = memory_id_to_big_value_tmp_1263.get_m31(4); + let dst_limb_4_col10 = memoryidtobig_value_tmp_1c37_6.get_m31(4); trace[10].data[row_index] = dst_limb_4_col10; - let dst_limb_5_col11 = memory_id_to_big_value_tmp_1263.get_m31(5); + let dst_limb_5_col11 = memoryidtobig_value_tmp_1c37_6.get_m31(5); trace[11].data[row_index] = dst_limb_5_col11; - let dst_limb_6_col12 = memory_id_to_big_value_tmp_1263.get_m31(6); + let dst_limb_6_col12 = memoryidtobig_value_tmp_1c37_6.get_m31(6); trace[12].data[row_index] = dst_limb_6_col12; - let dst_limb_7_col13 = memory_id_to_big_value_tmp_1263.get_m31(7); + let dst_limb_7_col13 = memoryidtobig_value_tmp_1c37_6.get_m31(7); trace[13].data[row_index] = dst_limb_7_col13; - let dst_limb_8_col14 = memory_id_to_big_value_tmp_1263.get_m31(8); + let dst_limb_8_col14 = memoryidtobig_value_tmp_1c37_6.get_m31(8); trace[14].data[row_index] = dst_limb_8_col14; - let dst_limb_9_col15 = memory_id_to_big_value_tmp_1263.get_m31(9); + let dst_limb_9_col15 = memoryidtobig_value_tmp_1c37_6.get_m31(9); trace[15].data[row_index] = dst_limb_9_col15; - let dst_limb_10_col16 = memory_id_to_big_value_tmp_1263.get_m31(10); + let dst_limb_10_col16 = memoryidtobig_value_tmp_1c37_6.get_m31(10); trace[16].data[row_index] = dst_limb_10_col16; - let dst_limb_11_col17 = memory_id_to_big_value_tmp_1263.get_m31(11); + let dst_limb_11_col17 = memoryidtobig_value_tmp_1c37_6.get_m31(11); trace[17].data[row_index] = dst_limb_11_col17; - let dst_limb_12_col18 = memory_id_to_big_value_tmp_1263.get_m31(12); + let dst_limb_12_col18 = memoryidtobig_value_tmp_1c37_6.get_m31(12); trace[18].data[row_index] = dst_limb_12_col18; - let dst_limb_13_col19 = memory_id_to_big_value_tmp_1263.get_m31(13); + let dst_limb_13_col19 = memoryidtobig_value_tmp_1c37_6.get_m31(13); trace[19].data[row_index] = dst_limb_13_col19; - let dst_limb_14_col20 = memory_id_to_big_value_tmp_1263.get_m31(14); + let dst_limb_14_col20 = memoryidtobig_value_tmp_1c37_6.get_m31(14); trace[20].data[row_index] = dst_limb_14_col20; - let dst_limb_15_col21 = memory_id_to_big_value_tmp_1263.get_m31(15); + let dst_limb_15_col21 = memoryidtobig_value_tmp_1c37_6.get_m31(15); trace[21].data[row_index] = dst_limb_15_col21; - let dst_limb_16_col22 = memory_id_to_big_value_tmp_1263.get_m31(16); + let dst_limb_16_col22 = memoryidtobig_value_tmp_1c37_6.get_m31(16); trace[22].data[row_index] = dst_limb_16_col22; - let dst_limb_17_col23 = memory_id_to_big_value_tmp_1263.get_m31(17); + let dst_limb_17_col23 = memoryidtobig_value_tmp_1c37_6.get_m31(17); trace[23].data[row_index] = dst_limb_17_col23; - let dst_limb_18_col24 = memory_id_to_big_value_tmp_1263.get_m31(18); + let dst_limb_18_col24 = memoryidtobig_value_tmp_1c37_6.get_m31(18); trace[24].data[row_index] = dst_limb_18_col24; - let dst_limb_19_col25 = memory_id_to_big_value_tmp_1263.get_m31(19); + let dst_limb_19_col25 = memoryidtobig_value_tmp_1c37_6.get_m31(19); trace[25].data[row_index] = dst_limb_19_col25; - let dst_limb_20_col26 = memory_id_to_big_value_tmp_1263.get_m31(20); + let dst_limb_20_col26 = memoryidtobig_value_tmp_1c37_6.get_m31(20); trace[26].data[row_index] = dst_limb_20_col26; - let dst_limb_21_col27 = memory_id_to_big_value_tmp_1263.get_m31(21); + let dst_limb_21_col27 = memoryidtobig_value_tmp_1c37_6.get_m31(21); trace[27].data[row_index] = dst_limb_21_col27; - let dst_limb_22_col28 = memory_id_to_big_value_tmp_1263.get_m31(22); + let dst_limb_22_col28 = memoryidtobig_value_tmp_1c37_6.get_m31(22); trace[28].data[row_index] = dst_limb_22_col28; - let dst_limb_23_col29 = memory_id_to_big_value_tmp_1263.get_m31(23); + let dst_limb_23_col29 = memoryidtobig_value_tmp_1c37_6.get_m31(23); trace[29].data[row_index] = dst_limb_23_col29; - let dst_limb_24_col30 = memory_id_to_big_value_tmp_1263.get_m31(24); + let dst_limb_24_col30 = memoryidtobig_value_tmp_1c37_6.get_m31(24); trace[30].data[row_index] = dst_limb_24_col30; - let dst_limb_25_col31 = memory_id_to_big_value_tmp_1263.get_m31(25); + let dst_limb_25_col31 = memoryidtobig_value_tmp_1c37_6.get_m31(25); trace[31].data[row_index] = dst_limb_25_col31; - let dst_limb_26_col32 = memory_id_to_big_value_tmp_1263.get_m31(26); + let dst_limb_26_col32 = memoryidtobig_value_tmp_1c37_6.get_m31(26); trace[32].data[row_index] = dst_limb_26_col32; - let dst_limb_27_col33 = memory_id_to_big_value_tmp_1263.get_m31(27); + let dst_limb_27_col33 = memoryidtobig_value_tmp_1c37_6.get_m31(27); trace[33].data[row_index] = dst_limb_27_col33; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col5.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/component.rs index 3999f0fb..cbb4d0ca 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/component.rs @@ -129,9 +129,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col40 = eval.next_trace_mask(); let next_pc_limb_2_col41 = eval.next_trace_mask(); - // decode_instruction_d2b4cd588a3e2a7b. + // DecodeInstruction_d2b4cd588a3e2a7b. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -152,20 +152,20 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col4.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_ap_col1.clone() + (offset0_col3.clone() - M31_32768.clone())), dst_id_col5.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -199,7 +199,7 @@ impl FrameworkEval for Eval { dst_limb_26_col32.clone(), dst_limb_27_col33.clone(), ], - )]); + )); // dst doesn't equal 0. eval.add_constraint( @@ -235,14 +235,14 @@ impl FrameworkEval for Eval { * res_col34.clone()) - M31_1.clone()), ); - let diff_from_p_tmp_1249 = (dst_limb_0_col6.clone() - M31_1.clone()); - let diff_from_p_tmp_1250 = (dst_limb_21_col27.clone() - M31_136.clone()); - let diff_from_p_tmp_1251 = (dst_limb_27_col33.clone() - M31_256.clone()); + let diff_from_p_tmp_490d_7 = (dst_limb_0_col6.clone() - M31_1.clone()); + let diff_from_p_tmp_490d_8 = (dst_limb_21_col27.clone() - M31_136.clone()); + let diff_from_p_tmp_490d_9 = (dst_limb_27_col33.clone() - M31_256.clone()); // dst doesn't equal P. eval.add_constraint( ((((((((((((((((((((((((((((((M31_0.clone() - + (diff_from_p_tmp_1249.clone() - * diff_from_p_tmp_1249.clone())) + + (diff_from_p_tmp_490d_7.clone() + * diff_from_p_tmp_490d_7.clone())) + dst_limb_1_col7.clone()) + dst_limb_2_col8.clone()) + dst_limb_3_col9.clone()) @@ -263,29 +263,29 @@ impl FrameworkEval for Eval { + dst_limb_18_col24.clone()) + dst_limb_19_col25.clone()) + dst_limb_20_col26.clone()) - + (diff_from_p_tmp_1250.clone() * diff_from_p_tmp_1250.clone())) + + (diff_from_p_tmp_490d_8.clone() * diff_from_p_tmp_490d_8.clone())) + dst_limb_22_col28.clone()) + dst_limb_23_col29.clone()) + dst_limb_24_col30.clone()) + dst_limb_25_col31.clone()) + dst_limb_26_col32.clone()) - + (diff_from_p_tmp_1251.clone() * diff_from_p_tmp_1251.clone())) + + (diff_from_p_tmp_490d_9.clone() * diff_from_p_tmp_490d_9.clone())) * res_squares_col35.clone()) - M31_1.clone()), ); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), next_pc_id_col36.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col37.clone() * (msb_col37.clone() - M31_1.clone()))); @@ -298,7 +298,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col38.clone()) * (msb_col37.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -332,9 +332,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col37.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -342,9 +342,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -357,7 +357,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col4.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/prover.rs index 6fa732d0..7e59342a 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_f/prover.rs @@ -184,35 +184,35 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jnz_opcode_is_taken_t_dst_base_fp_f_input)| { - let input_tmp_1241 = jnz_opcode_is_taken_t_dst_base_fp_f_input; - let input_pc_col0 = input_tmp_1241.pc; + let input_tmp_490d_0 = jnz_opcode_is_taken_t_dst_base_fp_f_input; + let input_pc_col0 = input_tmp_490d_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1241.ap; + let input_ap_col1 = input_tmp_490d_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1241.fp; + let input_fp_col2 = input_tmp_490d_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_d2b4cd588a3e2a7b. + // DecodeInstruction_d2b4cd588a3e2a7b. - let memory_address_to_id_value_tmp_1242 = + let memoryaddresstoid_value_tmp_490d_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1243 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1242); - let offset0_tmp_1244 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1243.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1243.get_m31(1))) + let memoryidtobig_value_tmp_490d_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_490d_1); + let offset0_tmp_490d_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_490d_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_490d_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1244.as_m31(); + let offset0_col3 = offset0_tmp_490d_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let ap_update_add_1_tmp_1245 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1243.get_m31(5))) + let ap_update_add_1_tmp_490d_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_490d_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1243.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_490d_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col4 = ap_update_add_1_tmp_1245.as_m31(); + let ap_update_add_1_col4 = ap_update_add_1_tmp_490d_4.as_m31(); trace[4].data[row_index] = ap_update_add_1_col4; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -262,13 +262,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1247 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_490d_5 = memory_address_to_id_state .deduce_output(((input_ap_col1) + ((offset0_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_1248 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1247); - let dst_id_col5 = memory_address_to_id_value_tmp_1247; + let memoryidtobig_value_tmp_490d_6 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_490d_5); + let dst_id_col5 = memoryaddresstoid_value_tmp_490d_5; trace[5].data[row_index] = dst_id_col5; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_ap_col1) + ((offset0_col3) - (M31_32768))).unpack()); @@ -277,61 +277,61 @@ pub fn write_trace_simd( ((input_ap_col1) + ((offset0_col3) - (M31_32768))), dst_id_col5, ]); - let dst_limb_0_col6 = memory_id_to_big_value_tmp_1248.get_m31(0); + let dst_limb_0_col6 = memoryidtobig_value_tmp_490d_6.get_m31(0); trace[6].data[row_index] = dst_limb_0_col6; - let dst_limb_1_col7 = memory_id_to_big_value_tmp_1248.get_m31(1); + let dst_limb_1_col7 = memoryidtobig_value_tmp_490d_6.get_m31(1); trace[7].data[row_index] = dst_limb_1_col7; - let dst_limb_2_col8 = memory_id_to_big_value_tmp_1248.get_m31(2); + let dst_limb_2_col8 = memoryidtobig_value_tmp_490d_6.get_m31(2); trace[8].data[row_index] = dst_limb_2_col8; - let dst_limb_3_col9 = memory_id_to_big_value_tmp_1248.get_m31(3); + let dst_limb_3_col9 = memoryidtobig_value_tmp_490d_6.get_m31(3); trace[9].data[row_index] = dst_limb_3_col9; - let dst_limb_4_col10 = memory_id_to_big_value_tmp_1248.get_m31(4); + let dst_limb_4_col10 = memoryidtobig_value_tmp_490d_6.get_m31(4); trace[10].data[row_index] = dst_limb_4_col10; - let dst_limb_5_col11 = memory_id_to_big_value_tmp_1248.get_m31(5); + let dst_limb_5_col11 = memoryidtobig_value_tmp_490d_6.get_m31(5); trace[11].data[row_index] = dst_limb_5_col11; - let dst_limb_6_col12 = memory_id_to_big_value_tmp_1248.get_m31(6); + let dst_limb_6_col12 = memoryidtobig_value_tmp_490d_6.get_m31(6); trace[12].data[row_index] = dst_limb_6_col12; - let dst_limb_7_col13 = memory_id_to_big_value_tmp_1248.get_m31(7); + let dst_limb_7_col13 = memoryidtobig_value_tmp_490d_6.get_m31(7); trace[13].data[row_index] = dst_limb_7_col13; - let dst_limb_8_col14 = memory_id_to_big_value_tmp_1248.get_m31(8); + let dst_limb_8_col14 = memoryidtobig_value_tmp_490d_6.get_m31(8); trace[14].data[row_index] = dst_limb_8_col14; - let dst_limb_9_col15 = memory_id_to_big_value_tmp_1248.get_m31(9); + let dst_limb_9_col15 = memoryidtobig_value_tmp_490d_6.get_m31(9); trace[15].data[row_index] = dst_limb_9_col15; - let dst_limb_10_col16 = memory_id_to_big_value_tmp_1248.get_m31(10); + let dst_limb_10_col16 = memoryidtobig_value_tmp_490d_6.get_m31(10); trace[16].data[row_index] = dst_limb_10_col16; - let dst_limb_11_col17 = memory_id_to_big_value_tmp_1248.get_m31(11); + let dst_limb_11_col17 = memoryidtobig_value_tmp_490d_6.get_m31(11); trace[17].data[row_index] = dst_limb_11_col17; - let dst_limb_12_col18 = memory_id_to_big_value_tmp_1248.get_m31(12); + let dst_limb_12_col18 = memoryidtobig_value_tmp_490d_6.get_m31(12); trace[18].data[row_index] = dst_limb_12_col18; - let dst_limb_13_col19 = memory_id_to_big_value_tmp_1248.get_m31(13); + let dst_limb_13_col19 = memoryidtobig_value_tmp_490d_6.get_m31(13); trace[19].data[row_index] = dst_limb_13_col19; - let dst_limb_14_col20 = memory_id_to_big_value_tmp_1248.get_m31(14); + let dst_limb_14_col20 = memoryidtobig_value_tmp_490d_6.get_m31(14); trace[20].data[row_index] = dst_limb_14_col20; - let dst_limb_15_col21 = memory_id_to_big_value_tmp_1248.get_m31(15); + let dst_limb_15_col21 = memoryidtobig_value_tmp_490d_6.get_m31(15); trace[21].data[row_index] = dst_limb_15_col21; - let dst_limb_16_col22 = memory_id_to_big_value_tmp_1248.get_m31(16); + let dst_limb_16_col22 = memoryidtobig_value_tmp_490d_6.get_m31(16); trace[22].data[row_index] = dst_limb_16_col22; - let dst_limb_17_col23 = memory_id_to_big_value_tmp_1248.get_m31(17); + let dst_limb_17_col23 = memoryidtobig_value_tmp_490d_6.get_m31(17); trace[23].data[row_index] = dst_limb_17_col23; - let dst_limb_18_col24 = memory_id_to_big_value_tmp_1248.get_m31(18); + let dst_limb_18_col24 = memoryidtobig_value_tmp_490d_6.get_m31(18); trace[24].data[row_index] = dst_limb_18_col24; - let dst_limb_19_col25 = memory_id_to_big_value_tmp_1248.get_m31(19); + let dst_limb_19_col25 = memoryidtobig_value_tmp_490d_6.get_m31(19); trace[25].data[row_index] = dst_limb_19_col25; - let dst_limb_20_col26 = memory_id_to_big_value_tmp_1248.get_m31(20); + let dst_limb_20_col26 = memoryidtobig_value_tmp_490d_6.get_m31(20); trace[26].data[row_index] = dst_limb_20_col26; - let dst_limb_21_col27 = memory_id_to_big_value_tmp_1248.get_m31(21); + let dst_limb_21_col27 = memoryidtobig_value_tmp_490d_6.get_m31(21); trace[27].data[row_index] = dst_limb_21_col27; - let dst_limb_22_col28 = memory_id_to_big_value_tmp_1248.get_m31(22); + let dst_limb_22_col28 = memoryidtobig_value_tmp_490d_6.get_m31(22); trace[28].data[row_index] = dst_limb_22_col28; - let dst_limb_23_col29 = memory_id_to_big_value_tmp_1248.get_m31(23); + let dst_limb_23_col29 = memoryidtobig_value_tmp_490d_6.get_m31(23); trace[29].data[row_index] = dst_limb_23_col29; - let dst_limb_24_col30 = memory_id_to_big_value_tmp_1248.get_m31(24); + let dst_limb_24_col30 = memoryidtobig_value_tmp_490d_6.get_m31(24); trace[30].data[row_index] = dst_limb_24_col30; - let dst_limb_25_col31 = memory_id_to_big_value_tmp_1248.get_m31(25); + let dst_limb_25_col31 = memoryidtobig_value_tmp_490d_6.get_m31(25); trace[31].data[row_index] = dst_limb_25_col31; - let dst_limb_26_col32 = memory_id_to_big_value_tmp_1248.get_m31(26); + let dst_limb_26_col32 = memoryidtobig_value_tmp_490d_6.get_m31(26); trace[32].data[row_index] = dst_limb_26_col32; - let dst_limb_27_col33 = memory_id_to_big_value_tmp_1248.get_m31(27); + let dst_limb_27_col33 = memoryidtobig_value_tmp_490d_6.get_m31(27); trace[33].data[row_index] = dst_limb_27_col33; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col5.unpack()); @@ -398,12 +398,13 @@ pub fn write_trace_simd( + (dst_limb_27_col33)), )); trace[34].data[row_index] = res_col34; - let diff_from_p_tmp_1249 = ((dst_limb_0_col6) - (M31_1)); - let diff_from_p_tmp_1250 = ((dst_limb_21_col27) - (M31_136)); - let diff_from_p_tmp_1251 = ((dst_limb_27_col33) - (M31_256)); + let diff_from_p_tmp_490d_7 = ((dst_limb_0_col6) - (M31_1)); + let diff_from_p_tmp_490d_8 = ((dst_limb_21_col27) - (M31_136)); + let diff_from_p_tmp_490d_9 = ((dst_limb_27_col33) - (M31_256)); let res_squares_col35 = ((M31_1).div( (((((((((((((((((((((((((((((M31_0) - + ((diff_from_p_tmp_1249) * (diff_from_p_tmp_1249))) + + ((diff_from_p_tmp_490d_7) + * (diff_from_p_tmp_490d_7))) + (dst_limb_1_col7)) + (dst_limb_2_col8)) + (dst_limb_3_col9)) @@ -424,43 +425,43 @@ pub fn write_trace_simd( + (dst_limb_18_col24)) + (dst_limb_19_col25)) + (dst_limb_20_col26)) - + ((diff_from_p_tmp_1250) * (diff_from_p_tmp_1250))) + + ((diff_from_p_tmp_490d_8) * (diff_from_p_tmp_490d_8))) + (dst_limb_22_col28)) + (dst_limb_23_col29)) + (dst_limb_24_col30)) + (dst_limb_25_col31)) + (dst_limb_26_col32)) - + ((diff_from_p_tmp_1251) * (diff_from_p_tmp_1251))), + + ((diff_from_p_tmp_490d_9) * (diff_from_p_tmp_490d_9))), )); trace[35].data[row_index] = res_squares_col35; - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1252 = + let memoryaddresstoid_value_tmp_490d_10 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_1253 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1252); - let next_pc_id_col36 = memory_address_to_id_value_tmp_1252; + let memoryidtobig_value_tmp_490d_11 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_490d_10); + let next_pc_id_col36 = memoryaddresstoid_value_tmp_490d_10; trace[36].data[row_index] = next_pc_id_col36; sub_components_inputs.memory_address_to_id_inputs[1] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[1].push([((input_pc_col0) + (M31_1)), next_pc_id_col36]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1254 = memory_id_to_big_value_tmp_1253.get_m31(27).eq(M31_256); - let msb_col37 = msb_tmp_1254.as_m31(); + let msb_tmp_490d_12 = memoryidtobig_value_tmp_490d_11.get_m31(27).eq(M31_256); + let msb_col37 = msb_tmp_490d_12.as_m31(); trace[37].data[row_index] = msb_col37; - let mid_limbs_set_tmp_1255 = memory_id_to_big_value_tmp_1253.get_m31(20).eq(M31_511); - let mid_limbs_set_col38 = mid_limbs_set_tmp_1255.as_m31(); + let mid_limbs_set_tmp_490d_13 = memoryidtobig_value_tmp_490d_11.get_m31(20).eq(M31_511); + let mid_limbs_set_col38 = mid_limbs_set_tmp_490d_13.as_m31(); trace[38].data[row_index] = mid_limbs_set_col38; - let next_pc_limb_0_col39 = memory_id_to_big_value_tmp_1253.get_m31(0); + let next_pc_limb_0_col39 = memoryidtobig_value_tmp_490d_11.get_m31(0); trace[39].data[row_index] = next_pc_limb_0_col39; - let next_pc_limb_1_col40 = memory_id_to_big_value_tmp_1253.get_m31(1); + let next_pc_limb_1_col40 = memoryidtobig_value_tmp_490d_11.get_m31(1); trace[40].data[row_index] = next_pc_limb_1_col40; - let next_pc_limb_2_col41 = memory_id_to_big_value_tmp_1253.get_m31(2); + let next_pc_limb_2_col41 = memoryidtobig_value_tmp_490d_11.get_m31(2); trace[41].data[row_index] = next_pc_limb_2_col41; sub_components_inputs.memory_id_to_big_inputs[1].extend(next_pc_id_col36.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/component.rs index 80e75b05..a8fbe610 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/component.rs @@ -129,9 +129,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col40 = eval.next_trace_mask(); let next_pc_limb_2_col41 = eval.next_trace_mask(); - // decode_instruction_113648125c3c3f56. + // DecodeInstruction_113648125c3c3f56. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -152,20 +152,20 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col4.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_fp_col2.clone() + (offset0_col3.clone() - M31_32768.clone())), dst_id_col5.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -199,7 +199,7 @@ impl FrameworkEval for Eval { dst_limb_26_col32.clone(), dst_limb_27_col33.clone(), ], - )]); + )); // dst doesn't equal 0. eval.add_constraint( @@ -235,14 +235,14 @@ impl FrameworkEval for Eval { * res_col34.clone()) - M31_1.clone()), ); - let diff_from_p_tmp_1221 = (dst_limb_0_col6.clone() - M31_1.clone()); - let diff_from_p_tmp_1222 = (dst_limb_21_col27.clone() - M31_136.clone()); - let diff_from_p_tmp_1223 = (dst_limb_27_col33.clone() - M31_256.clone()); + let diff_from_p_tmp_1078_7 = (dst_limb_0_col6.clone() - M31_1.clone()); + let diff_from_p_tmp_1078_8 = (dst_limb_21_col27.clone() - M31_136.clone()); + let diff_from_p_tmp_1078_9 = (dst_limb_27_col33.clone() - M31_256.clone()); // dst doesn't equal P. eval.add_constraint( ((((((((((((((((((((((((((((((M31_0.clone() - + (diff_from_p_tmp_1221.clone() - * diff_from_p_tmp_1221.clone())) + + (diff_from_p_tmp_1078_7.clone() + * diff_from_p_tmp_1078_7.clone())) + dst_limb_1_col7.clone()) + dst_limb_2_col8.clone()) + dst_limb_3_col9.clone()) @@ -263,29 +263,29 @@ impl FrameworkEval for Eval { + dst_limb_18_col24.clone()) + dst_limb_19_col25.clone()) + dst_limb_20_col26.clone()) - + (diff_from_p_tmp_1222.clone() * diff_from_p_tmp_1222.clone())) + + (diff_from_p_tmp_1078_8.clone() * diff_from_p_tmp_1078_8.clone())) + dst_limb_22_col28.clone()) + dst_limb_23_col29.clone()) + dst_limb_24_col30.clone()) + dst_limb_25_col31.clone()) + dst_limb_26_col32.clone()) - + (diff_from_p_tmp_1223.clone() * diff_from_p_tmp_1223.clone())) + + (diff_from_p_tmp_1078_9.clone() * diff_from_p_tmp_1078_9.clone())) * res_squares_col35.clone()) - M31_1.clone()), ); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), next_pc_id_col36.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col37.clone() * (msb_col37.clone() - M31_1.clone()))); @@ -298,7 +298,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col38.clone()) * (msb_col37.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -332,9 +332,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col37.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -342,9 +342,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -357,7 +357,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col4.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/prover.rs index 0d3ea0c8..dfe83b06 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jnz_opcode_is_taken_t_dst_base_fp_t/prover.rs @@ -184,35 +184,35 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jnz_opcode_is_taken_t_dst_base_fp_t_input)| { - let input_tmp_1208 = jnz_opcode_is_taken_t_dst_base_fp_t_input; - let input_pc_col0 = input_tmp_1208.pc; + let input_tmp_1078_0 = jnz_opcode_is_taken_t_dst_base_fp_t_input; + let input_pc_col0 = input_tmp_1078_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1208.ap; + let input_ap_col1 = input_tmp_1078_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1208.fp; + let input_fp_col2 = input_tmp_1078_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_113648125c3c3f56. + // DecodeInstruction_113648125c3c3f56. - let memory_address_to_id_value_tmp_1214 = + let memoryaddresstoid_value_tmp_1078_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1215 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1214); - let offset0_tmp_1216 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1215.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1215.get_m31(1))) + let memoryidtobig_value_tmp_1078_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1078_1); + let offset0_tmp_1078_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1078_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_1078_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1216.as_m31(); + let offset0_col3 = offset0_tmp_1078_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let ap_update_add_1_tmp_1217 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1215.get_m31(5))) + let ap_update_add_1_tmp_1078_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_1078_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1215.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1078_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col4 = ap_update_add_1_tmp_1217.as_m31(); + let ap_update_add_1_col4 = ap_update_add_1_tmp_1078_4.as_m31(); trace[4].data[row_index] = ap_update_add_1_col4; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -262,13 +262,13 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1219 = memory_address_to_id_state + let memoryaddresstoid_value_tmp_1078_5 = memory_address_to_id_state .deduce_output(((input_fp_col2) + ((offset0_col3) - (M31_32768)))); - let memory_id_to_big_value_tmp_1220 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1219); - let dst_id_col5 = memory_address_to_id_value_tmp_1219; + let memoryidtobig_value_tmp_1078_6 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1078_5); + let dst_id_col5 = memoryaddresstoid_value_tmp_1078_5; trace[5].data[row_index] = dst_id_col5; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_fp_col2) + ((offset0_col3) - (M31_32768))).unpack()); @@ -277,61 +277,61 @@ pub fn write_trace_simd( ((input_fp_col2) + ((offset0_col3) - (M31_32768))), dst_id_col5, ]); - let dst_limb_0_col6 = memory_id_to_big_value_tmp_1220.get_m31(0); + let dst_limb_0_col6 = memoryidtobig_value_tmp_1078_6.get_m31(0); trace[6].data[row_index] = dst_limb_0_col6; - let dst_limb_1_col7 = memory_id_to_big_value_tmp_1220.get_m31(1); + let dst_limb_1_col7 = memoryidtobig_value_tmp_1078_6.get_m31(1); trace[7].data[row_index] = dst_limb_1_col7; - let dst_limb_2_col8 = memory_id_to_big_value_tmp_1220.get_m31(2); + let dst_limb_2_col8 = memoryidtobig_value_tmp_1078_6.get_m31(2); trace[8].data[row_index] = dst_limb_2_col8; - let dst_limb_3_col9 = memory_id_to_big_value_tmp_1220.get_m31(3); + let dst_limb_3_col9 = memoryidtobig_value_tmp_1078_6.get_m31(3); trace[9].data[row_index] = dst_limb_3_col9; - let dst_limb_4_col10 = memory_id_to_big_value_tmp_1220.get_m31(4); + let dst_limb_4_col10 = memoryidtobig_value_tmp_1078_6.get_m31(4); trace[10].data[row_index] = dst_limb_4_col10; - let dst_limb_5_col11 = memory_id_to_big_value_tmp_1220.get_m31(5); + let dst_limb_5_col11 = memoryidtobig_value_tmp_1078_6.get_m31(5); trace[11].data[row_index] = dst_limb_5_col11; - let dst_limb_6_col12 = memory_id_to_big_value_tmp_1220.get_m31(6); + let dst_limb_6_col12 = memoryidtobig_value_tmp_1078_6.get_m31(6); trace[12].data[row_index] = dst_limb_6_col12; - let dst_limb_7_col13 = memory_id_to_big_value_tmp_1220.get_m31(7); + let dst_limb_7_col13 = memoryidtobig_value_tmp_1078_6.get_m31(7); trace[13].data[row_index] = dst_limb_7_col13; - let dst_limb_8_col14 = memory_id_to_big_value_tmp_1220.get_m31(8); + let dst_limb_8_col14 = memoryidtobig_value_tmp_1078_6.get_m31(8); trace[14].data[row_index] = dst_limb_8_col14; - let dst_limb_9_col15 = memory_id_to_big_value_tmp_1220.get_m31(9); + let dst_limb_9_col15 = memoryidtobig_value_tmp_1078_6.get_m31(9); trace[15].data[row_index] = dst_limb_9_col15; - let dst_limb_10_col16 = memory_id_to_big_value_tmp_1220.get_m31(10); + let dst_limb_10_col16 = memoryidtobig_value_tmp_1078_6.get_m31(10); trace[16].data[row_index] = dst_limb_10_col16; - let dst_limb_11_col17 = memory_id_to_big_value_tmp_1220.get_m31(11); + let dst_limb_11_col17 = memoryidtobig_value_tmp_1078_6.get_m31(11); trace[17].data[row_index] = dst_limb_11_col17; - let dst_limb_12_col18 = memory_id_to_big_value_tmp_1220.get_m31(12); + let dst_limb_12_col18 = memoryidtobig_value_tmp_1078_6.get_m31(12); trace[18].data[row_index] = dst_limb_12_col18; - let dst_limb_13_col19 = memory_id_to_big_value_tmp_1220.get_m31(13); + let dst_limb_13_col19 = memoryidtobig_value_tmp_1078_6.get_m31(13); trace[19].data[row_index] = dst_limb_13_col19; - let dst_limb_14_col20 = memory_id_to_big_value_tmp_1220.get_m31(14); + let dst_limb_14_col20 = memoryidtobig_value_tmp_1078_6.get_m31(14); trace[20].data[row_index] = dst_limb_14_col20; - let dst_limb_15_col21 = memory_id_to_big_value_tmp_1220.get_m31(15); + let dst_limb_15_col21 = memoryidtobig_value_tmp_1078_6.get_m31(15); trace[21].data[row_index] = dst_limb_15_col21; - let dst_limb_16_col22 = memory_id_to_big_value_tmp_1220.get_m31(16); + let dst_limb_16_col22 = memoryidtobig_value_tmp_1078_6.get_m31(16); trace[22].data[row_index] = dst_limb_16_col22; - let dst_limb_17_col23 = memory_id_to_big_value_tmp_1220.get_m31(17); + let dst_limb_17_col23 = memoryidtobig_value_tmp_1078_6.get_m31(17); trace[23].data[row_index] = dst_limb_17_col23; - let dst_limb_18_col24 = memory_id_to_big_value_tmp_1220.get_m31(18); + let dst_limb_18_col24 = memoryidtobig_value_tmp_1078_6.get_m31(18); trace[24].data[row_index] = dst_limb_18_col24; - let dst_limb_19_col25 = memory_id_to_big_value_tmp_1220.get_m31(19); + let dst_limb_19_col25 = memoryidtobig_value_tmp_1078_6.get_m31(19); trace[25].data[row_index] = dst_limb_19_col25; - let dst_limb_20_col26 = memory_id_to_big_value_tmp_1220.get_m31(20); + let dst_limb_20_col26 = memoryidtobig_value_tmp_1078_6.get_m31(20); trace[26].data[row_index] = dst_limb_20_col26; - let dst_limb_21_col27 = memory_id_to_big_value_tmp_1220.get_m31(21); + let dst_limb_21_col27 = memoryidtobig_value_tmp_1078_6.get_m31(21); trace[27].data[row_index] = dst_limb_21_col27; - let dst_limb_22_col28 = memory_id_to_big_value_tmp_1220.get_m31(22); + let dst_limb_22_col28 = memoryidtobig_value_tmp_1078_6.get_m31(22); trace[28].data[row_index] = dst_limb_22_col28; - let dst_limb_23_col29 = memory_id_to_big_value_tmp_1220.get_m31(23); + let dst_limb_23_col29 = memoryidtobig_value_tmp_1078_6.get_m31(23); trace[29].data[row_index] = dst_limb_23_col29; - let dst_limb_24_col30 = memory_id_to_big_value_tmp_1220.get_m31(24); + let dst_limb_24_col30 = memoryidtobig_value_tmp_1078_6.get_m31(24); trace[30].data[row_index] = dst_limb_24_col30; - let dst_limb_25_col31 = memory_id_to_big_value_tmp_1220.get_m31(25); + let dst_limb_25_col31 = memoryidtobig_value_tmp_1078_6.get_m31(25); trace[31].data[row_index] = dst_limb_25_col31; - let dst_limb_26_col32 = memory_id_to_big_value_tmp_1220.get_m31(26); + let dst_limb_26_col32 = memoryidtobig_value_tmp_1078_6.get_m31(26); trace[32].data[row_index] = dst_limb_26_col32; - let dst_limb_27_col33 = memory_id_to_big_value_tmp_1220.get_m31(27); + let dst_limb_27_col33 = memoryidtobig_value_tmp_1078_6.get_m31(27); trace[33].data[row_index] = dst_limb_27_col33; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col5.unpack()); @@ -398,12 +398,13 @@ pub fn write_trace_simd( + (dst_limb_27_col33)), )); trace[34].data[row_index] = res_col34; - let diff_from_p_tmp_1221 = ((dst_limb_0_col6) - (M31_1)); - let diff_from_p_tmp_1222 = ((dst_limb_21_col27) - (M31_136)); - let diff_from_p_tmp_1223 = ((dst_limb_27_col33) - (M31_256)); + let diff_from_p_tmp_1078_7 = ((dst_limb_0_col6) - (M31_1)); + let diff_from_p_tmp_1078_8 = ((dst_limb_21_col27) - (M31_136)); + let diff_from_p_tmp_1078_9 = ((dst_limb_27_col33) - (M31_256)); let res_squares_col35 = ((M31_1).div( (((((((((((((((((((((((((((((M31_0) - + ((diff_from_p_tmp_1221) * (diff_from_p_tmp_1221))) + + ((diff_from_p_tmp_1078_7) + * (diff_from_p_tmp_1078_7))) + (dst_limb_1_col7)) + (dst_limb_2_col8)) + (dst_limb_3_col9)) @@ -424,43 +425,43 @@ pub fn write_trace_simd( + (dst_limb_18_col24)) + (dst_limb_19_col25)) + (dst_limb_20_col26)) - + ((diff_from_p_tmp_1222) * (diff_from_p_tmp_1222))) + + ((diff_from_p_tmp_1078_8) * (diff_from_p_tmp_1078_8))) + (dst_limb_22_col28)) + (dst_limb_23_col29)) + (dst_limb_24_col30)) + (dst_limb_25_col31)) + (dst_limb_26_col32)) - + ((diff_from_p_tmp_1223) * (diff_from_p_tmp_1223))), + + ((diff_from_p_tmp_1078_9) * (diff_from_p_tmp_1078_9))), )); trace[35].data[row_index] = res_squares_col35; - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1224 = + let memoryaddresstoid_value_tmp_1078_10 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_1225 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1224); - let next_pc_id_col36 = memory_address_to_id_value_tmp_1224; + let memoryidtobig_value_tmp_1078_11 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1078_10); + let next_pc_id_col36 = memoryaddresstoid_value_tmp_1078_10; trace[36].data[row_index] = next_pc_id_col36; sub_components_inputs.memory_address_to_id_inputs[1] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[1].push([((input_pc_col0) + (M31_1)), next_pc_id_col36]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1226 = memory_id_to_big_value_tmp_1225.get_m31(27).eq(M31_256); - let msb_col37 = msb_tmp_1226.as_m31(); + let msb_tmp_1078_12 = memoryidtobig_value_tmp_1078_11.get_m31(27).eq(M31_256); + let msb_col37 = msb_tmp_1078_12.as_m31(); trace[37].data[row_index] = msb_col37; - let mid_limbs_set_tmp_1227 = memory_id_to_big_value_tmp_1225.get_m31(20).eq(M31_511); - let mid_limbs_set_col38 = mid_limbs_set_tmp_1227.as_m31(); + let mid_limbs_set_tmp_1078_13 = memoryidtobig_value_tmp_1078_11.get_m31(20).eq(M31_511); + let mid_limbs_set_col38 = mid_limbs_set_tmp_1078_13.as_m31(); trace[38].data[row_index] = mid_limbs_set_col38; - let next_pc_limb_0_col39 = memory_id_to_big_value_tmp_1225.get_m31(0); + let next_pc_limb_0_col39 = memoryidtobig_value_tmp_1078_11.get_m31(0); trace[39].data[row_index] = next_pc_limb_0_col39; - let next_pc_limb_1_col40 = memory_id_to_big_value_tmp_1225.get_m31(1); + let next_pc_limb_1_col40 = memoryidtobig_value_tmp_1078_11.get_m31(1); trace[40].data[row_index] = next_pc_limb_1_col40; - let next_pc_limb_2_col41 = memory_id_to_big_value_tmp_1225.get_m31(2); + let next_pc_limb_2_col41 = memoryidtobig_value_tmp_1078_11.get_m31(2); trace[41].data[row_index] = next_pc_limb_2_col41; sub_components_inputs.memory_id_to_big_inputs[1].extend(next_pc_id_col36.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/component.rs index 66523983..80baed1d 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/component.rs @@ -93,9 +93,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col9 = eval.next_trace_mask(); let next_pc_limb_2_col10 = eval.next_trace_mask(); - // decode_instruction_ff344370bb4f7f54. + // DecodeInstruction_ff344370bb4f7f54. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -116,16 +116,16 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col6.clone(), ], - )]); + )); // Either flag op1_base_fp is on or flag op1_base_ap is on. eval.add_constraint( ((op1_base_fp_col4.clone() + op1_base_ap_col5.clone()) - M31_1.clone()), ); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -134,9 +134,9 @@ impl FrameworkEval for Eval { + (offset2_col3.clone() - M31_32768.clone())), next_pc_id_col7.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -145,9 +145,9 @@ impl FrameworkEval for Eval { next_pc_limb_1_col9.clone(), next_pc_limb_2_col10.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -155,9 +155,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -166,7 +166,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col6.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/prover.rs index 7a9406b6..526b46af 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_f/prover.rs @@ -178,56 +178,56 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jump_opcode_is_rel_f_is_imm_f_is_double_deref_f_input)| { - let input_tmp_1315 = jump_opcode_is_rel_f_is_imm_f_is_double_deref_f_input; - let input_pc_col0 = input_tmp_1315.pc; + let input_tmp_a5f5_0 = jump_opcode_is_rel_f_is_imm_f_is_double_deref_f_input; + let input_pc_col0 = input_tmp_a5f5_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1315.ap; + let input_ap_col1 = input_tmp_a5f5_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1315.fp; + let input_fp_col2 = input_tmp_a5f5_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_ff344370bb4f7f54. + // DecodeInstruction_ff344370bb4f7f54. - let memory_address_to_id_value_tmp_1323 = + let memoryaddresstoid_value_tmp_a5f5_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1324 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1323); - let offset2_tmp_1325 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(3))) + let memoryidtobig_value_tmp_a5f5_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_a5f5_1); + let offset2_tmp_a5f5_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col3 = offset2_tmp_1325.as_m31(); + let offset2_col3 = offset2_tmp_a5f5_3.as_m31(); trace[3].data[row_index] = offset2_col3; - let op1_base_fp_tmp_1326 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(5))) + let op1_base_fp_tmp_a5f5_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(6))) << (UInt16_6))) >> (UInt16_3)) & (UInt16_1)); - let op1_base_fp_col4 = op1_base_fp_tmp_1326.as_m31(); + let op1_base_fp_col4 = op1_base_fp_tmp_a5f5_4.as_m31(); trace[4].data[row_index] = op1_base_fp_col4; - let op1_base_ap_tmp_1327 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(5))) + let op1_base_ap_tmp_a5f5_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(6))) << (UInt16_6))) >> (UInt16_4)) & (UInt16_1)); - let op1_base_ap_col5 = op1_base_ap_tmp_1327.as_m31(); + let op1_base_ap_col5 = op1_base_ap_tmp_a5f5_5.as_m31(); trace[5].data[row_index] = op1_base_ap_col5; - let ap_update_add_1_tmp_1328 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(5))) + let ap_update_add_1_tmp_a5f5_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1324.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_a5f5_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col6 = ap_update_add_1_tmp_1328.as_m31(); + let ap_update_add_1_col6 = ap_update_add_1_tmp_a5f5_6.as_m31(); trace[6].data[row_index] = ap_update_add_1_col6; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -277,15 +277,15 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1330 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_a5f5_7 = memory_address_to_id_state.deduce_output( ((((op1_base_fp_col4) * (input_fp_col2)) + ((op1_base_ap_col5) * (input_ap_col1))) + ((offset2_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1331 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1330); - let next_pc_id_col7 = memory_address_to_id_value_tmp_1330; + let memoryidtobig_value_tmp_a5f5_8 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_a5f5_7); + let next_pc_id_col7 = memoryaddresstoid_value_tmp_a5f5_7; trace[7].data[row_index] = next_pc_id_col7; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((op1_base_fp_col4) * (input_fp_col2)) + ((op1_base_ap_col5) * (input_ap_col1))) @@ -298,11 +298,11 @@ pub fn write_trace_simd( + ((offset2_col3) - (M31_32768))), next_pc_id_col7, ]); - let next_pc_limb_0_col8 = memory_id_to_big_value_tmp_1331.get_m31(0); + let next_pc_limb_0_col8 = memoryidtobig_value_tmp_a5f5_8.get_m31(0); trace[8].data[row_index] = next_pc_limb_0_col8; - let next_pc_limb_1_col9 = memory_id_to_big_value_tmp_1331.get_m31(1); + let next_pc_limb_1_col9 = memoryidtobig_value_tmp_a5f5_8.get_m31(1); trace[9].data[row_index] = next_pc_limb_1_col9; - let next_pc_limb_2_col10 = memory_id_to_big_value_tmp_1331.get_m31(2); + let next_pc_limb_2_col10 = memoryidtobig_value_tmp_a5f5_8.get_m31(2); trace[10].data[row_index] = next_pc_limb_2_col10; sub_components_inputs.memory_id_to_big_inputs[0].extend(next_pc_id_col7.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/component.rs index 66325edd..c1278167 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/component.rs @@ -97,9 +97,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col13 = eval.next_trace_mask(); let next_pc_limb_2_col14 = eval.next_trace_mask(); - // decode_instruction_d5cc27a6f788af1d. + // DecodeInstruction_d5cc27a6f788af1d. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -120,11 +120,11 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col6.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -133,9 +133,9 @@ impl FrameworkEval for Eval { + (offset1_col3.clone() - M31_32768.clone())), mem1_base_id_col7.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -144,11 +144,11 @@ impl FrameworkEval for Eval { mem1_base_limb_1_col9.clone(), mem1_base_limb_2_col10.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -158,9 +158,9 @@ impl FrameworkEval for Eval { + (offset2_col4.clone() - M31_32768.clone())), next_pc_id_col11.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -169,9 +169,9 @@ impl FrameworkEval for Eval { next_pc_limb_1_col13.clone(), next_pc_limb_2_col14.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -179,9 +179,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -190,7 +190,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col6.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/prover.rs index 05e3bcb4..74b02821 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_f_is_imm_f_is_double_deref_t/prover.rs @@ -183,57 +183,57 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jump_opcode_is_rel_f_is_imm_f_is_double_deref_t_input)| { - let input_tmp_1296 = jump_opcode_is_rel_f_is_imm_f_is_double_deref_t_input; - let input_pc_col0 = input_tmp_1296.pc; + let input_tmp_3654_0 = jump_opcode_is_rel_f_is_imm_f_is_double_deref_t_input; + let input_pc_col0 = input_tmp_3654_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1296.ap; + let input_ap_col1 = input_tmp_3654_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1296.fp; + let input_fp_col2 = input_tmp_3654_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_d5cc27a6f788af1d. + // DecodeInstruction_d5cc27a6f788af1d. - let memory_address_to_id_value_tmp_1304 = + let memoryaddresstoid_value_tmp_3654_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1305 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1304); - let offset1_tmp_1306 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(1))) + let memoryidtobig_value_tmp_3654_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_3654_1); + let offset1_tmp_3654_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col3 = offset1_tmp_1306.as_m31(); + let offset1_col3 = offset1_tmp_3654_3.as_m31(); trace[3].data[row_index] = offset1_col3; - let offset2_tmp_1307 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(3))) + let offset2_tmp_3654_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col4 = offset2_tmp_1307.as_m31(); + let offset2_col4 = offset2_tmp_3654_4.as_m31(); trace[4].data[row_index] = offset2_col4; - let op0_base_fp_tmp_1308 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(5))) + let op0_base_fp_tmp_3654_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col5 = op0_base_fp_tmp_1308.as_m31(); + let op0_base_fp_col5 = op0_base_fp_tmp_3654_5.as_m31(); trace[5].data[row_index] = op0_base_fp_col5; - let ap_update_add_1_tmp_1309 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(5))) + let ap_update_add_1_tmp_3654_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1305.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_3654_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col6 = ap_update_add_1_tmp_1309.as_m31(); + let ap_update_add_1_col6 = ap_update_add_1_tmp_3654_6.as_m31(); trace[6].data[row_index] = ap_update_add_1_col6; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -283,16 +283,16 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1311 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_3654_7 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col5) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col5)) * (input_ap_col1))) + ((offset1_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1312 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1311); - let mem1_base_id_col7 = memory_address_to_id_value_tmp_1311; + let memoryidtobig_value_tmp_3654_8 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_3654_7); + let mem1_base_id_col7 = memoryaddresstoid_value_tmp_3654_7; trace[7].data[row_index] = mem1_base_id_col7; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((op0_base_fp_col5) * (input_fp_col2)) @@ -307,11 +307,11 @@ pub fn write_trace_simd( + ((offset1_col3) - (M31_32768))), mem1_base_id_col7, ]); - let mem1_base_limb_0_col8 = memory_id_to_big_value_tmp_1312.get_m31(0); + let mem1_base_limb_0_col8 = memoryidtobig_value_tmp_3654_8.get_m31(0); trace[8].data[row_index] = mem1_base_limb_0_col8; - let mem1_base_limb_1_col9 = memory_id_to_big_value_tmp_1312.get_m31(1); + let mem1_base_limb_1_col9 = memoryidtobig_value_tmp_3654_8.get_m31(1); trace[9].data[row_index] = mem1_base_limb_1_col9; - let mem1_base_limb_2_col10 = memory_id_to_big_value_tmp_1312.get_m31(2); + let mem1_base_limb_2_col10 = memoryidtobig_value_tmp_3654_8.get_m31(2); trace[10].data[row_index] = mem1_base_limb_2_col10; sub_components_inputs.memory_id_to_big_inputs[0].extend(mem1_base_id_col7.unpack()); @@ -347,16 +347,16 @@ pub fn write_trace_simd( M31_0, ]); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - let memory_address_to_id_value_tmp_1313 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_3654_9 = memory_address_to_id_state.deduce_output( ((((mem1_base_limb_0_col8) + ((mem1_base_limb_1_col9) * (M31_512))) + ((mem1_base_limb_2_col10) * (M31_262144))) + ((offset2_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1314 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1313); - let next_pc_id_col11 = memory_address_to_id_value_tmp_1313; + let memoryidtobig_value_tmp_3654_10 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_3654_9); + let next_pc_id_col11 = memoryaddresstoid_value_tmp_3654_9; trace[11].data[row_index] = next_pc_id_col11; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((mem1_base_limb_0_col8) + ((mem1_base_limb_1_col9) * (M31_512))) @@ -371,11 +371,11 @@ pub fn write_trace_simd( + ((offset2_col4) - (M31_32768))), next_pc_id_col11, ]); - let next_pc_limb_0_col12 = memory_id_to_big_value_tmp_1314.get_m31(0); + let next_pc_limb_0_col12 = memoryidtobig_value_tmp_3654_10.get_m31(0); trace[12].data[row_index] = next_pc_limb_0_col12; - let next_pc_limb_1_col13 = memory_id_to_big_value_tmp_1314.get_m31(1); + let next_pc_limb_1_col13 = memoryidtobig_value_tmp_3654_10.get_m31(1); trace[13].data[row_index] = next_pc_limb_1_col13; - let next_pc_limb_2_col14 = memory_id_to_big_value_tmp_1314.get_m31(2); + let next_pc_limb_2_col14 = memoryidtobig_value_tmp_3654_10.get_m31(2); trace[14].data[row_index] = next_pc_limb_2_col14; sub_components_inputs.memory_id_to_big_inputs[1].extend(next_pc_id_col11.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/component.rs index 5df263b9..fad95fd4 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/component.rs @@ -99,9 +99,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col11 = eval.next_trace_mask(); let next_pc_limb_2_col12 = eval.next_trace_mask(); - // decode_instruction_2cd1887fb89e83e3. + // DecodeInstruction_2cd1887fb89e83e3. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -122,16 +122,16 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col6.clone(), ], - )]); + )); // Either flag op1_base_fp is on or flag op1_base_ap is on. eval.add_constraint( ((op1_base_fp_col4.clone() + op1_base_ap_col5.clone()) - M31_1.clone()), ); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -140,9 +140,9 @@ impl FrameworkEval for Eval { + (offset2_col3.clone() - M31_32768.clone())), next_pc_id_col7.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col8.clone() * (msb_col8.clone() - M31_1.clone()))); @@ -155,7 +155,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col9.clone()) * (msb_col8.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -189,9 +189,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col8.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -199,9 +199,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -214,7 +214,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col6.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/prover.rs index efe09d6f..7fd67fa2 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_f_is_double_deref_f/prover.rs @@ -182,56 +182,56 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jump_opcode_is_rel_t_is_imm_f_is_double_deref_f_input)| { - let input_tmp_1277 = jump_opcode_is_rel_t_is_imm_f_is_double_deref_f_input; - let input_pc_col0 = input_tmp_1277.pc; + let input_tmp_1409_0 = jump_opcode_is_rel_t_is_imm_f_is_double_deref_f_input; + let input_pc_col0 = input_tmp_1409_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1277.ap; + let input_ap_col1 = input_tmp_1409_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1277.fp; + let input_fp_col2 = input_tmp_1409_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_2cd1887fb89e83e3. + // DecodeInstruction_2cd1887fb89e83e3. - let memory_address_to_id_value_tmp_1285 = + let memoryaddresstoid_value_tmp_1409_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1286 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1285); - let offset2_tmp_1287 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(3))) + let memoryidtobig_value_tmp_1409_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1409_1); + let offset2_tmp_1409_3 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col3 = offset2_tmp_1287.as_m31(); + let offset2_col3 = offset2_tmp_1409_3.as_m31(); trace[3].data[row_index] = offset2_col3; - let op1_base_fp_tmp_1288 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(5))) + let op1_base_fp_tmp_1409_4 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(6))) << (UInt16_6))) >> (UInt16_3)) & (UInt16_1)); - let op1_base_fp_col4 = op1_base_fp_tmp_1288.as_m31(); + let op1_base_fp_col4 = op1_base_fp_tmp_1409_4.as_m31(); trace[4].data[row_index] = op1_base_fp_col4; - let op1_base_ap_tmp_1289 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(5))) + let op1_base_ap_tmp_1409_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(6))) << (UInt16_6))) >> (UInt16_4)) & (UInt16_1)); - let op1_base_ap_col5 = op1_base_ap_tmp_1289.as_m31(); + let op1_base_ap_col5 = op1_base_ap_tmp_1409_5.as_m31(); trace[5].data[row_index] = op1_base_ap_col5; - let ap_update_add_1_tmp_1290 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(5))) + let ap_update_add_1_tmp_1409_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1286.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_1409_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col6 = ap_update_add_1_tmp_1290.as_m31(); + let ap_update_add_1_col6 = ap_update_add_1_tmp_1409_6.as_m31(); trace[6].data[row_index] = ap_update_add_1_col6; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -281,15 +281,15 @@ pub fn write_trace_simd( M31_0, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1292 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_1409_7 = memory_address_to_id_state.deduce_output( ((((op1_base_fp_col4) * (input_fp_col2)) + ((op1_base_ap_col5) * (input_ap_col1))) + ((offset2_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1293 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1292); - let next_pc_id_col7 = memory_address_to_id_value_tmp_1292; + let memoryidtobig_value_tmp_1409_8 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_1409_7); + let next_pc_id_col7 = memoryaddresstoid_value_tmp_1409_7; trace[7].data[row_index] = next_pc_id_col7; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((op1_base_fp_col4) * (input_fp_col2)) + ((op1_base_ap_col5) * (input_ap_col1))) @@ -303,20 +303,20 @@ pub fn write_trace_simd( next_pc_id_col7, ]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1294 = memory_id_to_big_value_tmp_1293.get_m31(27).eq(M31_256); - let msb_col8 = msb_tmp_1294.as_m31(); + let msb_tmp_1409_9 = memoryidtobig_value_tmp_1409_8.get_m31(27).eq(M31_256); + let msb_col8 = msb_tmp_1409_9.as_m31(); trace[8].data[row_index] = msb_col8; - let mid_limbs_set_tmp_1295 = memory_id_to_big_value_tmp_1293.get_m31(20).eq(M31_511); - let mid_limbs_set_col9 = mid_limbs_set_tmp_1295.as_m31(); + let mid_limbs_set_tmp_1409_10 = memoryidtobig_value_tmp_1409_8.get_m31(20).eq(M31_511); + let mid_limbs_set_col9 = mid_limbs_set_tmp_1409_10.as_m31(); trace[9].data[row_index] = mid_limbs_set_col9; - let next_pc_limb_0_col10 = memory_id_to_big_value_tmp_1293.get_m31(0); + let next_pc_limb_0_col10 = memoryidtobig_value_tmp_1409_8.get_m31(0); trace[10].data[row_index] = next_pc_limb_0_col10; - let next_pc_limb_1_col11 = memory_id_to_big_value_tmp_1293.get_m31(1); + let next_pc_limb_1_col11 = memoryidtobig_value_tmp_1409_8.get_m31(1); trace[11].data[row_index] = next_pc_limb_1_col11; - let next_pc_limb_2_col12 = memory_id_to_big_value_tmp_1293.get_m31(2); + let next_pc_limb_2_col12 = memoryidtobig_value_tmp_1409_8.get_m31(2); trace[12].data[row_index] = next_pc_limb_2_col12; sub_components_inputs.memory_id_to_big_inputs[0].extend(next_pc_id_col7.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/component.rs index 0f443ab4..66f20089 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/component.rs @@ -96,9 +96,9 @@ impl FrameworkEval for Eval { let next_pc_limb_1_col8 = eval.next_trace_mask(); let next_pc_limb_2_col9 = eval.next_trace_mask(); - // decode_instruction_ccd4c4cd993af638. + // DecodeInstruction_ccd4c4cd993af638. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -119,20 +119,20 @@ impl FrameworkEval for Eval { M31_0.clone(), ap_update_add_1_col3.clone(), ], - )]); + )); - // read_small. + // ReadSmall. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), next_pc_id_col4.clone(), ], - )]); + )); - // cond_decode_small_sign. + // CondDecodeSmallSign. // msb is a bit. eval.add_constraint((msb_col5.clone() * (msb_col5.clone() - M31_1.clone()))); @@ -145,7 +145,7 @@ impl FrameworkEval for Eval { ((M31_1.clone() * mid_limbs_set_col6.clone()) * (msb_col5.clone() - M31_1.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -179,9 +179,9 @@ impl FrameworkEval for Eval { M31_0.clone(), (msb_col5.clone() * M31_256.clone()), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -189,9 +189,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -204,7 +204,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col3.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/prover.rs index 20ff97e4..304207f7 100644 --- a/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/jump_opcode_is_rel_t_is_imm_t_is_double_deref_f/prover.rs @@ -178,28 +178,28 @@ pub fn write_trace_simd( inputs.into_iter().enumerate().for_each( |(row_index, jump_opcode_is_rel_t_is_imm_t_is_double_deref_f_input)| { - let input_tmp_1264 = jump_opcode_is_rel_t_is_imm_t_is_double_deref_f_input; - let input_pc_col0 = input_tmp_1264.pc; + let input_tmp_ad2c_0 = jump_opcode_is_rel_t_is_imm_t_is_double_deref_f_input; + let input_pc_col0 = input_tmp_ad2c_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1264.ap; + let input_ap_col1 = input_tmp_ad2c_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1264.fp; + let input_fp_col2 = input_tmp_ad2c_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_ccd4c4cd993af638. + // DecodeInstruction_ccd4c4cd993af638. - let memory_address_to_id_value_tmp_1269 = + let memoryaddresstoid_value_tmp_ad2c_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1270 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1269); - let ap_update_add_1_tmp_1271 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1270.get_m31(5))) + let memoryidtobig_value_tmp_ad2c_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_ad2c_1); + let ap_update_add_1_tmp_ad2c_3 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_ad2c_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1270.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_ad2c_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col3 = ap_update_add_1_tmp_1271.as_m31(); + let ap_update_add_1_col3 = ap_update_add_1_tmp_ad2c_3.as_m31(); trace[3].data[row_index] = ap_update_add_1_col3; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -249,33 +249,33 @@ pub fn write_trace_simd( M31_0, ]); - // read_small. + // ReadSmall. - let memory_address_to_id_value_tmp_1273 = + let memoryaddresstoid_value_tmp_ad2c_4 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_1274 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1273); - let next_pc_id_col4 = memory_address_to_id_value_tmp_1273; + let memoryidtobig_value_tmp_ad2c_5 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_ad2c_4); + let next_pc_id_col4 = memoryaddresstoid_value_tmp_ad2c_4; trace[4].data[row_index] = next_pc_id_col4; sub_components_inputs.memory_address_to_id_inputs[0] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[0].push([((input_pc_col0) + (M31_1)), next_pc_id_col4]); - // cond_decode_small_sign. + // CondDecodeSmallSign. - let msb_tmp_1275 = memory_id_to_big_value_tmp_1274.get_m31(27).eq(M31_256); - let msb_col5 = msb_tmp_1275.as_m31(); + let msb_tmp_ad2c_6 = memoryidtobig_value_tmp_ad2c_5.get_m31(27).eq(M31_256); + let msb_col5 = msb_tmp_ad2c_6.as_m31(); trace[5].data[row_index] = msb_col5; - let mid_limbs_set_tmp_1276 = memory_id_to_big_value_tmp_1274.get_m31(20).eq(M31_511); - let mid_limbs_set_col6 = mid_limbs_set_tmp_1276.as_m31(); + let mid_limbs_set_tmp_ad2c_7 = memoryidtobig_value_tmp_ad2c_5.get_m31(20).eq(M31_511); + let mid_limbs_set_col6 = mid_limbs_set_tmp_ad2c_7.as_m31(); trace[6].data[row_index] = mid_limbs_set_col6; - let next_pc_limb_0_col7 = memory_id_to_big_value_tmp_1274.get_m31(0); + let next_pc_limb_0_col7 = memoryidtobig_value_tmp_ad2c_5.get_m31(0); trace[7].data[row_index] = next_pc_limb_0_col7; - let next_pc_limb_1_col8 = memory_id_to_big_value_tmp_1274.get_m31(1); + let next_pc_limb_1_col8 = memoryidtobig_value_tmp_ad2c_5.get_m31(1); trace[8].data[row_index] = next_pc_limb_1_col8; - let next_pc_limb_2_col9 = memory_id_to_big_value_tmp_1274.get_m31(2); + let next_pc_limb_2_col9 = memoryidtobig_value_tmp_ad2c_5.get_m31(2); trace[9].data[row_index] = next_pc_limb_2_col9; sub_components_inputs.memory_id_to_big_inputs[0].extend(next_pc_id_col4.unpack()); diff --git a/stwo_cairo_prover/crates/prover/src/components/memory/memory_address_to_id/component.rs b/stwo_cairo_prover/crates/prover/src/components/memory/memory_address_to_id/component.rs index 45c29c4e..f342c1a5 100644 --- a/stwo_cairo_prover/crates/prover/src/components/memory/memory_address_to_id/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/memory/memory_address_to_id/component.rs @@ -44,11 +44,11 @@ impl FrameworkEval for Eval { fn evaluate(&self, mut eval: E) -> E { let address_and_id: [E::F; 2] = std::array::from_fn(|_| eval.next_trace_mask()); let multiplicity = eval.next_trace_mask(); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.lookup_elements, E::EF::from(-multiplicity), &address_and_id, - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/memory/memory_id_to_big/component.rs b/stwo_cairo_prover/crates/prover/src/components/memory/memory_id_to_big/component.rs index e2d4ac8c..7520e10e 100644 --- a/stwo_cairo_prover/crates/prover/src/components/memory/memory_id_to_big/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/memory/memory_id_to_big/component.rs @@ -69,19 +69,19 @@ impl FrameworkEval for BigEval { let id_and_value: [E::F; MEMORY_ID_SIZE + N_M31_IN_FELT252] = std::array::from_fn(|_| eval.next_trace_mask()); let multiplicity = eval.next_trace_mask(); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.lookup_elements, E::EF::from(-multiplicity), &id_and_value, - )]); + )); // Range check elements. for (l, r) in id_and_value[MEMORY_ID_SIZE..].iter().tuples() { - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.range9_9_lookup_elements, E::EF::one(), &[l.clone(), r.clone()], - )]); + )); } eval.finalize_logup(); @@ -123,19 +123,19 @@ impl FrameworkEval for SmallEval { let id_and_value: [E::F; SMALL_N_ID_AND_VALUE_COLUMNS] = std::array::from_fn(|_| eval.next_trace_mask()); let multiplicity = eval.next_trace_mask(); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.lookup_elements, E::EF::from(-multiplicity), &id_and_value, - )]); + )); // Range check elements. for (l, r) in id_and_value[MEMORY_ID_SIZE..].iter().tuples() { - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.range_check_9_9_relation, E::EF::one(), &[l.clone(), r.clone()], - )]); + )); } eval.finalize_logup(); diff --git a/stwo_cairo_prover/crates/prover/src/components/mod.rs b/stwo_cairo_prover/crates/prover/src/components/mod.rs index ade1dba8..997c00f5 100644 --- a/stwo_cairo_prover/crates/prover/src/components/mod.rs +++ b/stwo_cairo_prover/crates/prover/src/components/mod.rs @@ -1,5 +1,10 @@ +use std::array; +use std::cell::UnsafeCell; + use prover_types::simd::N_LANES; +use stwo_prover::core::backend::simd::column::BaseColumn; use stwo_prover::core::backend::simd::conversion::Pack; +use stwo_prover::core::backend::Column; pub mod add_ap_opcode_is_imm_f_op1_base_fp_f; pub mod add_ap_opcode_is_imm_f_op1_base_fp_t; @@ -47,3 +52,23 @@ pub fn pack_values(values: &[T]) -> Vec { .map(|c| T::pack(*c)) .collect() } + +// TODO(Ohad): move to another file. +struct ThreadSafeTrace { + data: [UnsafeCell; N], +} + +unsafe impl Send for ThreadSafeTrace {} +unsafe impl Sync for ThreadSafeTrace {} + +impl ThreadSafeTrace { + fn new(rows: usize) -> Self { + Self { + data: array::from_fn(|_| UnsafeCell::new(unsafe { BaseColumn::uninitialized(rows) })), + } + } + + pub fn inner(self) -> [BaseColumn; N] { + self.data.map(|c| c.into_inner()) + } +} diff --git a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/component.rs b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/component.rs index 6283f26c..a583dc1e 100644 --- a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/component.rs @@ -216,9 +216,9 @@ impl FrameworkEval for Eval { let carry_25_col124 = eval.next_trace_mask(); let carry_26_col125 = eval.next_trace_mask(); - // decode_instruction_15f7159a39884cc. + // DecodeInstruction_15f7159a39884cc. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -242,16 +242,16 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); // Either flag op1_base_fp is on or flag op1_base_ap is on. eval.add_constraint( ((op1_base_fp_col8.clone() + op1_base_ap_col9.clone()) - M31_1.clone()), ); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -260,9 +260,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col11.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -296,11 +296,11 @@ impl FrameworkEval for Eval { dst_limb_26_col38.clone(), dst_limb_27_col39.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -309,9 +309,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col40.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -345,11 +345,11 @@ impl FrameworkEval for Eval { op0_limb_26_col67.clone(), op0_limb_27_col68.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -358,9 +358,9 @@ impl FrameworkEval for Eval { + (offset2_col5.clone() - M31_32768.clone())), op1_id_col69.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -394,38 +394,38 @@ impl FrameworkEval for Eval { op1_limb_26_col96.clone(), op1_limb_27_col97.clone(), ], - )]); + )); - // verify_mul252. + // VerifyMul252. - let conv_tmp_1416 = ((M31_0.clone() - dst_limb_0_col12.clone()) + let conv_tmp_5a14_17 = ((M31_0.clone() - dst_limb_0_col12.clone()) + (op0_limb_0_col41.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1417 = (((M31_0.clone() - dst_limb_1_col13.clone()) + let conv_tmp_5a14_18 = (((M31_0.clone() - dst_limb_1_col13.clone()) + (op0_limb_0_col41.clone() * op1_limb_1_col71.clone())) + (op0_limb_1_col42.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1418 = ((((M31_0.clone() - dst_limb_2_col14.clone()) + let conv_tmp_5a14_19 = ((((M31_0.clone() - dst_limb_2_col14.clone()) + (op0_limb_0_col41.clone() * op1_limb_2_col72.clone())) + (op0_limb_1_col42.clone() * op1_limb_1_col71.clone())) + (op0_limb_2_col43.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1419 = (((((M31_0.clone() - dst_limb_3_col15.clone()) + let conv_tmp_5a14_20 = (((((M31_0.clone() - dst_limb_3_col15.clone()) + (op0_limb_0_col41.clone() * op1_limb_3_col73.clone())) + (op0_limb_1_col42.clone() * op1_limb_2_col72.clone())) + (op0_limb_2_col43.clone() * op1_limb_1_col71.clone())) + (op0_limb_3_col44.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1420 = ((((((M31_0.clone() - dst_limb_4_col16.clone()) + let conv_tmp_5a14_21 = ((((((M31_0.clone() - dst_limb_4_col16.clone()) + (op0_limb_0_col41.clone() * op1_limb_4_col74.clone())) + (op0_limb_1_col42.clone() * op1_limb_3_col73.clone())) + (op0_limb_2_col43.clone() * op1_limb_2_col72.clone())) + (op0_limb_3_col44.clone() * op1_limb_1_col71.clone())) + (op0_limb_4_col45.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1421 = (((((((M31_0.clone() - dst_limb_5_col17.clone()) + let conv_tmp_5a14_22 = (((((((M31_0.clone() - dst_limb_5_col17.clone()) + (op0_limb_0_col41.clone() * op1_limb_5_col75.clone())) + (op0_limb_1_col42.clone() * op1_limb_4_col74.clone())) + (op0_limb_2_col43.clone() * op1_limb_3_col73.clone())) + (op0_limb_3_col44.clone() * op1_limb_2_col72.clone())) + (op0_limb_4_col45.clone() * op1_limb_1_col71.clone())) + (op0_limb_5_col46.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1422 = ((((((((M31_0.clone() - dst_limb_6_col18.clone()) + let conv_tmp_5a14_23 = ((((((((M31_0.clone() - dst_limb_6_col18.clone()) + (op0_limb_0_col41.clone() * op1_limb_6_col76.clone())) + (op0_limb_1_col42.clone() * op1_limb_5_col75.clone())) + (op0_limb_2_col43.clone() * op1_limb_4_col74.clone())) @@ -433,7 +433,7 @@ impl FrameworkEval for Eval { + (op0_limb_4_col45.clone() * op1_limb_2_col72.clone())) + (op0_limb_5_col46.clone() * op1_limb_1_col71.clone())) + (op0_limb_6_col47.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1423 = (((((((((M31_0.clone() - dst_limb_7_col19.clone()) + let conv_tmp_5a14_24 = (((((((((M31_0.clone() - dst_limb_7_col19.clone()) + (op0_limb_0_col41.clone() * op1_limb_7_col77.clone())) + (op0_limb_1_col42.clone() * op1_limb_6_col76.clone())) + (op0_limb_2_col43.clone() * op1_limb_5_col75.clone())) @@ -442,7 +442,7 @@ impl FrameworkEval for Eval { + (op0_limb_5_col46.clone() * op1_limb_2_col72.clone())) + (op0_limb_6_col47.clone() * op1_limb_1_col71.clone())) + (op0_limb_7_col48.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1424 = ((((((((((M31_0.clone() - dst_limb_8_col20.clone()) + let conv_tmp_5a14_25 = ((((((((((M31_0.clone() - dst_limb_8_col20.clone()) + (op0_limb_0_col41.clone() * op1_limb_8_col78.clone())) + (op0_limb_1_col42.clone() * op1_limb_7_col77.clone())) + (op0_limb_2_col43.clone() * op1_limb_6_col76.clone())) @@ -452,7 +452,7 @@ impl FrameworkEval for Eval { + (op0_limb_6_col47.clone() * op1_limb_2_col72.clone())) + (op0_limb_7_col48.clone() * op1_limb_1_col71.clone())) + (op0_limb_8_col49.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1425 = (((((((((((M31_0.clone() - dst_limb_9_col21.clone()) + let conv_tmp_5a14_26 = (((((((((((M31_0.clone() - dst_limb_9_col21.clone()) + (op0_limb_0_col41.clone() * op1_limb_9_col79.clone())) + (op0_limb_1_col42.clone() * op1_limb_8_col78.clone())) + (op0_limb_2_col43.clone() * op1_limb_7_col77.clone())) @@ -463,7 +463,7 @@ impl FrameworkEval for Eval { + (op0_limb_7_col48.clone() * op1_limb_2_col72.clone())) + (op0_limb_8_col49.clone() * op1_limb_1_col71.clone())) + (op0_limb_9_col50.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1426 = ((((((((((((M31_0.clone() - dst_limb_10_col22.clone()) + let conv_tmp_5a14_27 = ((((((((((((M31_0.clone() - dst_limb_10_col22.clone()) + (op0_limb_0_col41.clone() * op1_limb_10_col80.clone())) + (op0_limb_1_col42.clone() * op1_limb_9_col79.clone())) + (op0_limb_2_col43.clone() * op1_limb_8_col78.clone())) @@ -475,7 +475,7 @@ impl FrameworkEval for Eval { + (op0_limb_8_col49.clone() * op1_limb_2_col72.clone())) + (op0_limb_9_col50.clone() * op1_limb_1_col71.clone())) + (op0_limb_10_col51.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1427 = (((((((((((((M31_0.clone() - dst_limb_11_col23.clone()) + let conv_tmp_5a14_28 = (((((((((((((M31_0.clone() - dst_limb_11_col23.clone()) + (op0_limb_0_col41.clone() * op1_limb_11_col81.clone())) + (op0_limb_1_col42.clone() * op1_limb_10_col80.clone())) + (op0_limb_2_col43.clone() * op1_limb_9_col79.clone())) @@ -488,7 +488,8 @@ impl FrameworkEval for Eval { + (op0_limb_9_col50.clone() * op1_limb_2_col72.clone())) + (op0_limb_10_col51.clone() * op1_limb_1_col71.clone())) + (op0_limb_11_col52.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1428 = ((((((((((((((M31_0.clone() - dst_limb_12_col24.clone()) + let conv_tmp_5a14_29 = ((((((((((((((M31_0.clone() + - dst_limb_12_col24.clone()) + (op0_limb_0_col41.clone() * op1_limb_12_col82.clone())) + (op0_limb_1_col42.clone() * op1_limb_11_col81.clone())) + (op0_limb_2_col43.clone() * op1_limb_10_col80.clone())) @@ -502,7 +503,8 @@ impl FrameworkEval for Eval { + (op0_limb_10_col51.clone() * op1_limb_2_col72.clone())) + (op0_limb_11_col52.clone() * op1_limb_1_col71.clone())) + (op0_limb_12_col53.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1429 = (((((((((((((((M31_0.clone() - dst_limb_13_col25.clone()) + let conv_tmp_5a14_30 = (((((((((((((((M31_0.clone() + - dst_limb_13_col25.clone()) + (op0_limb_0_col41.clone() * op1_limb_13_col83.clone())) + (op0_limb_1_col42.clone() * op1_limb_12_col82.clone())) + (op0_limb_2_col43.clone() * op1_limb_11_col81.clone())) @@ -517,7 +519,7 @@ impl FrameworkEval for Eval { + (op0_limb_11_col52.clone() * op1_limb_2_col72.clone())) + (op0_limb_12_col53.clone() * op1_limb_1_col71.clone())) + (op0_limb_13_col54.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1430 = ((((((((((((((((M31_0.clone() + let conv_tmp_5a14_31 = ((((((((((((((((M31_0.clone() - dst_limb_14_col26.clone()) + (op0_limb_0_col41.clone() * op1_limb_14_col84.clone())) + (op0_limb_1_col42.clone() * op1_limb_13_col83.clone())) @@ -534,7 +536,7 @@ impl FrameworkEval for Eval { + (op0_limb_12_col53.clone() * op1_limb_2_col72.clone())) + (op0_limb_13_col54.clone() * op1_limb_1_col71.clone())) + (op0_limb_14_col55.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1431 = (((((((((((((((((M31_0.clone() + let conv_tmp_5a14_32 = (((((((((((((((((M31_0.clone() - dst_limb_15_col27.clone()) + (op0_limb_0_col41.clone() * op1_limb_15_col85.clone())) + (op0_limb_1_col42.clone() * op1_limb_14_col84.clone())) @@ -552,7 +554,7 @@ impl FrameworkEval for Eval { + (op0_limb_13_col54.clone() * op1_limb_2_col72.clone())) + (op0_limb_14_col55.clone() * op1_limb_1_col71.clone())) + (op0_limb_15_col56.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1432 = ((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_33 = ((((((((((((((((((M31_0.clone() - dst_limb_16_col28.clone()) + (op0_limb_0_col41.clone() * op1_limb_16_col86.clone())) + (op0_limb_1_col42.clone() * op1_limb_15_col85.clone())) @@ -571,7 +573,7 @@ impl FrameworkEval for Eval { + (op0_limb_14_col55.clone() * op1_limb_2_col72.clone())) + (op0_limb_15_col56.clone() * op1_limb_1_col71.clone())) + (op0_limb_16_col57.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1433 = (((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_34 = (((((((((((((((((((M31_0.clone() - dst_limb_17_col29.clone()) + (op0_limb_0_col41.clone() * op1_limb_17_col87.clone())) + (op0_limb_1_col42.clone() * op1_limb_16_col86.clone())) @@ -591,7 +593,7 @@ impl FrameworkEval for Eval { + (op0_limb_15_col56.clone() * op1_limb_2_col72.clone())) + (op0_limb_16_col57.clone() * op1_limb_1_col71.clone())) + (op0_limb_17_col58.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1434 = ((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_35 = ((((((((((((((((((((M31_0.clone() - dst_limb_18_col30.clone()) + (op0_limb_0_col41.clone() * op1_limb_18_col88.clone())) + (op0_limb_1_col42.clone() * op1_limb_17_col87.clone())) @@ -612,7 +614,7 @@ impl FrameworkEval for Eval { + (op0_limb_16_col57.clone() * op1_limb_2_col72.clone())) + (op0_limb_17_col58.clone() * op1_limb_1_col71.clone())) + (op0_limb_18_col59.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1435 = (((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_36 = (((((((((((((((((((((M31_0.clone() - dst_limb_19_col31.clone()) + (op0_limb_0_col41.clone() * op1_limb_19_col89.clone())) + (op0_limb_1_col42.clone() * op1_limb_18_col88.clone())) @@ -634,7 +636,7 @@ impl FrameworkEval for Eval { + (op0_limb_17_col58.clone() * op1_limb_2_col72.clone())) + (op0_limb_18_col59.clone() * op1_limb_1_col71.clone())) + (op0_limb_19_col60.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1436 = ((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_37 = ((((((((((((((((((((((M31_0.clone() - dst_limb_20_col32.clone()) + (op0_limb_0_col41.clone() * op1_limb_20_col90.clone())) + (op0_limb_1_col42.clone() * op1_limb_19_col89.clone())) @@ -657,7 +659,7 @@ impl FrameworkEval for Eval { + (op0_limb_18_col59.clone() * op1_limb_2_col72.clone())) + (op0_limb_19_col60.clone() * op1_limb_1_col71.clone())) + (op0_limb_20_col61.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1437 = (((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_38 = (((((((((((((((((((((((M31_0.clone() - dst_limb_21_col33.clone()) + (op0_limb_0_col41.clone() * op1_limb_21_col91.clone())) + (op0_limb_1_col42.clone() * op1_limb_20_col90.clone())) @@ -681,7 +683,7 @@ impl FrameworkEval for Eval { + (op0_limb_19_col60.clone() * op1_limb_2_col72.clone())) + (op0_limb_20_col61.clone() * op1_limb_1_col71.clone())) + (op0_limb_21_col62.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1438 = ((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_39 = ((((((((((((((((((((((((M31_0.clone() - dst_limb_22_col34.clone()) + (op0_limb_0_col41.clone() * op1_limb_22_col92.clone())) + (op0_limb_1_col42.clone() * op1_limb_21_col91.clone())) @@ -706,7 +708,7 @@ impl FrameworkEval for Eval { + (op0_limb_20_col61.clone() * op1_limb_2_col72.clone())) + (op0_limb_21_col62.clone() * op1_limb_1_col71.clone())) + (op0_limb_22_col63.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1439 = (((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_40 = (((((((((((((((((((((((((M31_0.clone() - dst_limb_23_col35.clone()) + (op0_limb_0_col41.clone() * op1_limb_23_col93.clone())) + (op0_limb_1_col42.clone() * op1_limb_22_col92.clone())) @@ -732,7 +734,7 @@ impl FrameworkEval for Eval { + (op0_limb_21_col62.clone() * op1_limb_2_col72.clone())) + (op0_limb_22_col63.clone() * op1_limb_1_col71.clone())) + (op0_limb_23_col64.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1440 = ((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_41 = ((((((((((((((((((((((((((M31_0.clone() - dst_limb_24_col36.clone()) + (op0_limb_0_col41.clone() * op1_limb_24_col94.clone())) + (op0_limb_1_col42.clone() * op1_limb_23_col93.clone())) @@ -759,7 +761,7 @@ impl FrameworkEval for Eval { + (op0_limb_22_col63.clone() * op1_limb_2_col72.clone())) + (op0_limb_23_col64.clone() * op1_limb_1_col71.clone())) + (op0_limb_24_col65.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1441 = (((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_42 = (((((((((((((((((((((((((((M31_0.clone() - dst_limb_25_col37.clone()) + (op0_limb_0_col41.clone() * op1_limb_25_col95.clone())) + (op0_limb_1_col42.clone() * op1_limb_24_col94.clone())) @@ -787,7 +789,8 @@ impl FrameworkEval for Eval { + (op0_limb_23_col64.clone() * op1_limb_2_col72.clone())) + (op0_limb_24_col65.clone() * op1_limb_1_col71.clone())) + (op0_limb_25_col66.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1442 = ((((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_43 = ((((((((((((((((((((((((((((M31_0 + .clone() - dst_limb_26_col38.clone()) + (op0_limb_0_col41.clone() * op1_limb_26_col96.clone())) + (op0_limb_1_col42.clone() * op1_limb_25_col95.clone())) @@ -816,7 +819,8 @@ impl FrameworkEval for Eval { + (op0_limb_24_col65.clone() * op1_limb_2_col72.clone())) + (op0_limb_25_col66.clone() * op1_limb_1_col71.clone())) + (op0_limb_26_col67.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1443 = (((((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_44 = (((((((((((((((((((((((((((((M31_0 + .clone() - dst_limb_27_col39.clone()) + (op0_limb_0_col41.clone() * op1_limb_27_col97.clone())) + (op0_limb_1_col42.clone() * op1_limb_26_col96.clone())) @@ -846,7 +850,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_2_col72.clone())) + (op0_limb_26_col67.clone() * op1_limb_1_col71.clone())) + (op0_limb_27_col68.clone() * op1_limb_0_col70.clone())); - let conv_tmp_1444 = (((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_45 = (((((((((((((((((((((((((((M31_0.clone() + (op0_limb_1_col42.clone() * op1_limb_27_col97.clone())) + (op0_limb_2_col43.clone() * op1_limb_26_col96.clone())) + (op0_limb_3_col44.clone() * op1_limb_25_col95.clone())) @@ -874,7 +878,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_3_col73.clone())) + (op0_limb_26_col67.clone() * op1_limb_2_col72.clone())) + (op0_limb_27_col68.clone() * op1_limb_1_col71.clone())); - let conv_tmp_1445 = ((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_46 = ((((((((((((((((((((((((((M31_0.clone() + (op0_limb_2_col43.clone() * op1_limb_27_col97.clone())) + (op0_limb_3_col44.clone() * op1_limb_26_col96.clone())) + (op0_limb_4_col45.clone() * op1_limb_25_col95.clone())) @@ -901,7 +905,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_4_col74.clone())) + (op0_limb_26_col67.clone() * op1_limb_3_col73.clone())) + (op0_limb_27_col68.clone() * op1_limb_2_col72.clone())); - let conv_tmp_1446 = (((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_47 = (((((((((((((((((((((((((M31_0.clone() + (op0_limb_3_col44.clone() * op1_limb_27_col97.clone())) + (op0_limb_4_col45.clone() * op1_limb_26_col96.clone())) + (op0_limb_5_col46.clone() * op1_limb_25_col95.clone())) @@ -927,7 +931,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_5_col75.clone())) + (op0_limb_26_col67.clone() * op1_limb_4_col74.clone())) + (op0_limb_27_col68.clone() * op1_limb_3_col73.clone())); - let conv_tmp_1447 = ((((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_48 = ((((((((((((((((((((((((M31_0.clone() + (op0_limb_4_col45.clone() * op1_limb_27_col97.clone())) + (op0_limb_5_col46.clone() * op1_limb_26_col96.clone())) + (op0_limb_6_col47.clone() * op1_limb_25_col95.clone())) @@ -952,7 +956,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_6_col76.clone())) + (op0_limb_26_col67.clone() * op1_limb_5_col75.clone())) + (op0_limb_27_col68.clone() * op1_limb_4_col74.clone())); - let conv_tmp_1448 = (((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_49 = (((((((((((((((((((((((M31_0.clone() + (op0_limb_5_col46.clone() * op1_limb_27_col97.clone())) + (op0_limb_6_col47.clone() * op1_limb_26_col96.clone())) + (op0_limb_7_col48.clone() * op1_limb_25_col95.clone())) @@ -976,7 +980,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_7_col77.clone())) + (op0_limb_26_col67.clone() * op1_limb_6_col76.clone())) + (op0_limb_27_col68.clone() * op1_limb_5_col75.clone())); - let conv_tmp_1449 = ((((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_50 = ((((((((((((((((((((((M31_0.clone() + (op0_limb_6_col47.clone() * op1_limb_27_col97.clone())) + (op0_limb_7_col48.clone() * op1_limb_26_col96.clone())) + (op0_limb_8_col49.clone() * op1_limb_25_col95.clone())) @@ -999,7 +1003,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_8_col78.clone())) + (op0_limb_26_col67.clone() * op1_limb_7_col77.clone())) + (op0_limb_27_col68.clone() * op1_limb_6_col76.clone())); - let conv_tmp_1450 = (((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_51 = (((((((((((((((((((((M31_0.clone() + (op0_limb_7_col48.clone() * op1_limb_27_col97.clone())) + (op0_limb_8_col49.clone() * op1_limb_26_col96.clone())) + (op0_limb_9_col50.clone() * op1_limb_25_col95.clone())) @@ -1021,7 +1025,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_9_col79.clone())) + (op0_limb_26_col67.clone() * op1_limb_8_col78.clone())) + (op0_limb_27_col68.clone() * op1_limb_7_col77.clone())); - let conv_tmp_1451 = ((((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_52 = ((((((((((((((((((((M31_0.clone() + (op0_limb_8_col49.clone() * op1_limb_27_col97.clone())) + (op0_limb_9_col50.clone() * op1_limb_26_col96.clone())) + (op0_limb_10_col51.clone() * op1_limb_25_col95.clone())) @@ -1042,7 +1046,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_10_col80.clone())) + (op0_limb_26_col67.clone() * op1_limb_9_col79.clone())) + (op0_limb_27_col68.clone() * op1_limb_8_col78.clone())); - let conv_tmp_1452 = (((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_53 = (((((((((((((((((((M31_0.clone() + (op0_limb_9_col50.clone() * op1_limb_27_col97.clone())) + (op0_limb_10_col51.clone() * op1_limb_26_col96.clone())) + (op0_limb_11_col52.clone() * op1_limb_25_col95.clone())) @@ -1062,7 +1066,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_11_col81.clone())) + (op0_limb_26_col67.clone() * op1_limb_10_col80.clone())) + (op0_limb_27_col68.clone() * op1_limb_9_col79.clone())); - let conv_tmp_1453 = ((((((((((((((((((M31_0.clone() + let conv_tmp_5a14_54 = ((((((((((((((((((M31_0.clone() + (op0_limb_10_col51.clone() * op1_limb_27_col97.clone())) + (op0_limb_11_col52.clone() * op1_limb_26_col96.clone())) + (op0_limb_12_col53.clone() * op1_limb_25_col95.clone())) @@ -1081,7 +1085,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_12_col82.clone())) + (op0_limb_26_col67.clone() * op1_limb_11_col81.clone())) + (op0_limb_27_col68.clone() * op1_limb_10_col80.clone())); - let conv_tmp_1454 = (((((((((((((((((M31_0.clone() + let conv_tmp_5a14_55 = (((((((((((((((((M31_0.clone() + (op0_limb_11_col52.clone() * op1_limb_27_col97.clone())) + (op0_limb_12_col53.clone() * op1_limb_26_col96.clone())) + (op0_limb_13_col54.clone() * op1_limb_25_col95.clone())) @@ -1099,7 +1103,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_13_col83.clone())) + (op0_limb_26_col67.clone() * op1_limb_12_col82.clone())) + (op0_limb_27_col68.clone() * op1_limb_11_col81.clone())); - let conv_tmp_1455 = ((((((((((((((((M31_0.clone() + let conv_tmp_5a14_56 = ((((((((((((((((M31_0.clone() + (op0_limb_12_col53.clone() * op1_limb_27_col97.clone())) + (op0_limb_13_col54.clone() * op1_limb_26_col96.clone())) + (op0_limb_14_col55.clone() * op1_limb_25_col95.clone())) @@ -1116,7 +1120,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_14_col84.clone())) + (op0_limb_26_col67.clone() * op1_limb_13_col83.clone())) + (op0_limb_27_col68.clone() * op1_limb_12_col82.clone())); - let conv_tmp_1456 = (((((((((((((((M31_0.clone() + let conv_tmp_5a14_57 = (((((((((((((((M31_0.clone() + (op0_limb_13_col54.clone() * op1_limb_27_col97.clone())) + (op0_limb_14_col55.clone() * op1_limb_26_col96.clone())) + (op0_limb_15_col56.clone() * op1_limb_25_col95.clone())) @@ -1132,7 +1136,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_15_col85.clone())) + (op0_limb_26_col67.clone() * op1_limb_14_col84.clone())) + (op0_limb_27_col68.clone() * op1_limb_13_col83.clone())); - let conv_tmp_1457 = ((((((((((((((M31_0.clone() + let conv_tmp_5a14_58 = ((((((((((((((M31_0.clone() + (op0_limb_14_col55.clone() * op1_limb_27_col97.clone())) + (op0_limb_15_col56.clone() * op1_limb_26_col96.clone())) + (op0_limb_16_col57.clone() * op1_limb_25_col95.clone())) @@ -1147,7 +1151,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_16_col86.clone())) + (op0_limb_26_col67.clone() * op1_limb_15_col85.clone())) + (op0_limb_27_col68.clone() * op1_limb_14_col84.clone())); - let conv_tmp_1458 = (((((((((((((M31_0.clone() + let conv_tmp_5a14_59 = (((((((((((((M31_0.clone() + (op0_limb_15_col56.clone() * op1_limb_27_col97.clone())) + (op0_limb_16_col57.clone() * op1_limb_26_col96.clone())) + (op0_limb_17_col58.clone() * op1_limb_25_col95.clone())) @@ -1161,7 +1165,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_17_col87.clone())) + (op0_limb_26_col67.clone() * op1_limb_16_col86.clone())) + (op0_limb_27_col68.clone() * op1_limb_15_col85.clone())); - let conv_tmp_1459 = ((((((((((((M31_0.clone() + let conv_tmp_5a14_60 = ((((((((((((M31_0.clone() + (op0_limb_16_col57.clone() * op1_limb_27_col97.clone())) + (op0_limb_17_col58.clone() * op1_limb_26_col96.clone())) + (op0_limb_18_col59.clone() * op1_limb_25_col95.clone())) @@ -1174,7 +1178,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_18_col88.clone())) + (op0_limb_26_col67.clone() * op1_limb_17_col87.clone())) + (op0_limb_27_col68.clone() * op1_limb_16_col86.clone())); - let conv_tmp_1460 = (((((((((((M31_0.clone() + let conv_tmp_5a14_61 = (((((((((((M31_0.clone() + (op0_limb_17_col58.clone() * op1_limb_27_col97.clone())) + (op0_limb_18_col59.clone() * op1_limb_26_col96.clone())) + (op0_limb_19_col60.clone() * op1_limb_25_col95.clone())) @@ -1186,7 +1190,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_19_col89.clone())) + (op0_limb_26_col67.clone() * op1_limb_18_col88.clone())) + (op0_limb_27_col68.clone() * op1_limb_17_col87.clone())); - let conv_tmp_1461 = ((((((((((M31_0.clone() + let conv_tmp_5a14_62 = ((((((((((M31_0.clone() + (op0_limb_18_col59.clone() * op1_limb_27_col97.clone())) + (op0_limb_19_col60.clone() * op1_limb_26_col96.clone())) + (op0_limb_20_col61.clone() * op1_limb_25_col95.clone())) @@ -1197,7 +1201,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_20_col90.clone())) + (op0_limb_26_col67.clone() * op1_limb_19_col89.clone())) + (op0_limb_27_col68.clone() * op1_limb_18_col88.clone())); - let conv_tmp_1462 = (((((((((M31_0.clone() + let conv_tmp_5a14_63 = (((((((((M31_0.clone() + (op0_limb_19_col60.clone() * op1_limb_27_col97.clone())) + (op0_limb_20_col61.clone() * op1_limb_26_col96.clone())) + (op0_limb_21_col62.clone() * op1_limb_25_col95.clone())) @@ -1207,7 +1211,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_21_col91.clone())) + (op0_limb_26_col67.clone() * op1_limb_20_col90.clone())) + (op0_limb_27_col68.clone() * op1_limb_19_col89.clone())); - let conv_tmp_1463 = ((((((((M31_0.clone() + let conv_tmp_5a14_64 = ((((((((M31_0.clone() + (op0_limb_20_col61.clone() * op1_limb_27_col97.clone())) + (op0_limb_21_col62.clone() * op1_limb_26_col96.clone())) + (op0_limb_22_col63.clone() * op1_limb_25_col95.clone())) @@ -1216,7 +1220,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_22_col92.clone())) + (op0_limb_26_col67.clone() * op1_limb_21_col91.clone())) + (op0_limb_27_col68.clone() * op1_limb_20_col90.clone())); - let conv_tmp_1464 = (((((((M31_0.clone() + let conv_tmp_5a14_65 = (((((((M31_0.clone() + (op0_limb_21_col62.clone() * op1_limb_27_col97.clone())) + (op0_limb_22_col63.clone() * op1_limb_26_col96.clone())) + (op0_limb_23_col64.clone() * op1_limb_25_col95.clone())) @@ -1224,426 +1228,452 @@ impl FrameworkEval for Eval { + (op0_limb_25_col66.clone() * op1_limb_23_col93.clone())) + (op0_limb_26_col67.clone() * op1_limb_22_col92.clone())) + (op0_limb_27_col68.clone() * op1_limb_21_col91.clone())); - let conv_tmp_1465 = ((((((M31_0.clone() + let conv_tmp_5a14_66 = ((((((M31_0.clone() + (op0_limb_22_col63.clone() * op1_limb_27_col97.clone())) + (op0_limb_23_col64.clone() * op1_limb_26_col96.clone())) + (op0_limb_24_col65.clone() * op1_limb_25_col95.clone())) + (op0_limb_25_col66.clone() * op1_limb_24_col94.clone())) + (op0_limb_26_col67.clone() * op1_limb_23_col93.clone())) + (op0_limb_27_col68.clone() * op1_limb_22_col92.clone())); - let conv_tmp_1466 = (((((M31_0.clone() + let conv_tmp_5a14_67 = (((((M31_0.clone() + (op0_limb_23_col64.clone() * op1_limb_27_col97.clone())) + (op0_limb_24_col65.clone() * op1_limb_26_col96.clone())) + (op0_limb_25_col66.clone() * op1_limb_25_col95.clone())) + (op0_limb_26_col67.clone() * op1_limb_24_col94.clone())) + (op0_limb_27_col68.clone() * op1_limb_23_col93.clone())); - let conv_tmp_1467 = ((((M31_0.clone() + let conv_tmp_5a14_68 = ((((M31_0.clone() + (op0_limb_24_col65.clone() * op1_limb_27_col97.clone())) + (op0_limb_25_col66.clone() * op1_limb_26_col96.clone())) + (op0_limb_26_col67.clone() * op1_limb_25_col95.clone())) + (op0_limb_27_col68.clone() * op1_limb_24_col94.clone())); - let conv_tmp_1468 = (((M31_0.clone() + let conv_tmp_5a14_69 = (((M31_0.clone() + (op0_limb_25_col66.clone() * op1_limb_27_col97.clone())) + (op0_limb_26_col67.clone() * op1_limb_26_col96.clone())) + (op0_limb_27_col68.clone() * op1_limb_25_col95.clone())); - let conv_tmp_1469 = ((M31_0.clone() + let conv_tmp_5a14_70 = ((M31_0.clone() + (op0_limb_26_col67.clone() * op1_limb_27_col97.clone())) + (op0_limb_27_col68.clone() * op1_limb_26_col96.clone())); - let conv_tmp_1470 = + let conv_tmp_5a14_71 = (M31_0.clone() + (op0_limb_27_col68.clone() * op1_limb_27_col97.clone())); - let conv_mod_tmp_1471 = (((M31_0.clone() + (M31_32.clone() * conv_tmp_1416.clone())) - - (M31_4.clone() * conv_tmp_1437.clone())) - + (M31_8.clone() * conv_tmp_1465.clone())); - let conv_mod_tmp_1472 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1416.clone())) - + (M31_32.clone() * conv_tmp_1417.clone())) - - (M31_4.clone() * conv_tmp_1438.clone())) - + (M31_8.clone() * conv_tmp_1466.clone())); - let conv_mod_tmp_1473 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1417.clone())) - + (M31_32.clone() * conv_tmp_1418.clone())) - - (M31_4.clone() * conv_tmp_1439.clone())) - + (M31_8.clone() * conv_tmp_1467.clone())); - let conv_mod_tmp_1474 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1418.clone())) - + (M31_32.clone() * conv_tmp_1419.clone())) - - (M31_4.clone() * conv_tmp_1440.clone())) - + (M31_8.clone() * conv_tmp_1468.clone())); - let conv_mod_tmp_1475 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1419.clone())) - + (M31_32.clone() * conv_tmp_1420.clone())) - - (M31_4.clone() * conv_tmp_1441.clone())) - + (M31_8.clone() * conv_tmp_1469.clone())); - let conv_mod_tmp_1476 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1420.clone())) - + (M31_32.clone() * conv_tmp_1421.clone())) - - (M31_4.clone() * conv_tmp_1442.clone())) - + (M31_8.clone() * conv_tmp_1470.clone())); - let conv_mod_tmp_1477 = (((M31_0.clone() + (M31_1.clone() * conv_tmp_1421.clone())) - + (M31_32.clone() * conv_tmp_1422.clone())) - - (M31_4.clone() * conv_tmp_1443.clone())); - let conv_mod_tmp_1478 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1416.clone())) - + (M31_1.clone() * conv_tmp_1422.clone())) - + (M31_32.clone() * conv_tmp_1423.clone())) - - (M31_4.clone() * conv_tmp_1444.clone())); - let conv_mod_tmp_1479 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1417.clone())) - + (M31_1.clone() * conv_tmp_1423.clone())) - + (M31_32.clone() * conv_tmp_1424.clone())) - - (M31_4.clone() * conv_tmp_1445.clone())); - let conv_mod_tmp_1480 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1418.clone())) - + (M31_1.clone() * conv_tmp_1424.clone())) - + (M31_32.clone() * conv_tmp_1425.clone())) - - (M31_4.clone() * conv_tmp_1446.clone())); - let conv_mod_tmp_1481 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1419.clone())) - + (M31_1.clone() * conv_tmp_1425.clone())) - + (M31_32.clone() * conv_tmp_1426.clone())) - - (M31_4.clone() * conv_tmp_1447.clone())); - let conv_mod_tmp_1482 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1420.clone())) - + (M31_1.clone() * conv_tmp_1426.clone())) - + (M31_32.clone() * conv_tmp_1427.clone())) - - (M31_4.clone() * conv_tmp_1448.clone())); - let conv_mod_tmp_1483 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1421.clone())) - + (M31_1.clone() * conv_tmp_1427.clone())) - + (M31_32.clone() * conv_tmp_1428.clone())) - - (M31_4.clone() * conv_tmp_1449.clone())); - let conv_mod_tmp_1484 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1422.clone())) - + (M31_1.clone() * conv_tmp_1428.clone())) - + (M31_32.clone() * conv_tmp_1429.clone())) - - (M31_4.clone() * conv_tmp_1450.clone())); - let conv_mod_tmp_1485 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1423.clone())) - + (M31_1.clone() * conv_tmp_1429.clone())) - + (M31_32.clone() * conv_tmp_1430.clone())) - - (M31_4.clone() * conv_tmp_1451.clone())); - let conv_mod_tmp_1486 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1424.clone())) - + (M31_1.clone() * conv_tmp_1430.clone())) - + (M31_32.clone() * conv_tmp_1431.clone())) - - (M31_4.clone() * conv_tmp_1452.clone())); - let conv_mod_tmp_1487 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1425.clone())) - + (M31_1.clone() * conv_tmp_1431.clone())) - + (M31_32.clone() * conv_tmp_1432.clone())) - - (M31_4.clone() * conv_tmp_1453.clone())); - let conv_mod_tmp_1488 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1426.clone())) - + (M31_1.clone() * conv_tmp_1432.clone())) - + (M31_32.clone() * conv_tmp_1433.clone())) - - (M31_4.clone() * conv_tmp_1454.clone())); - let conv_mod_tmp_1489 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1427.clone())) - + (M31_1.clone() * conv_tmp_1433.clone())) - + (M31_32.clone() * conv_tmp_1434.clone())) - - (M31_4.clone() * conv_tmp_1455.clone())); - let conv_mod_tmp_1490 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1428.clone())) - + (M31_1.clone() * conv_tmp_1434.clone())) - + (M31_32.clone() * conv_tmp_1435.clone())) - - (M31_4.clone() * conv_tmp_1456.clone())); - let conv_mod_tmp_1491 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1429.clone())) - + (M31_1.clone() * conv_tmp_1435.clone())) - + (M31_32.clone() * conv_tmp_1436.clone())) - - (M31_4.clone() * conv_tmp_1457.clone())); - let conv_mod_tmp_1492 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1430.clone())) - + (M31_1.clone() * conv_tmp_1436.clone())) - - (M31_4.clone() * conv_tmp_1458.clone())) - + (M31_64.clone() * conv_tmp_1465.clone())); - let conv_mod_tmp_1493 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1431.clone())) - - (M31_4.clone() * conv_tmp_1459.clone())) - + (M31_2.clone() * conv_tmp_1465.clone())) - + (M31_64.clone() * conv_tmp_1466.clone())); - let conv_mod_tmp_1494 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1432.clone())) - - (M31_4.clone() * conv_tmp_1460.clone())) - + (M31_2.clone() * conv_tmp_1466.clone())) - + (M31_64.clone() * conv_tmp_1467.clone())); - let conv_mod_tmp_1495 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1433.clone())) - - (M31_4.clone() * conv_tmp_1461.clone())) - + (M31_2.clone() * conv_tmp_1467.clone())) - + (M31_64.clone() * conv_tmp_1468.clone())); - let conv_mod_tmp_1496 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1434.clone())) - - (M31_4.clone() * conv_tmp_1462.clone())) - + (M31_2.clone() * conv_tmp_1468.clone())) - + (M31_64.clone() * conv_tmp_1469.clone())); - let conv_mod_tmp_1497 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1435.clone())) - - (M31_4.clone() * conv_tmp_1463.clone())) - + (M31_2.clone() * conv_tmp_1469.clone())) - + (M31_64.clone() * conv_tmp_1470.clone())); - let conv_mod_tmp_1498 = (((M31_0.clone() + (M31_2.clone() * conv_tmp_1436.clone())) - - (M31_4.clone() * conv_tmp_1464.clone())) - + (M31_2.clone() * conv_tmp_1470.clone())); - eval.add_to_relation(&[RelationEntry::new( + let conv_mod_tmp_5a14_72 = (((M31_0.clone() + + (M31_32.clone() * conv_tmp_5a14_17.clone())) + - (M31_4.clone() * conv_tmp_5a14_38.clone())) + + (M31_8.clone() * conv_tmp_5a14_66.clone())); + let conv_mod_tmp_5a14_73 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5a14_17.clone())) + + (M31_32.clone() * conv_tmp_5a14_18.clone())) + - (M31_4.clone() * conv_tmp_5a14_39.clone())) + + (M31_8.clone() * conv_tmp_5a14_67.clone())); + let conv_mod_tmp_5a14_74 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5a14_18.clone())) + + (M31_32.clone() * conv_tmp_5a14_19.clone())) + - (M31_4.clone() * conv_tmp_5a14_40.clone())) + + (M31_8.clone() * conv_tmp_5a14_68.clone())); + let conv_mod_tmp_5a14_75 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5a14_19.clone())) + + (M31_32.clone() * conv_tmp_5a14_20.clone())) + - (M31_4.clone() * conv_tmp_5a14_41.clone())) + + (M31_8.clone() * conv_tmp_5a14_69.clone())); + let conv_mod_tmp_5a14_76 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5a14_20.clone())) + + (M31_32.clone() * conv_tmp_5a14_21.clone())) + - (M31_4.clone() * conv_tmp_5a14_42.clone())) + + (M31_8.clone() * conv_tmp_5a14_70.clone())); + let conv_mod_tmp_5a14_77 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_5a14_21.clone())) + + (M31_32.clone() * conv_tmp_5a14_22.clone())) + - (M31_4.clone() * conv_tmp_5a14_43.clone())) + + (M31_8.clone() * conv_tmp_5a14_71.clone())); + let conv_mod_tmp_5a14_78 = (((M31_0.clone() + (M31_1.clone() * conv_tmp_5a14_22.clone())) + + (M31_32.clone() * conv_tmp_5a14_23.clone())) + - (M31_4.clone() * conv_tmp_5a14_44.clone())); + let conv_mod_tmp_5a14_79 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_17.clone())) + + (M31_1.clone() * conv_tmp_5a14_23.clone())) + + (M31_32.clone() * conv_tmp_5a14_24.clone())) + - (M31_4.clone() * conv_tmp_5a14_45.clone())); + let conv_mod_tmp_5a14_80 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_18.clone())) + + (M31_1.clone() * conv_tmp_5a14_24.clone())) + + (M31_32.clone() * conv_tmp_5a14_25.clone())) + - (M31_4.clone() * conv_tmp_5a14_46.clone())); + let conv_mod_tmp_5a14_81 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_19.clone())) + + (M31_1.clone() * conv_tmp_5a14_25.clone())) + + (M31_32.clone() * conv_tmp_5a14_26.clone())) + - (M31_4.clone() * conv_tmp_5a14_47.clone())); + let conv_mod_tmp_5a14_82 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_20.clone())) + + (M31_1.clone() * conv_tmp_5a14_26.clone())) + + (M31_32.clone() * conv_tmp_5a14_27.clone())) + - (M31_4.clone() * conv_tmp_5a14_48.clone())); + let conv_mod_tmp_5a14_83 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_21.clone())) + + (M31_1.clone() * conv_tmp_5a14_27.clone())) + + (M31_32.clone() * conv_tmp_5a14_28.clone())) + - (M31_4.clone() * conv_tmp_5a14_49.clone())); + let conv_mod_tmp_5a14_84 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_22.clone())) + + (M31_1.clone() * conv_tmp_5a14_28.clone())) + + (M31_32.clone() * conv_tmp_5a14_29.clone())) + - (M31_4.clone() * conv_tmp_5a14_50.clone())); + let conv_mod_tmp_5a14_85 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_23.clone())) + + (M31_1.clone() * conv_tmp_5a14_29.clone())) + + (M31_32.clone() * conv_tmp_5a14_30.clone())) + - (M31_4.clone() * conv_tmp_5a14_51.clone())); + let conv_mod_tmp_5a14_86 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_24.clone())) + + (M31_1.clone() * conv_tmp_5a14_30.clone())) + + (M31_32.clone() * conv_tmp_5a14_31.clone())) + - (M31_4.clone() * conv_tmp_5a14_52.clone())); + let conv_mod_tmp_5a14_87 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_25.clone())) + + (M31_1.clone() * conv_tmp_5a14_31.clone())) + + (M31_32.clone() * conv_tmp_5a14_32.clone())) + - (M31_4.clone() * conv_tmp_5a14_53.clone())); + let conv_mod_tmp_5a14_88 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_26.clone())) + + (M31_1.clone() * conv_tmp_5a14_32.clone())) + + (M31_32.clone() * conv_tmp_5a14_33.clone())) + - (M31_4.clone() * conv_tmp_5a14_54.clone())); + let conv_mod_tmp_5a14_89 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_27.clone())) + + (M31_1.clone() * conv_tmp_5a14_33.clone())) + + (M31_32.clone() * conv_tmp_5a14_34.clone())) + - (M31_4.clone() * conv_tmp_5a14_55.clone())); + let conv_mod_tmp_5a14_90 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_28.clone())) + + (M31_1.clone() * conv_tmp_5a14_34.clone())) + + (M31_32.clone() * conv_tmp_5a14_35.clone())) + - (M31_4.clone() * conv_tmp_5a14_56.clone())); + let conv_mod_tmp_5a14_91 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_29.clone())) + + (M31_1.clone() * conv_tmp_5a14_35.clone())) + + (M31_32.clone() * conv_tmp_5a14_36.clone())) + - (M31_4.clone() * conv_tmp_5a14_57.clone())); + let conv_mod_tmp_5a14_92 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_30.clone())) + + (M31_1.clone() * conv_tmp_5a14_36.clone())) + + (M31_32.clone() * conv_tmp_5a14_37.clone())) + - (M31_4.clone() * conv_tmp_5a14_58.clone())); + let conv_mod_tmp_5a14_93 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_31.clone())) + + (M31_1.clone() * conv_tmp_5a14_37.clone())) + - (M31_4.clone() * conv_tmp_5a14_59.clone())) + + (M31_64.clone() * conv_tmp_5a14_66.clone())); + let conv_mod_tmp_5a14_94 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_32.clone())) + - (M31_4.clone() * conv_tmp_5a14_60.clone())) + + (M31_2.clone() * conv_tmp_5a14_66.clone())) + + (M31_64.clone() * conv_tmp_5a14_67.clone())); + let conv_mod_tmp_5a14_95 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_33.clone())) + - (M31_4.clone() * conv_tmp_5a14_61.clone())) + + (M31_2.clone() * conv_tmp_5a14_67.clone())) + + (M31_64.clone() * conv_tmp_5a14_68.clone())); + let conv_mod_tmp_5a14_96 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_34.clone())) + - (M31_4.clone() * conv_tmp_5a14_62.clone())) + + (M31_2.clone() * conv_tmp_5a14_68.clone())) + + (M31_64.clone() * conv_tmp_5a14_69.clone())); + let conv_mod_tmp_5a14_97 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_35.clone())) + - (M31_4.clone() * conv_tmp_5a14_63.clone())) + + (M31_2.clone() * conv_tmp_5a14_69.clone())) + + (M31_64.clone() * conv_tmp_5a14_70.clone())); + let conv_mod_tmp_5a14_98 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_5a14_36.clone())) + - (M31_4.clone() * conv_tmp_5a14_64.clone())) + + (M31_2.clone() * conv_tmp_5a14_70.clone())) + + (M31_64.clone() * conv_tmp_5a14_71.clone())); + let conv_mod_tmp_5a14_99 = (((M31_0.clone() + (M31_2.clone() * conv_tmp_5a14_37.clone())) + - (M31_4.clone() * conv_tmp_5a14_65.clone())) + + (M31_2.clone() * conv_tmp_5a14_71.clone())); + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(k_col98.clone() + M31_262144.clone())], - )]); + )); eval.add_constraint( ((carry_0_col99.clone() * M31_512.clone()) - - ((conv_mod_tmp_1471.clone() - (M31_1.clone() * k_col98.clone())) + - ((conv_mod_tmp_5a14_72.clone() - (M31_1.clone() * k_col98.clone())) + M31_0.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_0_col99.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_1_col100.clone() * M31_512.clone()) - - (conv_mod_tmp_1472.clone() + carry_0_col99.clone())), + - (conv_mod_tmp_5a14_73.clone() + carry_0_col99.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_1_col100.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_2_col101.clone() * M31_512.clone()) - - (conv_mod_tmp_1473.clone() + carry_1_col100.clone())), + - (conv_mod_tmp_5a14_74.clone() + carry_1_col100.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_2_col101.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_3_col102.clone() * M31_512.clone()) - - (conv_mod_tmp_1474.clone() + carry_2_col101.clone())), + - (conv_mod_tmp_5a14_75.clone() + carry_2_col101.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_3_col102.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_4_col103.clone() * M31_512.clone()) - - (conv_mod_tmp_1475.clone() + carry_3_col102.clone())), + - (conv_mod_tmp_5a14_76.clone() + carry_3_col102.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_4_col103.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_5_col104.clone() * M31_512.clone()) - - (conv_mod_tmp_1476.clone() + carry_4_col103.clone())), + - (conv_mod_tmp_5a14_77.clone() + carry_4_col103.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_5_col104.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_6_col105.clone() * M31_512.clone()) - - (conv_mod_tmp_1477.clone() + carry_5_col104.clone())), + - (conv_mod_tmp_5a14_78.clone() + carry_5_col104.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_6_col105.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_7_col106.clone() * M31_512.clone()) - - (conv_mod_tmp_1478.clone() + carry_6_col105.clone())), + - (conv_mod_tmp_5a14_79.clone() + carry_6_col105.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_7_col106.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_8_col107.clone() * M31_512.clone()) - - (conv_mod_tmp_1479.clone() + carry_7_col106.clone())), + - (conv_mod_tmp_5a14_80.clone() + carry_7_col106.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_8_col107.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_9_col108.clone() * M31_512.clone()) - - (conv_mod_tmp_1480.clone() + carry_8_col107.clone())), + - (conv_mod_tmp_5a14_81.clone() + carry_8_col107.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_9_col108.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_10_col109.clone() * M31_512.clone()) - - (conv_mod_tmp_1481.clone() + carry_9_col108.clone())), + - (conv_mod_tmp_5a14_82.clone() + carry_9_col108.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_10_col109.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_11_col110.clone() * M31_512.clone()) - - (conv_mod_tmp_1482.clone() + carry_10_col109.clone())), + - (conv_mod_tmp_5a14_83.clone() + carry_10_col109.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_11_col110.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_12_col111.clone() * M31_512.clone()) - - (conv_mod_tmp_1483.clone() + carry_11_col110.clone())), + - (conv_mod_tmp_5a14_84.clone() + carry_11_col110.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_12_col111.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_13_col112.clone() * M31_512.clone()) - - (conv_mod_tmp_1484.clone() + carry_12_col111.clone())), + - (conv_mod_tmp_5a14_85.clone() + carry_12_col111.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_13_col112.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_14_col113.clone() * M31_512.clone()) - - (conv_mod_tmp_1485.clone() + carry_13_col112.clone())), + - (conv_mod_tmp_5a14_86.clone() + carry_13_col112.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_14_col113.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_15_col114.clone() * M31_512.clone()) - - (conv_mod_tmp_1486.clone() + carry_14_col113.clone())), + - (conv_mod_tmp_5a14_87.clone() + carry_14_col113.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_15_col114.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_16_col115.clone() * M31_512.clone()) - - (conv_mod_tmp_1487.clone() + carry_15_col114.clone())), + - (conv_mod_tmp_5a14_88.clone() + carry_15_col114.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_16_col115.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_17_col116.clone() * M31_512.clone()) - - (conv_mod_tmp_1488.clone() + carry_16_col115.clone())), + - (conv_mod_tmp_5a14_89.clone() + carry_16_col115.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_17_col116.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_18_col117.clone() * M31_512.clone()) - - (conv_mod_tmp_1489.clone() + carry_17_col116.clone())), + - (conv_mod_tmp_5a14_90.clone() + carry_17_col116.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_18_col117.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_19_col118.clone() * M31_512.clone()) - - (conv_mod_tmp_1490.clone() + carry_18_col117.clone())), + - (conv_mod_tmp_5a14_91.clone() + carry_18_col117.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_19_col118.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_20_col119.clone() * M31_512.clone()) - - (conv_mod_tmp_1491.clone() + carry_19_col118.clone())), + - (conv_mod_tmp_5a14_92.clone() + carry_19_col118.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_20_col119.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_21_col120.clone() * M31_512.clone()) - - ((conv_mod_tmp_1492.clone() - (M31_136.clone() * k_col98.clone())) + - ((conv_mod_tmp_5a14_93.clone() - (M31_136.clone() * k_col98.clone())) + carry_20_col119.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_21_col120.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_22_col121.clone() * M31_512.clone()) - - (conv_mod_tmp_1493.clone() + carry_21_col120.clone())), + - (conv_mod_tmp_5a14_94.clone() + carry_21_col120.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_22_col121.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_23_col122.clone() * M31_512.clone()) - - (conv_mod_tmp_1494.clone() + carry_22_col121.clone())), + - (conv_mod_tmp_5a14_95.clone() + carry_22_col121.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_23_col122.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_24_col123.clone() * M31_512.clone()) - - (conv_mod_tmp_1495.clone() + carry_23_col122.clone())), + - (conv_mod_tmp_5a14_96.clone() + carry_23_col122.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_24_col123.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_25_col124.clone() * M31_512.clone()) - - (conv_mod_tmp_1496.clone() + carry_24_col123.clone())), + - (conv_mod_tmp_5a14_97.clone() + carry_24_col123.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_25_col124.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_26_col125.clone() * M31_512.clone()) - - (conv_mod_tmp_1497.clone() + carry_25_col124.clone())), + - (conv_mod_tmp_5a14_98.clone() + carry_25_col124.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_26_col125.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( - ((conv_mod_tmp_1498.clone() - (M31_256.clone() * k_col98.clone())) + ((conv_mod_tmp_5a14_99.clone() - (M31_256.clone() * k_col98.clone())) + carry_26_col125.clone()), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -1651,9 +1681,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -1661,7 +1691,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col10.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/prover.rs b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/prover.rs index 8300d16e..99ee271b 100644 --- a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_f/prover.rs @@ -67,12 +67,6 @@ impl ClaimGenerator { if need_padding { sub_components_inputs.bit_reverse_coset_to_circle_domain_order(); } - sub_components_inputs - .range_check_19_inputs - .iter() - .for_each(|inputs| { - range_check_19_state.add_inputs(&inputs[..n_calls]); - }); sub_components_inputs .memory_address_to_id_inputs .iter() @@ -85,6 +79,12 @@ impl ClaimGenerator { .for_each(|inputs| { memory_id_to_big_state.add_inputs(&inputs[..n_calls]); }); + sub_components_inputs + .range_check_19_inputs + .iter() + .for_each(|inputs| { + range_check_19_state.add_inputs(&inputs[..n_calls]); + }); sub_components_inputs .verify_instruction_inputs .iter() @@ -122,22 +122,26 @@ impl ClaimGenerator { } pub struct SubComponentInputs { - pub range_check_19_inputs: [Vec; 28], pub memory_address_to_id_inputs: [Vec; 3], pub memory_id_to_big_inputs: [Vec; 3], + pub range_check_19_inputs: [Vec; 28], pub verify_instruction_inputs: [Vec; 1], } impl SubComponentInputs { #[allow(unused_variables)] fn with_capacity(capacity: usize) -> Self { Self { - range_check_19_inputs: [ + memory_address_to_id_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), + ], + memory_id_to_big_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), + ], + range_check_19_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), @@ -160,13 +164,9 @@ impl SubComponentInputs { Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), - ], - memory_address_to_id_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), - ], - memory_id_to_big_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), @@ -176,15 +176,15 @@ impl SubComponentInputs { } fn bit_reverse_coset_to_circle_domain_order(&mut self) { - self.range_check_19_inputs - .iter_mut() - .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.memory_address_to_id_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.memory_id_to_big_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); + self.range_check_19_inputs + .iter_mut() + .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.verify_instruction_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); @@ -248,91 +248,91 @@ pub fn write_trace_simd( .into_iter() .enumerate() .for_each(|(row_index, mul_opcode_is_small_f_is_imm_f_input)| { - let input_tmp_1398 = mul_opcode_is_small_f_is_imm_f_input; - let input_pc_col0 = input_tmp_1398.pc; + let input_tmp_5a14_0 = mul_opcode_is_small_f_is_imm_f_input; + let input_pc_col0 = input_tmp_5a14_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1398.ap; + let input_ap_col1 = input_tmp_5a14_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1398.fp; + let input_fp_col2 = input_tmp_5a14_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_15f7159a39884cc. + // DecodeInstruction_15f7159a39884cc. - let memory_address_to_id_value_tmp_1399 = + let memoryaddresstoid_value_tmp_5a14_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1400 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1399); - let offset0_tmp_1401 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(1))) + let memoryidtobig_value_tmp_5a14_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_5a14_1); + let offset0_tmp_5a14_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1401.as_m31(); + let offset0_col3 = offset0_tmp_5a14_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_1402 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(1))) + let offset1_tmp_5a14_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_1402.as_m31(); + let offset1_col4 = offset1_tmp_5a14_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let offset2_tmp_1403 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(3))) + let offset2_tmp_5a14_5 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(3))) >> (UInt16_5)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(4))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(4))) << (UInt16_4))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(5))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(5))) & (UInt16_7)) << (UInt16_13))); - let offset2_col5 = offset2_tmp_1403.as_m31(); + let offset2_col5 = offset2_tmp_5a14_5.as_m31(); trace[5].data[row_index] = offset2_col5; - let dst_base_fp_tmp_1404 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(5))) + let dst_base_fp_tmp_5a14_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col6 = dst_base_fp_tmp_1404.as_m31(); + let dst_base_fp_col6 = dst_base_fp_tmp_5a14_6.as_m31(); trace[6].data[row_index] = dst_base_fp_col6; - let op0_base_fp_tmp_1405 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(5))) + let op0_base_fp_tmp_5a14_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col7 = op0_base_fp_tmp_1405.as_m31(); + let op0_base_fp_col7 = op0_base_fp_tmp_5a14_7.as_m31(); trace[7].data[row_index] = op0_base_fp_col7; - let op1_base_fp_tmp_1406 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(5))) + let op1_base_fp_tmp_5a14_8 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(6))) << (UInt16_6))) >> (UInt16_3)) & (UInt16_1)); - let op1_base_fp_col8 = op1_base_fp_tmp_1406.as_m31(); + let op1_base_fp_col8 = op1_base_fp_tmp_5a14_8.as_m31(); trace[8].data[row_index] = op1_base_fp_col8; - let op1_base_ap_tmp_1407 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(5))) + let op1_base_ap_tmp_5a14_9 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(6))) << (UInt16_6))) >> (UInt16_4)) & (UInt16_1)); - let op1_base_ap_col9 = op1_base_ap_tmp_1407.as_m31(); + let op1_base_ap_col9 = op1_base_ap_tmp_5a14_9.as_m31(); trace[9].data[row_index] = op1_base_ap_col9; - let ap_update_add_1_tmp_1408 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(5))) + let ap_update_add_1_tmp_5a14_10 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1400.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_5a14_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col10 = ap_update_add_1_tmp_1408.as_m31(); + let ap_update_add_1_col10 = ap_update_add_1_tmp_5a14_10.as_m31(); trace[10].data[row_index] = ap_update_add_1_col10; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -382,16 +382,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1410 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_5a14_11 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col6)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1411 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1410); - let dst_id_col11 = memory_address_to_id_value_tmp_1410; + let memoryidtobig_value_tmp_5a14_12 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_5a14_11); + let dst_id_col11 = memoryaddresstoid_value_tmp_5a14_11; trace[11].data[row_index] = dst_id_col11; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col6) * (input_fp_col2)) @@ -406,61 +406,61 @@ pub fn write_trace_simd( + ((offset0_col3) - (M31_32768))), dst_id_col11, ]); - let dst_limb_0_col12 = memory_id_to_big_value_tmp_1411.get_m31(0); + let dst_limb_0_col12 = memoryidtobig_value_tmp_5a14_12.get_m31(0); trace[12].data[row_index] = dst_limb_0_col12; - let dst_limb_1_col13 = memory_id_to_big_value_tmp_1411.get_m31(1); + let dst_limb_1_col13 = memoryidtobig_value_tmp_5a14_12.get_m31(1); trace[13].data[row_index] = dst_limb_1_col13; - let dst_limb_2_col14 = memory_id_to_big_value_tmp_1411.get_m31(2); + let dst_limb_2_col14 = memoryidtobig_value_tmp_5a14_12.get_m31(2); trace[14].data[row_index] = dst_limb_2_col14; - let dst_limb_3_col15 = memory_id_to_big_value_tmp_1411.get_m31(3); + let dst_limb_3_col15 = memoryidtobig_value_tmp_5a14_12.get_m31(3); trace[15].data[row_index] = dst_limb_3_col15; - let dst_limb_4_col16 = memory_id_to_big_value_tmp_1411.get_m31(4); + let dst_limb_4_col16 = memoryidtobig_value_tmp_5a14_12.get_m31(4); trace[16].data[row_index] = dst_limb_4_col16; - let dst_limb_5_col17 = memory_id_to_big_value_tmp_1411.get_m31(5); + let dst_limb_5_col17 = memoryidtobig_value_tmp_5a14_12.get_m31(5); trace[17].data[row_index] = dst_limb_5_col17; - let dst_limb_6_col18 = memory_id_to_big_value_tmp_1411.get_m31(6); + let dst_limb_6_col18 = memoryidtobig_value_tmp_5a14_12.get_m31(6); trace[18].data[row_index] = dst_limb_6_col18; - let dst_limb_7_col19 = memory_id_to_big_value_tmp_1411.get_m31(7); + let dst_limb_7_col19 = memoryidtobig_value_tmp_5a14_12.get_m31(7); trace[19].data[row_index] = dst_limb_7_col19; - let dst_limb_8_col20 = memory_id_to_big_value_tmp_1411.get_m31(8); + let dst_limb_8_col20 = memoryidtobig_value_tmp_5a14_12.get_m31(8); trace[20].data[row_index] = dst_limb_8_col20; - let dst_limb_9_col21 = memory_id_to_big_value_tmp_1411.get_m31(9); + let dst_limb_9_col21 = memoryidtobig_value_tmp_5a14_12.get_m31(9); trace[21].data[row_index] = dst_limb_9_col21; - let dst_limb_10_col22 = memory_id_to_big_value_tmp_1411.get_m31(10); + let dst_limb_10_col22 = memoryidtobig_value_tmp_5a14_12.get_m31(10); trace[22].data[row_index] = dst_limb_10_col22; - let dst_limb_11_col23 = memory_id_to_big_value_tmp_1411.get_m31(11); + let dst_limb_11_col23 = memoryidtobig_value_tmp_5a14_12.get_m31(11); trace[23].data[row_index] = dst_limb_11_col23; - let dst_limb_12_col24 = memory_id_to_big_value_tmp_1411.get_m31(12); + let dst_limb_12_col24 = memoryidtobig_value_tmp_5a14_12.get_m31(12); trace[24].data[row_index] = dst_limb_12_col24; - let dst_limb_13_col25 = memory_id_to_big_value_tmp_1411.get_m31(13); + let dst_limb_13_col25 = memoryidtobig_value_tmp_5a14_12.get_m31(13); trace[25].data[row_index] = dst_limb_13_col25; - let dst_limb_14_col26 = memory_id_to_big_value_tmp_1411.get_m31(14); + let dst_limb_14_col26 = memoryidtobig_value_tmp_5a14_12.get_m31(14); trace[26].data[row_index] = dst_limb_14_col26; - let dst_limb_15_col27 = memory_id_to_big_value_tmp_1411.get_m31(15); + let dst_limb_15_col27 = memoryidtobig_value_tmp_5a14_12.get_m31(15); trace[27].data[row_index] = dst_limb_15_col27; - let dst_limb_16_col28 = memory_id_to_big_value_tmp_1411.get_m31(16); + let dst_limb_16_col28 = memoryidtobig_value_tmp_5a14_12.get_m31(16); trace[28].data[row_index] = dst_limb_16_col28; - let dst_limb_17_col29 = memory_id_to_big_value_tmp_1411.get_m31(17); + let dst_limb_17_col29 = memoryidtobig_value_tmp_5a14_12.get_m31(17); trace[29].data[row_index] = dst_limb_17_col29; - let dst_limb_18_col30 = memory_id_to_big_value_tmp_1411.get_m31(18); + let dst_limb_18_col30 = memoryidtobig_value_tmp_5a14_12.get_m31(18); trace[30].data[row_index] = dst_limb_18_col30; - let dst_limb_19_col31 = memory_id_to_big_value_tmp_1411.get_m31(19); + let dst_limb_19_col31 = memoryidtobig_value_tmp_5a14_12.get_m31(19); trace[31].data[row_index] = dst_limb_19_col31; - let dst_limb_20_col32 = memory_id_to_big_value_tmp_1411.get_m31(20); + let dst_limb_20_col32 = memoryidtobig_value_tmp_5a14_12.get_m31(20); trace[32].data[row_index] = dst_limb_20_col32; - let dst_limb_21_col33 = memory_id_to_big_value_tmp_1411.get_m31(21); + let dst_limb_21_col33 = memoryidtobig_value_tmp_5a14_12.get_m31(21); trace[33].data[row_index] = dst_limb_21_col33; - let dst_limb_22_col34 = memory_id_to_big_value_tmp_1411.get_m31(22); + let dst_limb_22_col34 = memoryidtobig_value_tmp_5a14_12.get_m31(22); trace[34].data[row_index] = dst_limb_22_col34; - let dst_limb_23_col35 = memory_id_to_big_value_tmp_1411.get_m31(23); + let dst_limb_23_col35 = memoryidtobig_value_tmp_5a14_12.get_m31(23); trace[35].data[row_index] = dst_limb_23_col35; - let dst_limb_24_col36 = memory_id_to_big_value_tmp_1411.get_m31(24); + let dst_limb_24_col36 = memoryidtobig_value_tmp_5a14_12.get_m31(24); trace[36].data[row_index] = dst_limb_24_col36; - let dst_limb_25_col37 = memory_id_to_big_value_tmp_1411.get_m31(25); + let dst_limb_25_col37 = memoryidtobig_value_tmp_5a14_12.get_m31(25); trace[37].data[row_index] = dst_limb_25_col37; - let dst_limb_26_col38 = memory_id_to_big_value_tmp_1411.get_m31(26); + let dst_limb_26_col38 = memoryidtobig_value_tmp_5a14_12.get_m31(26); trace[38].data[row_index] = dst_limb_26_col38; - let dst_limb_27_col39 = memory_id_to_big_value_tmp_1411.get_m31(27); + let dst_limb_27_col39 = memoryidtobig_value_tmp_5a14_12.get_m31(27); trace[39].data[row_index] = dst_limb_27_col39; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col11.unpack()); @@ -496,16 +496,16 @@ pub fn write_trace_simd( dst_limb_27_col39, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1412 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_5a14_13 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col7) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col7)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1413 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1412); - let op0_id_col40 = memory_address_to_id_value_tmp_1412; + let memoryidtobig_value_tmp_5a14_14 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_5a14_13); + let op0_id_col40 = memoryaddresstoid_value_tmp_5a14_13; trace[40].data[row_index] = op0_id_col40; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((op0_base_fp_col7) * (input_fp_col2)) @@ -520,61 +520,61 @@ pub fn write_trace_simd( + ((offset1_col4) - (M31_32768))), op0_id_col40, ]); - let op0_limb_0_col41 = memory_id_to_big_value_tmp_1413.get_m31(0); + let op0_limb_0_col41 = memoryidtobig_value_tmp_5a14_14.get_m31(0); trace[41].data[row_index] = op0_limb_0_col41; - let op0_limb_1_col42 = memory_id_to_big_value_tmp_1413.get_m31(1); + let op0_limb_1_col42 = memoryidtobig_value_tmp_5a14_14.get_m31(1); trace[42].data[row_index] = op0_limb_1_col42; - let op0_limb_2_col43 = memory_id_to_big_value_tmp_1413.get_m31(2); + let op0_limb_2_col43 = memoryidtobig_value_tmp_5a14_14.get_m31(2); trace[43].data[row_index] = op0_limb_2_col43; - let op0_limb_3_col44 = memory_id_to_big_value_tmp_1413.get_m31(3); + let op0_limb_3_col44 = memoryidtobig_value_tmp_5a14_14.get_m31(3); trace[44].data[row_index] = op0_limb_3_col44; - let op0_limb_4_col45 = memory_id_to_big_value_tmp_1413.get_m31(4); + let op0_limb_4_col45 = memoryidtobig_value_tmp_5a14_14.get_m31(4); trace[45].data[row_index] = op0_limb_4_col45; - let op0_limb_5_col46 = memory_id_to_big_value_tmp_1413.get_m31(5); + let op0_limb_5_col46 = memoryidtobig_value_tmp_5a14_14.get_m31(5); trace[46].data[row_index] = op0_limb_5_col46; - let op0_limb_6_col47 = memory_id_to_big_value_tmp_1413.get_m31(6); + let op0_limb_6_col47 = memoryidtobig_value_tmp_5a14_14.get_m31(6); trace[47].data[row_index] = op0_limb_6_col47; - let op0_limb_7_col48 = memory_id_to_big_value_tmp_1413.get_m31(7); + let op0_limb_7_col48 = memoryidtobig_value_tmp_5a14_14.get_m31(7); trace[48].data[row_index] = op0_limb_7_col48; - let op0_limb_8_col49 = memory_id_to_big_value_tmp_1413.get_m31(8); + let op0_limb_8_col49 = memoryidtobig_value_tmp_5a14_14.get_m31(8); trace[49].data[row_index] = op0_limb_8_col49; - let op0_limb_9_col50 = memory_id_to_big_value_tmp_1413.get_m31(9); + let op0_limb_9_col50 = memoryidtobig_value_tmp_5a14_14.get_m31(9); trace[50].data[row_index] = op0_limb_9_col50; - let op0_limb_10_col51 = memory_id_to_big_value_tmp_1413.get_m31(10); + let op0_limb_10_col51 = memoryidtobig_value_tmp_5a14_14.get_m31(10); trace[51].data[row_index] = op0_limb_10_col51; - let op0_limb_11_col52 = memory_id_to_big_value_tmp_1413.get_m31(11); + let op0_limb_11_col52 = memoryidtobig_value_tmp_5a14_14.get_m31(11); trace[52].data[row_index] = op0_limb_11_col52; - let op0_limb_12_col53 = memory_id_to_big_value_tmp_1413.get_m31(12); + let op0_limb_12_col53 = memoryidtobig_value_tmp_5a14_14.get_m31(12); trace[53].data[row_index] = op0_limb_12_col53; - let op0_limb_13_col54 = memory_id_to_big_value_tmp_1413.get_m31(13); + let op0_limb_13_col54 = memoryidtobig_value_tmp_5a14_14.get_m31(13); trace[54].data[row_index] = op0_limb_13_col54; - let op0_limb_14_col55 = memory_id_to_big_value_tmp_1413.get_m31(14); + let op0_limb_14_col55 = memoryidtobig_value_tmp_5a14_14.get_m31(14); trace[55].data[row_index] = op0_limb_14_col55; - let op0_limb_15_col56 = memory_id_to_big_value_tmp_1413.get_m31(15); + let op0_limb_15_col56 = memoryidtobig_value_tmp_5a14_14.get_m31(15); trace[56].data[row_index] = op0_limb_15_col56; - let op0_limb_16_col57 = memory_id_to_big_value_tmp_1413.get_m31(16); + let op0_limb_16_col57 = memoryidtobig_value_tmp_5a14_14.get_m31(16); trace[57].data[row_index] = op0_limb_16_col57; - let op0_limb_17_col58 = memory_id_to_big_value_tmp_1413.get_m31(17); + let op0_limb_17_col58 = memoryidtobig_value_tmp_5a14_14.get_m31(17); trace[58].data[row_index] = op0_limb_17_col58; - let op0_limb_18_col59 = memory_id_to_big_value_tmp_1413.get_m31(18); + let op0_limb_18_col59 = memoryidtobig_value_tmp_5a14_14.get_m31(18); trace[59].data[row_index] = op0_limb_18_col59; - let op0_limb_19_col60 = memory_id_to_big_value_tmp_1413.get_m31(19); + let op0_limb_19_col60 = memoryidtobig_value_tmp_5a14_14.get_m31(19); trace[60].data[row_index] = op0_limb_19_col60; - let op0_limb_20_col61 = memory_id_to_big_value_tmp_1413.get_m31(20); + let op0_limb_20_col61 = memoryidtobig_value_tmp_5a14_14.get_m31(20); trace[61].data[row_index] = op0_limb_20_col61; - let op0_limb_21_col62 = memory_id_to_big_value_tmp_1413.get_m31(21); + let op0_limb_21_col62 = memoryidtobig_value_tmp_5a14_14.get_m31(21); trace[62].data[row_index] = op0_limb_21_col62; - let op0_limb_22_col63 = memory_id_to_big_value_tmp_1413.get_m31(22); + let op0_limb_22_col63 = memoryidtobig_value_tmp_5a14_14.get_m31(22); trace[63].data[row_index] = op0_limb_22_col63; - let op0_limb_23_col64 = memory_id_to_big_value_tmp_1413.get_m31(23); + let op0_limb_23_col64 = memoryidtobig_value_tmp_5a14_14.get_m31(23); trace[64].data[row_index] = op0_limb_23_col64; - let op0_limb_24_col65 = memory_id_to_big_value_tmp_1413.get_m31(24); + let op0_limb_24_col65 = memoryidtobig_value_tmp_5a14_14.get_m31(24); trace[65].data[row_index] = op0_limb_24_col65; - let op0_limb_25_col66 = memory_id_to_big_value_tmp_1413.get_m31(25); + let op0_limb_25_col66 = memoryidtobig_value_tmp_5a14_14.get_m31(25); trace[66].data[row_index] = op0_limb_25_col66; - let op0_limb_26_col67 = memory_id_to_big_value_tmp_1413.get_m31(26); + let op0_limb_26_col67 = memoryidtobig_value_tmp_5a14_14.get_m31(26); trace[67].data[row_index] = op0_limb_26_col67; - let op0_limb_27_col68 = memory_id_to_big_value_tmp_1413.get_m31(27); + let op0_limb_27_col68 = memoryidtobig_value_tmp_5a14_14.get_m31(27); trace[68].data[row_index] = op0_limb_27_col68; sub_components_inputs.memory_id_to_big_inputs[1].extend(op0_id_col40.unpack()); @@ -610,15 +610,15 @@ pub fn write_trace_simd( op0_limb_27_col68, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1414 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_5a14_15 = memory_address_to_id_state.deduce_output( ((((op1_base_fp_col8) * (input_fp_col2)) + ((op1_base_ap_col9) * (input_ap_col1))) + ((offset2_col5) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1415 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1414); - let op1_id_col69 = memory_address_to_id_value_tmp_1414; + let memoryidtobig_value_tmp_5a14_16 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_5a14_15); + let op1_id_col69 = memoryaddresstoid_value_tmp_5a14_15; trace[69].data[row_index] = op1_id_col69; sub_components_inputs.memory_address_to_id_inputs[2].extend( ((((op1_base_fp_col8) * (input_fp_col2)) + ((op1_base_ap_col9) * (input_ap_col1))) @@ -631,61 +631,61 @@ pub fn write_trace_simd( + ((offset2_col5) - (M31_32768))), op1_id_col69, ]); - let op1_limb_0_col70 = memory_id_to_big_value_tmp_1415.get_m31(0); + let op1_limb_0_col70 = memoryidtobig_value_tmp_5a14_16.get_m31(0); trace[70].data[row_index] = op1_limb_0_col70; - let op1_limb_1_col71 = memory_id_to_big_value_tmp_1415.get_m31(1); + let op1_limb_1_col71 = memoryidtobig_value_tmp_5a14_16.get_m31(1); trace[71].data[row_index] = op1_limb_1_col71; - let op1_limb_2_col72 = memory_id_to_big_value_tmp_1415.get_m31(2); + let op1_limb_2_col72 = memoryidtobig_value_tmp_5a14_16.get_m31(2); trace[72].data[row_index] = op1_limb_2_col72; - let op1_limb_3_col73 = memory_id_to_big_value_tmp_1415.get_m31(3); + let op1_limb_3_col73 = memoryidtobig_value_tmp_5a14_16.get_m31(3); trace[73].data[row_index] = op1_limb_3_col73; - let op1_limb_4_col74 = memory_id_to_big_value_tmp_1415.get_m31(4); + let op1_limb_4_col74 = memoryidtobig_value_tmp_5a14_16.get_m31(4); trace[74].data[row_index] = op1_limb_4_col74; - let op1_limb_5_col75 = memory_id_to_big_value_tmp_1415.get_m31(5); + let op1_limb_5_col75 = memoryidtobig_value_tmp_5a14_16.get_m31(5); trace[75].data[row_index] = op1_limb_5_col75; - let op1_limb_6_col76 = memory_id_to_big_value_tmp_1415.get_m31(6); + let op1_limb_6_col76 = memoryidtobig_value_tmp_5a14_16.get_m31(6); trace[76].data[row_index] = op1_limb_6_col76; - let op1_limb_7_col77 = memory_id_to_big_value_tmp_1415.get_m31(7); + let op1_limb_7_col77 = memoryidtobig_value_tmp_5a14_16.get_m31(7); trace[77].data[row_index] = op1_limb_7_col77; - let op1_limb_8_col78 = memory_id_to_big_value_tmp_1415.get_m31(8); + let op1_limb_8_col78 = memoryidtobig_value_tmp_5a14_16.get_m31(8); trace[78].data[row_index] = op1_limb_8_col78; - let op1_limb_9_col79 = memory_id_to_big_value_tmp_1415.get_m31(9); + let op1_limb_9_col79 = memoryidtobig_value_tmp_5a14_16.get_m31(9); trace[79].data[row_index] = op1_limb_9_col79; - let op1_limb_10_col80 = memory_id_to_big_value_tmp_1415.get_m31(10); + let op1_limb_10_col80 = memoryidtobig_value_tmp_5a14_16.get_m31(10); trace[80].data[row_index] = op1_limb_10_col80; - let op1_limb_11_col81 = memory_id_to_big_value_tmp_1415.get_m31(11); + let op1_limb_11_col81 = memoryidtobig_value_tmp_5a14_16.get_m31(11); trace[81].data[row_index] = op1_limb_11_col81; - let op1_limb_12_col82 = memory_id_to_big_value_tmp_1415.get_m31(12); + let op1_limb_12_col82 = memoryidtobig_value_tmp_5a14_16.get_m31(12); trace[82].data[row_index] = op1_limb_12_col82; - let op1_limb_13_col83 = memory_id_to_big_value_tmp_1415.get_m31(13); + let op1_limb_13_col83 = memoryidtobig_value_tmp_5a14_16.get_m31(13); trace[83].data[row_index] = op1_limb_13_col83; - let op1_limb_14_col84 = memory_id_to_big_value_tmp_1415.get_m31(14); + let op1_limb_14_col84 = memoryidtobig_value_tmp_5a14_16.get_m31(14); trace[84].data[row_index] = op1_limb_14_col84; - let op1_limb_15_col85 = memory_id_to_big_value_tmp_1415.get_m31(15); + let op1_limb_15_col85 = memoryidtobig_value_tmp_5a14_16.get_m31(15); trace[85].data[row_index] = op1_limb_15_col85; - let op1_limb_16_col86 = memory_id_to_big_value_tmp_1415.get_m31(16); + let op1_limb_16_col86 = memoryidtobig_value_tmp_5a14_16.get_m31(16); trace[86].data[row_index] = op1_limb_16_col86; - let op1_limb_17_col87 = memory_id_to_big_value_tmp_1415.get_m31(17); + let op1_limb_17_col87 = memoryidtobig_value_tmp_5a14_16.get_m31(17); trace[87].data[row_index] = op1_limb_17_col87; - let op1_limb_18_col88 = memory_id_to_big_value_tmp_1415.get_m31(18); + let op1_limb_18_col88 = memoryidtobig_value_tmp_5a14_16.get_m31(18); trace[88].data[row_index] = op1_limb_18_col88; - let op1_limb_19_col89 = memory_id_to_big_value_tmp_1415.get_m31(19); + let op1_limb_19_col89 = memoryidtobig_value_tmp_5a14_16.get_m31(19); trace[89].data[row_index] = op1_limb_19_col89; - let op1_limb_20_col90 = memory_id_to_big_value_tmp_1415.get_m31(20); + let op1_limb_20_col90 = memoryidtobig_value_tmp_5a14_16.get_m31(20); trace[90].data[row_index] = op1_limb_20_col90; - let op1_limb_21_col91 = memory_id_to_big_value_tmp_1415.get_m31(21); + let op1_limb_21_col91 = memoryidtobig_value_tmp_5a14_16.get_m31(21); trace[91].data[row_index] = op1_limb_21_col91; - let op1_limb_22_col92 = memory_id_to_big_value_tmp_1415.get_m31(22); + let op1_limb_22_col92 = memoryidtobig_value_tmp_5a14_16.get_m31(22); trace[92].data[row_index] = op1_limb_22_col92; - let op1_limb_23_col93 = memory_id_to_big_value_tmp_1415.get_m31(23); + let op1_limb_23_col93 = memoryidtobig_value_tmp_5a14_16.get_m31(23); trace[93].data[row_index] = op1_limb_23_col93; - let op1_limb_24_col94 = memory_id_to_big_value_tmp_1415.get_m31(24); + let op1_limb_24_col94 = memoryidtobig_value_tmp_5a14_16.get_m31(24); trace[94].data[row_index] = op1_limb_24_col94; - let op1_limb_25_col95 = memory_id_to_big_value_tmp_1415.get_m31(25); + let op1_limb_25_col95 = memoryidtobig_value_tmp_5a14_16.get_m31(25); trace[95].data[row_index] = op1_limb_25_col95; - let op1_limb_26_col96 = memory_id_to_big_value_tmp_1415.get_m31(26); + let op1_limb_26_col96 = memoryidtobig_value_tmp_5a14_16.get_m31(26); trace[96].data[row_index] = op1_limb_26_col96; - let op1_limb_27_col97 = memory_id_to_big_value_tmp_1415.get_m31(27); + let op1_limb_27_col97 = memoryidtobig_value_tmp_5a14_16.get_m31(27); trace[97].data[row_index] = op1_limb_27_col97; sub_components_inputs.memory_id_to_big_inputs[2].extend(op1_id_col69.unpack()); @@ -721,36 +721,36 @@ pub fn write_trace_simd( op1_limb_27_col97, ]); - // verify_mul252. + // VerifyMul252. - let conv_tmp_1416 = + let conv_tmp_5a14_17 = (((M31_0) - (dst_limb_0_col12)) + ((op0_limb_0_col41) * (op1_limb_0_col70))); - let conv_tmp_1417 = ((((M31_0) - (dst_limb_1_col13)) + let conv_tmp_5a14_18 = ((((M31_0) - (dst_limb_1_col13)) + ((op0_limb_0_col41) * (op1_limb_1_col71))) + ((op0_limb_1_col42) * (op1_limb_0_col70))); - let conv_tmp_1418 = (((((M31_0) - (dst_limb_2_col14)) + let conv_tmp_5a14_19 = (((((M31_0) - (dst_limb_2_col14)) + ((op0_limb_0_col41) * (op1_limb_2_col72))) + ((op0_limb_1_col42) * (op1_limb_1_col71))) + ((op0_limb_2_col43) * (op1_limb_0_col70))); - let conv_tmp_1419 = ((((((M31_0) - (dst_limb_3_col15)) + let conv_tmp_5a14_20 = ((((((M31_0) - (dst_limb_3_col15)) + ((op0_limb_0_col41) * (op1_limb_3_col73))) + ((op0_limb_1_col42) * (op1_limb_2_col72))) + ((op0_limb_2_col43) * (op1_limb_1_col71))) + ((op0_limb_3_col44) * (op1_limb_0_col70))); - let conv_tmp_1420 = (((((((M31_0) - (dst_limb_4_col16)) + let conv_tmp_5a14_21 = (((((((M31_0) - (dst_limb_4_col16)) + ((op0_limb_0_col41) * (op1_limb_4_col74))) + ((op0_limb_1_col42) * (op1_limb_3_col73))) + ((op0_limb_2_col43) * (op1_limb_2_col72))) + ((op0_limb_3_col44) * (op1_limb_1_col71))) + ((op0_limb_4_col45) * (op1_limb_0_col70))); - let conv_tmp_1421 = ((((((((M31_0) - (dst_limb_5_col17)) + let conv_tmp_5a14_22 = ((((((((M31_0) - (dst_limb_5_col17)) + ((op0_limb_0_col41) * (op1_limb_5_col75))) + ((op0_limb_1_col42) * (op1_limb_4_col74))) + ((op0_limb_2_col43) * (op1_limb_3_col73))) + ((op0_limb_3_col44) * (op1_limb_2_col72))) + ((op0_limb_4_col45) * (op1_limb_1_col71))) + ((op0_limb_5_col46) * (op1_limb_0_col70))); - let conv_tmp_1422 = (((((((((M31_0) - (dst_limb_6_col18)) + let conv_tmp_5a14_23 = (((((((((M31_0) - (dst_limb_6_col18)) + ((op0_limb_0_col41) * (op1_limb_6_col76))) + ((op0_limb_1_col42) * (op1_limb_5_col75))) + ((op0_limb_2_col43) * (op1_limb_4_col74))) @@ -758,7 +758,7 @@ pub fn write_trace_simd( + ((op0_limb_4_col45) * (op1_limb_2_col72))) + ((op0_limb_5_col46) * (op1_limb_1_col71))) + ((op0_limb_6_col47) * (op1_limb_0_col70))); - let conv_tmp_1423 = ((((((((((M31_0) - (dst_limb_7_col19)) + let conv_tmp_5a14_24 = ((((((((((M31_0) - (dst_limb_7_col19)) + ((op0_limb_0_col41) * (op1_limb_7_col77))) + ((op0_limb_1_col42) * (op1_limb_6_col76))) + ((op0_limb_2_col43) * (op1_limb_5_col75))) @@ -767,7 +767,7 @@ pub fn write_trace_simd( + ((op0_limb_5_col46) * (op1_limb_2_col72))) + ((op0_limb_6_col47) * (op1_limb_1_col71))) + ((op0_limb_7_col48) * (op1_limb_0_col70))); - let conv_tmp_1424 = (((((((((((M31_0) - (dst_limb_8_col20)) + let conv_tmp_5a14_25 = (((((((((((M31_0) - (dst_limb_8_col20)) + ((op0_limb_0_col41) * (op1_limb_8_col78))) + ((op0_limb_1_col42) * (op1_limb_7_col77))) + ((op0_limb_2_col43) * (op1_limb_6_col76))) @@ -777,7 +777,7 @@ pub fn write_trace_simd( + ((op0_limb_6_col47) * (op1_limb_2_col72))) + ((op0_limb_7_col48) * (op1_limb_1_col71))) + ((op0_limb_8_col49) * (op1_limb_0_col70))); - let conv_tmp_1425 = ((((((((((((M31_0) - (dst_limb_9_col21)) + let conv_tmp_5a14_26 = ((((((((((((M31_0) - (dst_limb_9_col21)) + ((op0_limb_0_col41) * (op1_limb_9_col79))) + ((op0_limb_1_col42) * (op1_limb_8_col78))) + ((op0_limb_2_col43) * (op1_limb_7_col77))) @@ -788,7 +788,7 @@ pub fn write_trace_simd( + ((op0_limb_7_col48) * (op1_limb_2_col72))) + ((op0_limb_8_col49) * (op1_limb_1_col71))) + ((op0_limb_9_col50) * (op1_limb_0_col70))); - let conv_tmp_1426 = (((((((((((((M31_0) - (dst_limb_10_col22)) + let conv_tmp_5a14_27 = (((((((((((((M31_0) - (dst_limb_10_col22)) + ((op0_limb_0_col41) * (op1_limb_10_col80))) + ((op0_limb_1_col42) * (op1_limb_9_col79))) + ((op0_limb_2_col43) * (op1_limb_8_col78))) @@ -800,7 +800,7 @@ pub fn write_trace_simd( + ((op0_limb_8_col49) * (op1_limb_2_col72))) + ((op0_limb_9_col50) * (op1_limb_1_col71))) + ((op0_limb_10_col51) * (op1_limb_0_col70))); - let conv_tmp_1427 = ((((((((((((((M31_0) - (dst_limb_11_col23)) + let conv_tmp_5a14_28 = ((((((((((((((M31_0) - (dst_limb_11_col23)) + ((op0_limb_0_col41) * (op1_limb_11_col81))) + ((op0_limb_1_col42) * (op1_limb_10_col80))) + ((op0_limb_2_col43) * (op1_limb_9_col79))) @@ -813,7 +813,7 @@ pub fn write_trace_simd( + ((op0_limb_9_col50) * (op1_limb_2_col72))) + ((op0_limb_10_col51) * (op1_limb_1_col71))) + ((op0_limb_11_col52) * (op1_limb_0_col70))); - let conv_tmp_1428 = (((((((((((((((M31_0) - (dst_limb_12_col24)) + let conv_tmp_5a14_29 = (((((((((((((((M31_0) - (dst_limb_12_col24)) + ((op0_limb_0_col41) * (op1_limb_12_col82))) + ((op0_limb_1_col42) * (op1_limb_11_col81))) + ((op0_limb_2_col43) * (op1_limb_10_col80))) @@ -827,7 +827,7 @@ pub fn write_trace_simd( + ((op0_limb_10_col51) * (op1_limb_2_col72))) + ((op0_limb_11_col52) * (op1_limb_1_col71))) + ((op0_limb_12_col53) * (op1_limb_0_col70))); - let conv_tmp_1429 = ((((((((((((((((M31_0) - (dst_limb_13_col25)) + let conv_tmp_5a14_30 = ((((((((((((((((M31_0) - (dst_limb_13_col25)) + ((op0_limb_0_col41) * (op1_limb_13_col83))) + ((op0_limb_1_col42) * (op1_limb_12_col82))) + ((op0_limb_2_col43) * (op1_limb_11_col81))) @@ -842,7 +842,7 @@ pub fn write_trace_simd( + ((op0_limb_11_col52) * (op1_limb_2_col72))) + ((op0_limb_12_col53) * (op1_limb_1_col71))) + ((op0_limb_13_col54) * (op1_limb_0_col70))); - let conv_tmp_1430 = (((((((((((((((((M31_0) - (dst_limb_14_col26)) + let conv_tmp_5a14_31 = (((((((((((((((((M31_0) - (dst_limb_14_col26)) + ((op0_limb_0_col41) * (op1_limb_14_col84))) + ((op0_limb_1_col42) * (op1_limb_13_col83))) + ((op0_limb_2_col43) * (op1_limb_12_col82))) @@ -858,7 +858,7 @@ pub fn write_trace_simd( + ((op0_limb_12_col53) * (op1_limb_2_col72))) + ((op0_limb_13_col54) * (op1_limb_1_col71))) + ((op0_limb_14_col55) * (op1_limb_0_col70))); - let conv_tmp_1431 = ((((((((((((((((((M31_0) - (dst_limb_15_col27)) + let conv_tmp_5a14_32 = ((((((((((((((((((M31_0) - (dst_limb_15_col27)) + ((op0_limb_0_col41) * (op1_limb_15_col85))) + ((op0_limb_1_col42) * (op1_limb_14_col84))) + ((op0_limb_2_col43) * (op1_limb_13_col83))) @@ -875,7 +875,8 @@ pub fn write_trace_simd( + ((op0_limb_13_col54) * (op1_limb_2_col72))) + ((op0_limb_14_col55) * (op1_limb_1_col71))) + ((op0_limb_15_col56) * (op1_limb_0_col70))); - let conv_tmp_1432 = (((((((((((((((((((M31_0) - (dst_limb_16_col28)) + let conv_tmp_5a14_33 = (((((((((((((((((((M31_0) + - (dst_limb_16_col28)) + ((op0_limb_0_col41) * (op1_limb_16_col86))) + ((op0_limb_1_col42) * (op1_limb_15_col85))) + ((op0_limb_2_col43) * (op1_limb_14_col84))) @@ -893,7 +894,8 @@ pub fn write_trace_simd( + ((op0_limb_14_col55) * (op1_limb_2_col72))) + ((op0_limb_15_col56) * (op1_limb_1_col71))) + ((op0_limb_16_col57) * (op1_limb_0_col70))); - let conv_tmp_1433 = ((((((((((((((((((((M31_0) - (dst_limb_17_col29)) + let conv_tmp_5a14_34 = ((((((((((((((((((((M31_0) + - (dst_limb_17_col29)) + ((op0_limb_0_col41) * (op1_limb_17_col87))) + ((op0_limb_1_col42) * (op1_limb_16_col86))) + ((op0_limb_2_col43) * (op1_limb_15_col85))) @@ -912,7 +914,7 @@ pub fn write_trace_simd( + ((op0_limb_15_col56) * (op1_limb_2_col72))) + ((op0_limb_16_col57) * (op1_limb_1_col71))) + ((op0_limb_17_col58) * (op1_limb_0_col70))); - let conv_tmp_1434 = (((((((((((((((((((((M31_0) + let conv_tmp_5a14_35 = (((((((((((((((((((((M31_0) - (dst_limb_18_col30)) + ((op0_limb_0_col41) * (op1_limb_18_col88))) + ((op0_limb_1_col42) * (op1_limb_17_col87))) @@ -933,7 +935,7 @@ pub fn write_trace_simd( + ((op0_limb_16_col57) * (op1_limb_2_col72))) + ((op0_limb_17_col58) * (op1_limb_1_col71))) + ((op0_limb_18_col59) * (op1_limb_0_col70))); - let conv_tmp_1435 = ((((((((((((((((((((((M31_0) + let conv_tmp_5a14_36 = ((((((((((((((((((((((M31_0) - (dst_limb_19_col31)) + ((op0_limb_0_col41) * (op1_limb_19_col89))) + ((op0_limb_1_col42) * (op1_limb_18_col88))) @@ -955,7 +957,7 @@ pub fn write_trace_simd( + ((op0_limb_17_col58) * (op1_limb_2_col72))) + ((op0_limb_18_col59) * (op1_limb_1_col71))) + ((op0_limb_19_col60) * (op1_limb_0_col70))); - let conv_tmp_1436 = (((((((((((((((((((((((M31_0) + let conv_tmp_5a14_37 = (((((((((((((((((((((((M31_0) - (dst_limb_20_col32)) + ((op0_limb_0_col41) * (op1_limb_20_col90))) + ((op0_limb_1_col42) * (op1_limb_19_col89))) @@ -978,7 +980,7 @@ pub fn write_trace_simd( + ((op0_limb_18_col59) * (op1_limb_2_col72))) + ((op0_limb_19_col60) * (op1_limb_1_col71))) + ((op0_limb_20_col61) * (op1_limb_0_col70))); - let conv_tmp_1437 = ((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_38 = ((((((((((((((((((((((((M31_0) - (dst_limb_21_col33)) + ((op0_limb_0_col41) * (op1_limb_21_col91))) + ((op0_limb_1_col42) * (op1_limb_20_col90))) @@ -1002,7 +1004,7 @@ pub fn write_trace_simd( + ((op0_limb_19_col60) * (op1_limb_2_col72))) + ((op0_limb_20_col61) * (op1_limb_1_col71))) + ((op0_limb_21_col62) * (op1_limb_0_col70))); - let conv_tmp_1438 = (((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_39 = (((((((((((((((((((((((((M31_0) - (dst_limb_22_col34)) + ((op0_limb_0_col41) * (op1_limb_22_col92))) + ((op0_limb_1_col42) * (op1_limb_21_col91))) @@ -1027,7 +1029,7 @@ pub fn write_trace_simd( + ((op0_limb_20_col61) * (op1_limb_2_col72))) + ((op0_limb_21_col62) * (op1_limb_1_col71))) + ((op0_limb_22_col63) * (op1_limb_0_col70))); - let conv_tmp_1439 = ((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_40 = ((((((((((((((((((((((((((M31_0) - (dst_limb_23_col35)) + ((op0_limb_0_col41) * (op1_limb_23_col93))) + ((op0_limb_1_col42) * (op1_limb_22_col92))) @@ -1053,7 +1055,7 @@ pub fn write_trace_simd( + ((op0_limb_21_col62) * (op1_limb_2_col72))) + ((op0_limb_22_col63) * (op1_limb_1_col71))) + ((op0_limb_23_col64) * (op1_limb_0_col70))); - let conv_tmp_1440 = (((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_41 = (((((((((((((((((((((((((((M31_0) - (dst_limb_24_col36)) + ((op0_limb_0_col41) * (op1_limb_24_col94))) + ((op0_limb_1_col42) * (op1_limb_23_col93))) @@ -1080,7 +1082,7 @@ pub fn write_trace_simd( + ((op0_limb_22_col63) * (op1_limb_2_col72))) + ((op0_limb_23_col64) * (op1_limb_1_col71))) + ((op0_limb_24_col65) * (op1_limb_0_col70))); - let conv_tmp_1441 = ((((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_42 = ((((((((((((((((((((((((((((M31_0) - (dst_limb_25_col37)) + ((op0_limb_0_col41) * (op1_limb_25_col95))) + ((op0_limb_1_col42) * (op1_limb_24_col94))) @@ -1108,7 +1110,7 @@ pub fn write_trace_simd( + ((op0_limb_23_col64) * (op1_limb_2_col72))) + ((op0_limb_24_col65) * (op1_limb_1_col71))) + ((op0_limb_25_col66) * (op1_limb_0_col70))); - let conv_tmp_1442 = (((((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_43 = (((((((((((((((((((((((((((((M31_0) - (dst_limb_26_col38)) + ((op0_limb_0_col41) * (op1_limb_26_col96))) + ((op0_limb_1_col42) * (op1_limb_25_col95))) @@ -1137,7 +1139,7 @@ pub fn write_trace_simd( + ((op0_limb_24_col65) * (op1_limb_2_col72))) + ((op0_limb_25_col66) * (op1_limb_1_col71))) + ((op0_limb_26_col67) * (op1_limb_0_col70))); - let conv_tmp_1443 = ((((((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_44 = ((((((((((((((((((((((((((((((M31_0) - (dst_limb_27_col39)) + ((op0_limb_0_col41) * (op1_limb_27_col97))) + ((op0_limb_1_col42) * (op1_limb_26_col96))) @@ -1167,7 +1169,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_2_col72))) + ((op0_limb_26_col67) * (op1_limb_1_col71))) + ((op0_limb_27_col68) * (op1_limb_0_col70))); - let conv_tmp_1444 = ((((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_45 = ((((((((((((((((((((((((((((M31_0) + ((op0_limb_1_col42) * (op1_limb_27_col97))) + ((op0_limb_2_col43) * (op1_limb_26_col96))) + ((op0_limb_3_col44) * (op1_limb_25_col95))) @@ -1195,7 +1197,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_3_col73))) + ((op0_limb_26_col67) * (op1_limb_2_col72))) + ((op0_limb_27_col68) * (op1_limb_1_col71))); - let conv_tmp_1445 = (((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_46 = (((((((((((((((((((((((((((M31_0) + ((op0_limb_2_col43) * (op1_limb_27_col97))) + ((op0_limb_3_col44) * (op1_limb_26_col96))) + ((op0_limb_4_col45) * (op1_limb_25_col95))) @@ -1222,7 +1224,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_4_col74))) + ((op0_limb_26_col67) * (op1_limb_3_col73))) + ((op0_limb_27_col68) * (op1_limb_2_col72))); - let conv_tmp_1446 = ((((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_47 = ((((((((((((((((((((((((((M31_0) + ((op0_limb_3_col44) * (op1_limb_27_col97))) + ((op0_limb_4_col45) * (op1_limb_26_col96))) + ((op0_limb_5_col46) * (op1_limb_25_col95))) @@ -1248,7 +1250,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_5_col75))) + ((op0_limb_26_col67) * (op1_limb_4_col74))) + ((op0_limb_27_col68) * (op1_limb_3_col73))); - let conv_tmp_1447 = (((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_48 = (((((((((((((((((((((((((M31_0) + ((op0_limb_4_col45) * (op1_limb_27_col97))) + ((op0_limb_5_col46) * (op1_limb_26_col96))) + ((op0_limb_6_col47) * (op1_limb_25_col95))) @@ -1273,7 +1275,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_6_col76))) + ((op0_limb_26_col67) * (op1_limb_5_col75))) + ((op0_limb_27_col68) * (op1_limb_4_col74))); - let conv_tmp_1448 = ((((((((((((((((((((((((M31_0) + let conv_tmp_5a14_49 = ((((((((((((((((((((((((M31_0) + ((op0_limb_5_col46) * (op1_limb_27_col97))) + ((op0_limb_6_col47) * (op1_limb_26_col96))) + ((op0_limb_7_col48) * (op1_limb_25_col95))) @@ -1297,7 +1299,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_7_col77))) + ((op0_limb_26_col67) * (op1_limb_6_col76))) + ((op0_limb_27_col68) * (op1_limb_5_col75))); - let conv_tmp_1449 = (((((((((((((((((((((((M31_0) + let conv_tmp_5a14_50 = (((((((((((((((((((((((M31_0) + ((op0_limb_6_col47) * (op1_limb_27_col97))) + ((op0_limb_7_col48) * (op1_limb_26_col96))) + ((op0_limb_8_col49) * (op1_limb_25_col95))) @@ -1320,7 +1322,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_8_col78))) + ((op0_limb_26_col67) * (op1_limb_7_col77))) + ((op0_limb_27_col68) * (op1_limb_6_col76))); - let conv_tmp_1450 = ((((((((((((((((((((((M31_0) + let conv_tmp_5a14_51 = ((((((((((((((((((((((M31_0) + ((op0_limb_7_col48) * (op1_limb_27_col97))) + ((op0_limb_8_col49) * (op1_limb_26_col96))) + ((op0_limb_9_col50) * (op1_limb_25_col95))) @@ -1342,7 +1344,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_9_col79))) + ((op0_limb_26_col67) * (op1_limb_8_col78))) + ((op0_limb_27_col68) * (op1_limb_7_col77))); - let conv_tmp_1451 = (((((((((((((((((((((M31_0) + let conv_tmp_5a14_52 = (((((((((((((((((((((M31_0) + ((op0_limb_8_col49) * (op1_limb_27_col97))) + ((op0_limb_9_col50) * (op1_limb_26_col96))) + ((op0_limb_10_col51) * (op1_limb_25_col95))) @@ -1363,7 +1365,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_10_col80))) + ((op0_limb_26_col67) * (op1_limb_9_col79))) + ((op0_limb_27_col68) * (op1_limb_8_col78))); - let conv_tmp_1452 = ((((((((((((((((((((M31_0) + let conv_tmp_5a14_53 = ((((((((((((((((((((M31_0) + ((op0_limb_9_col50) * (op1_limb_27_col97))) + ((op0_limb_10_col51) * (op1_limb_26_col96))) + ((op0_limb_11_col52) * (op1_limb_25_col95))) @@ -1383,7 +1385,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_11_col81))) + ((op0_limb_26_col67) * (op1_limb_10_col80))) + ((op0_limb_27_col68) * (op1_limb_9_col79))); - let conv_tmp_1453 = (((((((((((((((((((M31_0) + let conv_tmp_5a14_54 = (((((((((((((((((((M31_0) + ((op0_limb_10_col51) * (op1_limb_27_col97))) + ((op0_limb_11_col52) * (op1_limb_26_col96))) + ((op0_limb_12_col53) * (op1_limb_25_col95))) @@ -1402,7 +1404,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_12_col82))) + ((op0_limb_26_col67) * (op1_limb_11_col81))) + ((op0_limb_27_col68) * (op1_limb_10_col80))); - let conv_tmp_1454 = ((((((((((((((((((M31_0) + let conv_tmp_5a14_55 = ((((((((((((((((((M31_0) + ((op0_limb_11_col52) * (op1_limb_27_col97))) + ((op0_limb_12_col53) * (op1_limb_26_col96))) + ((op0_limb_13_col54) * (op1_limb_25_col95))) @@ -1420,7 +1422,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_13_col83))) + ((op0_limb_26_col67) * (op1_limb_12_col82))) + ((op0_limb_27_col68) * (op1_limb_11_col81))); - let conv_tmp_1455 = (((((((((((((((((M31_0) + let conv_tmp_5a14_56 = (((((((((((((((((M31_0) + ((op0_limb_12_col53) * (op1_limb_27_col97))) + ((op0_limb_13_col54) * (op1_limb_26_col96))) + ((op0_limb_14_col55) * (op1_limb_25_col95))) @@ -1437,7 +1439,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_14_col84))) + ((op0_limb_26_col67) * (op1_limb_13_col83))) + ((op0_limb_27_col68) * (op1_limb_12_col82))); - let conv_tmp_1456 = ((((((((((((((((M31_0) + let conv_tmp_5a14_57 = ((((((((((((((((M31_0) + ((op0_limb_13_col54) * (op1_limb_27_col97))) + ((op0_limb_14_col55) * (op1_limb_26_col96))) + ((op0_limb_15_col56) * (op1_limb_25_col95))) @@ -1453,7 +1455,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_15_col85))) + ((op0_limb_26_col67) * (op1_limb_14_col84))) + ((op0_limb_27_col68) * (op1_limb_13_col83))); - let conv_tmp_1457 = (((((((((((((((M31_0) + let conv_tmp_5a14_58 = (((((((((((((((M31_0) + ((op0_limb_14_col55) * (op1_limb_27_col97))) + ((op0_limb_15_col56) * (op1_limb_26_col96))) + ((op0_limb_16_col57) * (op1_limb_25_col95))) @@ -1468,7 +1470,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_16_col86))) + ((op0_limb_26_col67) * (op1_limb_15_col85))) + ((op0_limb_27_col68) * (op1_limb_14_col84))); - let conv_tmp_1458 = ((((((((((((((M31_0) + let conv_tmp_5a14_59 = ((((((((((((((M31_0) + ((op0_limb_15_col56) * (op1_limb_27_col97))) + ((op0_limb_16_col57) * (op1_limb_26_col96))) + ((op0_limb_17_col58) * (op1_limb_25_col95))) @@ -1482,7 +1484,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_17_col87))) + ((op0_limb_26_col67) * (op1_limb_16_col86))) + ((op0_limb_27_col68) * (op1_limb_15_col85))); - let conv_tmp_1459 = (((((((((((((M31_0) + let conv_tmp_5a14_60 = (((((((((((((M31_0) + ((op0_limb_16_col57) * (op1_limb_27_col97))) + ((op0_limb_17_col58) * (op1_limb_26_col96))) + ((op0_limb_18_col59) * (op1_limb_25_col95))) @@ -1495,7 +1497,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_18_col88))) + ((op0_limb_26_col67) * (op1_limb_17_col87))) + ((op0_limb_27_col68) * (op1_limb_16_col86))); - let conv_tmp_1460 = ((((((((((((M31_0) + let conv_tmp_5a14_61 = ((((((((((((M31_0) + ((op0_limb_17_col58) * (op1_limb_27_col97))) + ((op0_limb_18_col59) * (op1_limb_26_col96))) + ((op0_limb_19_col60) * (op1_limb_25_col95))) @@ -1507,7 +1509,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_19_col89))) + ((op0_limb_26_col67) * (op1_limb_18_col88))) + ((op0_limb_27_col68) * (op1_limb_17_col87))); - let conv_tmp_1461 = (((((((((((M31_0) + let conv_tmp_5a14_62 = (((((((((((M31_0) + ((op0_limb_18_col59) * (op1_limb_27_col97))) + ((op0_limb_19_col60) * (op1_limb_26_col96))) + ((op0_limb_20_col61) * (op1_limb_25_col95))) @@ -1518,7 +1520,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_20_col90))) + ((op0_limb_26_col67) * (op1_limb_19_col89))) + ((op0_limb_27_col68) * (op1_limb_18_col88))); - let conv_tmp_1462 = ((((((((((M31_0) + let conv_tmp_5a14_63 = ((((((((((M31_0) + ((op0_limb_19_col60) * (op1_limb_27_col97))) + ((op0_limb_20_col61) * (op1_limb_26_col96))) + ((op0_limb_21_col62) * (op1_limb_25_col95))) @@ -1528,7 +1530,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_21_col91))) + ((op0_limb_26_col67) * (op1_limb_20_col90))) + ((op0_limb_27_col68) * (op1_limb_19_col89))); - let conv_tmp_1463 = (((((((((M31_0) + let conv_tmp_5a14_64 = (((((((((M31_0) + ((op0_limb_20_col61) * (op1_limb_27_col97))) + ((op0_limb_21_col62) * (op1_limb_26_col96))) + ((op0_limb_22_col63) * (op1_limb_25_col95))) @@ -1537,152 +1539,154 @@ pub fn write_trace_simd( + ((op0_limb_25_col66) * (op1_limb_22_col92))) + ((op0_limb_26_col67) * (op1_limb_21_col91))) + ((op0_limb_27_col68) * (op1_limb_20_col90))); - let conv_tmp_1464 = ((((((((M31_0) + ((op0_limb_21_col62) * (op1_limb_27_col97))) + let conv_tmp_5a14_65 = ((((((((M31_0) + + ((op0_limb_21_col62) * (op1_limb_27_col97))) + ((op0_limb_22_col63) * (op1_limb_26_col96))) + ((op0_limb_23_col64) * (op1_limb_25_col95))) + ((op0_limb_24_col65) * (op1_limb_24_col94))) + ((op0_limb_25_col66) * (op1_limb_23_col93))) + ((op0_limb_26_col67) * (op1_limb_22_col92))) + ((op0_limb_27_col68) * (op1_limb_21_col91))); - let conv_tmp_1465 = (((((((M31_0) + ((op0_limb_22_col63) * (op1_limb_27_col97))) + let conv_tmp_5a14_66 = (((((((M31_0) + + ((op0_limb_22_col63) * (op1_limb_27_col97))) + ((op0_limb_23_col64) * (op1_limb_26_col96))) + ((op0_limb_24_col65) * (op1_limb_25_col95))) + ((op0_limb_25_col66) * (op1_limb_24_col94))) + ((op0_limb_26_col67) * (op1_limb_23_col93))) + ((op0_limb_27_col68) * (op1_limb_22_col92))); - let conv_tmp_1466 = ((((((M31_0) + ((op0_limb_23_col64) * (op1_limb_27_col97))) + let conv_tmp_5a14_67 = ((((((M31_0) + ((op0_limb_23_col64) * (op1_limb_27_col97))) + ((op0_limb_24_col65) * (op1_limb_26_col96))) + ((op0_limb_25_col66) * (op1_limb_25_col95))) + ((op0_limb_26_col67) * (op1_limb_24_col94))) + ((op0_limb_27_col68) * (op1_limb_23_col93))); - let conv_tmp_1467 = (((((M31_0) + ((op0_limb_24_col65) * (op1_limb_27_col97))) + let conv_tmp_5a14_68 = (((((M31_0) + ((op0_limb_24_col65) * (op1_limb_27_col97))) + ((op0_limb_25_col66) * (op1_limb_26_col96))) + ((op0_limb_26_col67) * (op1_limb_25_col95))) + ((op0_limb_27_col68) * (op1_limb_24_col94))); - let conv_tmp_1468 = ((((M31_0) + ((op0_limb_25_col66) * (op1_limb_27_col97))) + let conv_tmp_5a14_69 = ((((M31_0) + ((op0_limb_25_col66) * (op1_limb_27_col97))) + ((op0_limb_26_col67) * (op1_limb_26_col96))) + ((op0_limb_27_col68) * (op1_limb_25_col95))); - let conv_tmp_1469 = (((M31_0) + ((op0_limb_26_col67) * (op1_limb_27_col97))) + let conv_tmp_5a14_70 = (((M31_0) + ((op0_limb_26_col67) * (op1_limb_27_col97))) + ((op0_limb_27_col68) * (op1_limb_26_col96))); - let conv_tmp_1470 = ((M31_0) + ((op0_limb_27_col68) * (op1_limb_27_col97))); - let conv_mod_tmp_1471 = ((((M31_0) + ((M31_32) * (conv_tmp_1416))) - - ((M31_4) * (conv_tmp_1437))) - + ((M31_8) * (conv_tmp_1465))); - let conv_mod_tmp_1472 = (((((M31_0) + ((M31_1) * (conv_tmp_1416))) - + ((M31_32) * (conv_tmp_1417))) - - ((M31_4) * (conv_tmp_1438))) - + ((M31_8) * (conv_tmp_1466))); - let conv_mod_tmp_1473 = (((((M31_0) + ((M31_1) * (conv_tmp_1417))) - + ((M31_32) * (conv_tmp_1418))) - - ((M31_4) * (conv_tmp_1439))) - + ((M31_8) * (conv_tmp_1467))); - let conv_mod_tmp_1474 = (((((M31_0) + ((M31_1) * (conv_tmp_1418))) - + ((M31_32) * (conv_tmp_1419))) - - ((M31_4) * (conv_tmp_1440))) - + ((M31_8) * (conv_tmp_1468))); - let conv_mod_tmp_1475 = (((((M31_0) + ((M31_1) * (conv_tmp_1419))) - + ((M31_32) * (conv_tmp_1420))) - - ((M31_4) * (conv_tmp_1441))) - + ((M31_8) * (conv_tmp_1469))); - let conv_mod_tmp_1476 = (((((M31_0) + ((M31_1) * (conv_tmp_1420))) - + ((M31_32) * (conv_tmp_1421))) - - ((M31_4) * (conv_tmp_1442))) - + ((M31_8) * (conv_tmp_1470))); - let conv_mod_tmp_1477 = ((((M31_0) + ((M31_1) * (conv_tmp_1421))) - + ((M31_32) * (conv_tmp_1422))) - - ((M31_4) * (conv_tmp_1443))); - let conv_mod_tmp_1478 = (((((M31_0) + ((M31_2) * (conv_tmp_1416))) - + ((M31_1) * (conv_tmp_1422))) - + ((M31_32) * (conv_tmp_1423))) - - ((M31_4) * (conv_tmp_1444))); - let conv_mod_tmp_1479 = (((((M31_0) + ((M31_2) * (conv_tmp_1417))) - + ((M31_1) * (conv_tmp_1423))) - + ((M31_32) * (conv_tmp_1424))) - - ((M31_4) * (conv_tmp_1445))); - let conv_mod_tmp_1480 = (((((M31_0) + ((M31_2) * (conv_tmp_1418))) - + ((M31_1) * (conv_tmp_1424))) - + ((M31_32) * (conv_tmp_1425))) - - ((M31_4) * (conv_tmp_1446))); - let conv_mod_tmp_1481 = (((((M31_0) + ((M31_2) * (conv_tmp_1419))) - + ((M31_1) * (conv_tmp_1425))) - + ((M31_32) * (conv_tmp_1426))) - - ((M31_4) * (conv_tmp_1447))); - let conv_mod_tmp_1482 = (((((M31_0) + ((M31_2) * (conv_tmp_1420))) - + ((M31_1) * (conv_tmp_1426))) - + ((M31_32) * (conv_tmp_1427))) - - ((M31_4) * (conv_tmp_1448))); - let conv_mod_tmp_1483 = (((((M31_0) + ((M31_2) * (conv_tmp_1421))) - + ((M31_1) * (conv_tmp_1427))) - + ((M31_32) * (conv_tmp_1428))) - - ((M31_4) * (conv_tmp_1449))); - let conv_mod_tmp_1484 = (((((M31_0) + ((M31_2) * (conv_tmp_1422))) - + ((M31_1) * (conv_tmp_1428))) - + ((M31_32) * (conv_tmp_1429))) - - ((M31_4) * (conv_tmp_1450))); - let conv_mod_tmp_1485 = (((((M31_0) + ((M31_2) * (conv_tmp_1423))) - + ((M31_1) * (conv_tmp_1429))) - + ((M31_32) * (conv_tmp_1430))) - - ((M31_4) * (conv_tmp_1451))); - let conv_mod_tmp_1486 = (((((M31_0) + ((M31_2) * (conv_tmp_1424))) - + ((M31_1) * (conv_tmp_1430))) - + ((M31_32) * (conv_tmp_1431))) - - ((M31_4) * (conv_tmp_1452))); - let conv_mod_tmp_1487 = (((((M31_0) + ((M31_2) * (conv_tmp_1425))) - + ((M31_1) * (conv_tmp_1431))) - + ((M31_32) * (conv_tmp_1432))) - - ((M31_4) * (conv_tmp_1453))); - let conv_mod_tmp_1488 = (((((M31_0) + ((M31_2) * (conv_tmp_1426))) - + ((M31_1) * (conv_tmp_1432))) - + ((M31_32) * (conv_tmp_1433))) - - ((M31_4) * (conv_tmp_1454))); - let conv_mod_tmp_1489 = (((((M31_0) + ((M31_2) * (conv_tmp_1427))) - + ((M31_1) * (conv_tmp_1433))) - + ((M31_32) * (conv_tmp_1434))) - - ((M31_4) * (conv_tmp_1455))); - let conv_mod_tmp_1490 = (((((M31_0) + ((M31_2) * (conv_tmp_1428))) - + ((M31_1) * (conv_tmp_1434))) - + ((M31_32) * (conv_tmp_1435))) - - ((M31_4) * (conv_tmp_1456))); - let conv_mod_tmp_1491 = (((((M31_0) + ((M31_2) * (conv_tmp_1429))) - + ((M31_1) * (conv_tmp_1435))) - + ((M31_32) * (conv_tmp_1436))) - - ((M31_4) * (conv_tmp_1457))); - let conv_mod_tmp_1492 = (((((M31_0) + ((M31_2) * (conv_tmp_1430))) - + ((M31_1) * (conv_tmp_1436))) - - ((M31_4) * (conv_tmp_1458))) - + ((M31_64) * (conv_tmp_1465))); - let conv_mod_tmp_1493 = (((((M31_0) + ((M31_2) * (conv_tmp_1431))) - - ((M31_4) * (conv_tmp_1459))) - + ((M31_2) * (conv_tmp_1465))) - + ((M31_64) * (conv_tmp_1466))); - let conv_mod_tmp_1494 = (((((M31_0) + ((M31_2) * (conv_tmp_1432))) - - ((M31_4) * (conv_tmp_1460))) - + ((M31_2) * (conv_tmp_1466))) - + ((M31_64) * (conv_tmp_1467))); - let conv_mod_tmp_1495 = (((((M31_0) + ((M31_2) * (conv_tmp_1433))) - - ((M31_4) * (conv_tmp_1461))) - + ((M31_2) * (conv_tmp_1467))) - + ((M31_64) * (conv_tmp_1468))); - let conv_mod_tmp_1496 = (((((M31_0) + ((M31_2) * (conv_tmp_1434))) - - ((M31_4) * (conv_tmp_1462))) - + ((M31_2) * (conv_tmp_1468))) - + ((M31_64) * (conv_tmp_1469))); - let conv_mod_tmp_1497 = (((((M31_0) + ((M31_2) * (conv_tmp_1435))) - - ((M31_4) * (conv_tmp_1463))) - + ((M31_2) * (conv_tmp_1469))) - + ((M31_64) * (conv_tmp_1470))); - let conv_mod_tmp_1498 = ((((M31_0) + ((M31_2) * (conv_tmp_1436))) - - ((M31_4) * (conv_tmp_1464))) - + ((M31_2) * (conv_tmp_1470))); - let k_mod_2_18_biased_tmp_1499 = - ((((PackedUInt32::from_m31(((conv_mod_tmp_1471) + (M31_134217728)))) - + (((PackedUInt32::from_m31(((conv_mod_tmp_1472) + (M31_134217728)))) + let conv_tmp_5a14_71 = ((M31_0) + ((op0_limb_27_col68) * (op1_limb_27_col97))); + let conv_mod_tmp_5a14_72 = ((((M31_0) + ((M31_32) * (conv_tmp_5a14_17))) + - ((M31_4) * (conv_tmp_5a14_38))) + + ((M31_8) * (conv_tmp_5a14_66))); + let conv_mod_tmp_5a14_73 = (((((M31_0) + ((M31_1) * (conv_tmp_5a14_17))) + + ((M31_32) * (conv_tmp_5a14_18))) + - ((M31_4) * (conv_tmp_5a14_39))) + + ((M31_8) * (conv_tmp_5a14_67))); + let conv_mod_tmp_5a14_74 = (((((M31_0) + ((M31_1) * (conv_tmp_5a14_18))) + + ((M31_32) * (conv_tmp_5a14_19))) + - ((M31_4) * (conv_tmp_5a14_40))) + + ((M31_8) * (conv_tmp_5a14_68))); + let conv_mod_tmp_5a14_75 = (((((M31_0) + ((M31_1) * (conv_tmp_5a14_19))) + + ((M31_32) * (conv_tmp_5a14_20))) + - ((M31_4) * (conv_tmp_5a14_41))) + + ((M31_8) * (conv_tmp_5a14_69))); + let conv_mod_tmp_5a14_76 = (((((M31_0) + ((M31_1) * (conv_tmp_5a14_20))) + + ((M31_32) * (conv_tmp_5a14_21))) + - ((M31_4) * (conv_tmp_5a14_42))) + + ((M31_8) * (conv_tmp_5a14_70))); + let conv_mod_tmp_5a14_77 = (((((M31_0) + ((M31_1) * (conv_tmp_5a14_21))) + + ((M31_32) * (conv_tmp_5a14_22))) + - ((M31_4) * (conv_tmp_5a14_43))) + + ((M31_8) * (conv_tmp_5a14_71))); + let conv_mod_tmp_5a14_78 = ((((M31_0) + ((M31_1) * (conv_tmp_5a14_22))) + + ((M31_32) * (conv_tmp_5a14_23))) + - ((M31_4) * (conv_tmp_5a14_44))); + let conv_mod_tmp_5a14_79 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_17))) + + ((M31_1) * (conv_tmp_5a14_23))) + + ((M31_32) * (conv_tmp_5a14_24))) + - ((M31_4) * (conv_tmp_5a14_45))); + let conv_mod_tmp_5a14_80 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_18))) + + ((M31_1) * (conv_tmp_5a14_24))) + + ((M31_32) * (conv_tmp_5a14_25))) + - ((M31_4) * (conv_tmp_5a14_46))); + let conv_mod_tmp_5a14_81 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_19))) + + ((M31_1) * (conv_tmp_5a14_25))) + + ((M31_32) * (conv_tmp_5a14_26))) + - ((M31_4) * (conv_tmp_5a14_47))); + let conv_mod_tmp_5a14_82 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_20))) + + ((M31_1) * (conv_tmp_5a14_26))) + + ((M31_32) * (conv_tmp_5a14_27))) + - ((M31_4) * (conv_tmp_5a14_48))); + let conv_mod_tmp_5a14_83 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_21))) + + ((M31_1) * (conv_tmp_5a14_27))) + + ((M31_32) * (conv_tmp_5a14_28))) + - ((M31_4) * (conv_tmp_5a14_49))); + let conv_mod_tmp_5a14_84 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_22))) + + ((M31_1) * (conv_tmp_5a14_28))) + + ((M31_32) * (conv_tmp_5a14_29))) + - ((M31_4) * (conv_tmp_5a14_50))); + let conv_mod_tmp_5a14_85 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_23))) + + ((M31_1) * (conv_tmp_5a14_29))) + + ((M31_32) * (conv_tmp_5a14_30))) + - ((M31_4) * (conv_tmp_5a14_51))); + let conv_mod_tmp_5a14_86 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_24))) + + ((M31_1) * (conv_tmp_5a14_30))) + + ((M31_32) * (conv_tmp_5a14_31))) + - ((M31_4) * (conv_tmp_5a14_52))); + let conv_mod_tmp_5a14_87 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_25))) + + ((M31_1) * (conv_tmp_5a14_31))) + + ((M31_32) * (conv_tmp_5a14_32))) + - ((M31_4) * (conv_tmp_5a14_53))); + let conv_mod_tmp_5a14_88 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_26))) + + ((M31_1) * (conv_tmp_5a14_32))) + + ((M31_32) * (conv_tmp_5a14_33))) + - ((M31_4) * (conv_tmp_5a14_54))); + let conv_mod_tmp_5a14_89 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_27))) + + ((M31_1) * (conv_tmp_5a14_33))) + + ((M31_32) * (conv_tmp_5a14_34))) + - ((M31_4) * (conv_tmp_5a14_55))); + let conv_mod_tmp_5a14_90 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_28))) + + ((M31_1) * (conv_tmp_5a14_34))) + + ((M31_32) * (conv_tmp_5a14_35))) + - ((M31_4) * (conv_tmp_5a14_56))); + let conv_mod_tmp_5a14_91 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_29))) + + ((M31_1) * (conv_tmp_5a14_35))) + + ((M31_32) * (conv_tmp_5a14_36))) + - ((M31_4) * (conv_tmp_5a14_57))); + let conv_mod_tmp_5a14_92 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_30))) + + ((M31_1) * (conv_tmp_5a14_36))) + + ((M31_32) * (conv_tmp_5a14_37))) + - ((M31_4) * (conv_tmp_5a14_58))); + let conv_mod_tmp_5a14_93 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_31))) + + ((M31_1) * (conv_tmp_5a14_37))) + - ((M31_4) * (conv_tmp_5a14_59))) + + ((M31_64) * (conv_tmp_5a14_66))); + let conv_mod_tmp_5a14_94 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_32))) + - ((M31_4) * (conv_tmp_5a14_60))) + + ((M31_2) * (conv_tmp_5a14_66))) + + ((M31_64) * (conv_tmp_5a14_67))); + let conv_mod_tmp_5a14_95 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_33))) + - ((M31_4) * (conv_tmp_5a14_61))) + + ((M31_2) * (conv_tmp_5a14_67))) + + ((M31_64) * (conv_tmp_5a14_68))); + let conv_mod_tmp_5a14_96 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_34))) + - ((M31_4) * (conv_tmp_5a14_62))) + + ((M31_2) * (conv_tmp_5a14_68))) + + ((M31_64) * (conv_tmp_5a14_69))); + let conv_mod_tmp_5a14_97 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_35))) + - ((M31_4) * (conv_tmp_5a14_63))) + + ((M31_2) * (conv_tmp_5a14_69))) + + ((M31_64) * (conv_tmp_5a14_70))); + let conv_mod_tmp_5a14_98 = (((((M31_0) + ((M31_2) * (conv_tmp_5a14_36))) + - ((M31_4) * (conv_tmp_5a14_64))) + + ((M31_2) * (conv_tmp_5a14_70))) + + ((M31_64) * (conv_tmp_5a14_71))); + let conv_mod_tmp_5a14_99 = ((((M31_0) + ((M31_2) * (conv_tmp_5a14_37))) + - ((M31_4) * (conv_tmp_5a14_65))) + + ((M31_2) * (conv_tmp_5a14_71))); + let k_mod_2_18_biased_tmp_5a14_100 = + ((((PackedUInt32::from_m31(((conv_mod_tmp_5a14_72) + (M31_134217728)))) + + (((PackedUInt32::from_m31(((conv_mod_tmp_5a14_73) + (M31_134217728)))) & (UInt32_511)) << (UInt32_9))) + (UInt32_65536)) & (UInt32_262143)); - let k_col98 = ((k_mod_2_18_biased_tmp_1499.low().as_m31()) - + (((k_mod_2_18_biased_tmp_1499.high().as_m31()) - (M31_1)) * (M31_65536))); + let k_col98 = ((k_mod_2_18_biased_tmp_5a14_100.low().as_m31()) + + (((k_mod_2_18_biased_tmp_5a14_100.high().as_m31()) - (M31_1)) * (M31_65536))); trace[98].data[row_index] = k_col98; sub_components_inputs.range_check_19_inputs[0] @@ -1690,154 +1694,154 @@ pub fn write_trace_simd( lookup_data.rangecheck_19[0].push([((k_col98) + (M31_262144))]); let carry_0_col99 = - ((((conv_mod_tmp_1471) - ((M31_1) * (k_col98))) + (M31_0)) * (M31_4194304)); + ((((conv_mod_tmp_5a14_72) - ((M31_1) * (k_col98))) + (M31_0)) * (M31_4194304)); trace[99].data[row_index] = carry_0_col99; sub_components_inputs.range_check_19_inputs[1] .extend([((carry_0_col99) + (M31_131072))].unpack()); lookup_data.rangecheck_19[1].push([((carry_0_col99) + (M31_131072))]); - let carry_1_col100 = (((conv_mod_tmp_1472) + (carry_0_col99)) * (M31_4194304)); + let carry_1_col100 = (((conv_mod_tmp_5a14_73) + (carry_0_col99)) * (M31_4194304)); trace[100].data[row_index] = carry_1_col100; sub_components_inputs.range_check_19_inputs[2] .extend([((carry_1_col100) + (M31_131072))].unpack()); lookup_data.rangecheck_19[2].push([((carry_1_col100) + (M31_131072))]); - let carry_2_col101 = (((conv_mod_tmp_1473) + (carry_1_col100)) * (M31_4194304)); + let carry_2_col101 = (((conv_mod_tmp_5a14_74) + (carry_1_col100)) * (M31_4194304)); trace[101].data[row_index] = carry_2_col101; sub_components_inputs.range_check_19_inputs[3] .extend([((carry_2_col101) + (M31_131072))].unpack()); lookup_data.rangecheck_19[3].push([((carry_2_col101) + (M31_131072))]); - let carry_3_col102 = (((conv_mod_tmp_1474) + (carry_2_col101)) * (M31_4194304)); + let carry_3_col102 = (((conv_mod_tmp_5a14_75) + (carry_2_col101)) * (M31_4194304)); trace[102].data[row_index] = carry_3_col102; sub_components_inputs.range_check_19_inputs[4] .extend([((carry_3_col102) + (M31_131072))].unpack()); lookup_data.rangecheck_19[4].push([((carry_3_col102) + (M31_131072))]); - let carry_4_col103 = (((conv_mod_tmp_1475) + (carry_3_col102)) * (M31_4194304)); + let carry_4_col103 = (((conv_mod_tmp_5a14_76) + (carry_3_col102)) * (M31_4194304)); trace[103].data[row_index] = carry_4_col103; sub_components_inputs.range_check_19_inputs[5] .extend([((carry_4_col103) + (M31_131072))].unpack()); lookup_data.rangecheck_19[5].push([((carry_4_col103) + (M31_131072))]); - let carry_5_col104 = (((conv_mod_tmp_1476) + (carry_4_col103)) * (M31_4194304)); + let carry_5_col104 = (((conv_mod_tmp_5a14_77) + (carry_4_col103)) * (M31_4194304)); trace[104].data[row_index] = carry_5_col104; sub_components_inputs.range_check_19_inputs[6] .extend([((carry_5_col104) + (M31_131072))].unpack()); lookup_data.rangecheck_19[6].push([((carry_5_col104) + (M31_131072))]); - let carry_6_col105 = (((conv_mod_tmp_1477) + (carry_5_col104)) * (M31_4194304)); + let carry_6_col105 = (((conv_mod_tmp_5a14_78) + (carry_5_col104)) * (M31_4194304)); trace[105].data[row_index] = carry_6_col105; sub_components_inputs.range_check_19_inputs[7] .extend([((carry_6_col105) + (M31_131072))].unpack()); lookup_data.rangecheck_19[7].push([((carry_6_col105) + (M31_131072))]); - let carry_7_col106 = (((conv_mod_tmp_1478) + (carry_6_col105)) * (M31_4194304)); + let carry_7_col106 = (((conv_mod_tmp_5a14_79) + (carry_6_col105)) * (M31_4194304)); trace[106].data[row_index] = carry_7_col106; sub_components_inputs.range_check_19_inputs[8] .extend([((carry_7_col106) + (M31_131072))].unpack()); lookup_data.rangecheck_19[8].push([((carry_7_col106) + (M31_131072))]); - let carry_8_col107 = (((conv_mod_tmp_1479) + (carry_7_col106)) * (M31_4194304)); + let carry_8_col107 = (((conv_mod_tmp_5a14_80) + (carry_7_col106)) * (M31_4194304)); trace[107].data[row_index] = carry_8_col107; sub_components_inputs.range_check_19_inputs[9] .extend([((carry_8_col107) + (M31_131072))].unpack()); lookup_data.rangecheck_19[9].push([((carry_8_col107) + (M31_131072))]); - let carry_9_col108 = (((conv_mod_tmp_1480) + (carry_8_col107)) * (M31_4194304)); + let carry_9_col108 = (((conv_mod_tmp_5a14_81) + (carry_8_col107)) * (M31_4194304)); trace[108].data[row_index] = carry_9_col108; sub_components_inputs.range_check_19_inputs[10] .extend([((carry_9_col108) + (M31_131072))].unpack()); lookup_data.rangecheck_19[10].push([((carry_9_col108) + (M31_131072))]); - let carry_10_col109 = (((conv_mod_tmp_1481) + (carry_9_col108)) * (M31_4194304)); + let carry_10_col109 = (((conv_mod_tmp_5a14_82) + (carry_9_col108)) * (M31_4194304)); trace[109].data[row_index] = carry_10_col109; sub_components_inputs.range_check_19_inputs[11] .extend([((carry_10_col109) + (M31_131072))].unpack()); lookup_data.rangecheck_19[11].push([((carry_10_col109) + (M31_131072))]); - let carry_11_col110 = (((conv_mod_tmp_1482) + (carry_10_col109)) * (M31_4194304)); + let carry_11_col110 = (((conv_mod_tmp_5a14_83) + (carry_10_col109)) * (M31_4194304)); trace[110].data[row_index] = carry_11_col110; sub_components_inputs.range_check_19_inputs[12] .extend([((carry_11_col110) + (M31_131072))].unpack()); lookup_data.rangecheck_19[12].push([((carry_11_col110) + (M31_131072))]); - let carry_12_col111 = (((conv_mod_tmp_1483) + (carry_11_col110)) * (M31_4194304)); + let carry_12_col111 = (((conv_mod_tmp_5a14_84) + (carry_11_col110)) * (M31_4194304)); trace[111].data[row_index] = carry_12_col111; sub_components_inputs.range_check_19_inputs[13] .extend([((carry_12_col111) + (M31_131072))].unpack()); lookup_data.rangecheck_19[13].push([((carry_12_col111) + (M31_131072))]); - let carry_13_col112 = (((conv_mod_tmp_1484) + (carry_12_col111)) * (M31_4194304)); + let carry_13_col112 = (((conv_mod_tmp_5a14_85) + (carry_12_col111)) * (M31_4194304)); trace[112].data[row_index] = carry_13_col112; sub_components_inputs.range_check_19_inputs[14] .extend([((carry_13_col112) + (M31_131072))].unpack()); lookup_data.rangecheck_19[14].push([((carry_13_col112) + (M31_131072))]); - let carry_14_col113 = (((conv_mod_tmp_1485) + (carry_13_col112)) * (M31_4194304)); + let carry_14_col113 = (((conv_mod_tmp_5a14_86) + (carry_13_col112)) * (M31_4194304)); trace[113].data[row_index] = carry_14_col113; sub_components_inputs.range_check_19_inputs[15] .extend([((carry_14_col113) + (M31_131072))].unpack()); lookup_data.rangecheck_19[15].push([((carry_14_col113) + (M31_131072))]); - let carry_15_col114 = (((conv_mod_tmp_1486) + (carry_14_col113)) * (M31_4194304)); + let carry_15_col114 = (((conv_mod_tmp_5a14_87) + (carry_14_col113)) * (M31_4194304)); trace[114].data[row_index] = carry_15_col114; sub_components_inputs.range_check_19_inputs[16] .extend([((carry_15_col114) + (M31_131072))].unpack()); lookup_data.rangecheck_19[16].push([((carry_15_col114) + (M31_131072))]); - let carry_16_col115 = (((conv_mod_tmp_1487) + (carry_15_col114)) * (M31_4194304)); + let carry_16_col115 = (((conv_mod_tmp_5a14_88) + (carry_15_col114)) * (M31_4194304)); trace[115].data[row_index] = carry_16_col115; sub_components_inputs.range_check_19_inputs[17] .extend([((carry_16_col115) + (M31_131072))].unpack()); lookup_data.rangecheck_19[17].push([((carry_16_col115) + (M31_131072))]); - let carry_17_col116 = (((conv_mod_tmp_1488) + (carry_16_col115)) * (M31_4194304)); + let carry_17_col116 = (((conv_mod_tmp_5a14_89) + (carry_16_col115)) * (M31_4194304)); trace[116].data[row_index] = carry_17_col116; sub_components_inputs.range_check_19_inputs[18] .extend([((carry_17_col116) + (M31_131072))].unpack()); lookup_data.rangecheck_19[18].push([((carry_17_col116) + (M31_131072))]); - let carry_18_col117 = (((conv_mod_tmp_1489) + (carry_17_col116)) * (M31_4194304)); + let carry_18_col117 = (((conv_mod_tmp_5a14_90) + (carry_17_col116)) * (M31_4194304)); trace[117].data[row_index] = carry_18_col117; sub_components_inputs.range_check_19_inputs[19] .extend([((carry_18_col117) + (M31_131072))].unpack()); lookup_data.rangecheck_19[19].push([((carry_18_col117) + (M31_131072))]); - let carry_19_col118 = (((conv_mod_tmp_1490) + (carry_18_col117)) * (M31_4194304)); + let carry_19_col118 = (((conv_mod_tmp_5a14_91) + (carry_18_col117)) * (M31_4194304)); trace[118].data[row_index] = carry_19_col118; sub_components_inputs.range_check_19_inputs[20] .extend([((carry_19_col118) + (M31_131072))].unpack()); lookup_data.rangecheck_19[20].push([((carry_19_col118) + (M31_131072))]); - let carry_20_col119 = (((conv_mod_tmp_1491) + (carry_19_col118)) * (M31_4194304)); + let carry_20_col119 = (((conv_mod_tmp_5a14_92) + (carry_19_col118)) * (M31_4194304)); trace[119].data[row_index] = carry_20_col119; sub_components_inputs.range_check_19_inputs[21] .extend([((carry_20_col119) + (M31_131072))].unpack()); lookup_data.rangecheck_19[21].push([((carry_20_col119) + (M31_131072))]); - let carry_21_col120 = ((((conv_mod_tmp_1492) - ((M31_136) * (k_col98))) + let carry_21_col120 = ((((conv_mod_tmp_5a14_93) - ((M31_136) * (k_col98))) + (carry_20_col119)) * (M31_4194304)); trace[120].data[row_index] = carry_21_col120; @@ -1846,35 +1850,35 @@ pub fn write_trace_simd( .extend([((carry_21_col120) + (M31_131072))].unpack()); lookup_data.rangecheck_19[22].push([((carry_21_col120) + (M31_131072))]); - let carry_22_col121 = (((conv_mod_tmp_1493) + (carry_21_col120)) * (M31_4194304)); + let carry_22_col121 = (((conv_mod_tmp_5a14_94) + (carry_21_col120)) * (M31_4194304)); trace[121].data[row_index] = carry_22_col121; sub_components_inputs.range_check_19_inputs[23] .extend([((carry_22_col121) + (M31_131072))].unpack()); lookup_data.rangecheck_19[23].push([((carry_22_col121) + (M31_131072))]); - let carry_23_col122 = (((conv_mod_tmp_1494) + (carry_22_col121)) * (M31_4194304)); + let carry_23_col122 = (((conv_mod_tmp_5a14_95) + (carry_22_col121)) * (M31_4194304)); trace[122].data[row_index] = carry_23_col122; sub_components_inputs.range_check_19_inputs[24] .extend([((carry_23_col122) + (M31_131072))].unpack()); lookup_data.rangecheck_19[24].push([((carry_23_col122) + (M31_131072))]); - let carry_24_col123 = (((conv_mod_tmp_1495) + (carry_23_col122)) * (M31_4194304)); + let carry_24_col123 = (((conv_mod_tmp_5a14_96) + (carry_23_col122)) * (M31_4194304)); trace[123].data[row_index] = carry_24_col123; sub_components_inputs.range_check_19_inputs[25] .extend([((carry_24_col123) + (M31_131072))].unpack()); lookup_data.rangecheck_19[25].push([((carry_24_col123) + (M31_131072))]); - let carry_25_col124 = (((conv_mod_tmp_1496) + (carry_24_col123)) * (M31_4194304)); + let carry_25_col124 = (((conv_mod_tmp_5a14_97) + (carry_24_col123)) * (M31_4194304)); trace[124].data[row_index] = carry_25_col124; sub_components_inputs.range_check_19_inputs[26] .extend([((carry_25_col124) + (M31_131072))].unpack()); lookup_data.rangecheck_19[26].push([((carry_25_col124) + (M31_131072))]); - let carry_26_col125 = (((conv_mod_tmp_1497) + (carry_25_col124)) * (M31_4194304)); + let carry_26_col125 = (((conv_mod_tmp_5a14_98) + (carry_25_col124)) * (M31_4194304)); trace[125].data[row_index] = carry_26_col125; sub_components_inputs.range_check_19_inputs[27] diff --git a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/component.rs b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/component.rs index d1ef43e4..71647af4 100644 --- a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/component.rs @@ -214,9 +214,9 @@ impl FrameworkEval for Eval { let carry_25_col121 = eval.next_trace_mask(); let carry_26_col122 = eval.next_trace_mask(); - // decode_instruction_cea21b812a0ef1a0. + // DecodeInstruction_cea21b812a0ef1a0. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -240,11 +240,11 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -253,9 +253,9 @@ impl FrameworkEval for Eval { + (offset0_col3.clone() - M31_32768.clone())), dst_id_col8.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -289,11 +289,11 @@ impl FrameworkEval for Eval { dst_limb_26_col35.clone(), dst_limb_27_col36.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ @@ -302,9 +302,9 @@ impl FrameworkEval for Eval { + (offset1_col4.clone() - M31_32768.clone())), op0_id_col37.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -338,20 +338,20 @@ impl FrameworkEval for Eval { op0_limb_26_col64.clone(), op0_limb_27_col65.clone(), ], - )]); + )); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_pc_col0.clone() + M31_1.clone()), op1_id_col66.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -385,38 +385,38 @@ impl FrameworkEval for Eval { op1_limb_26_col93.clone(), op1_limb_27_col94.clone(), ], - )]); + )); - // verify_mul252. + // VerifyMul252. - let conv_tmp_1543 = ((M31_0.clone() - dst_limb_0_col9.clone()) + let conv_tmp_31b3_14 = ((M31_0.clone() - dst_limb_0_col9.clone()) + (op0_limb_0_col38.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1544 = (((M31_0.clone() - dst_limb_1_col10.clone()) + let conv_tmp_31b3_15 = (((M31_0.clone() - dst_limb_1_col10.clone()) + (op0_limb_0_col38.clone() * op1_limb_1_col68.clone())) + (op0_limb_1_col39.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1545 = ((((M31_0.clone() - dst_limb_2_col11.clone()) + let conv_tmp_31b3_16 = ((((M31_0.clone() - dst_limb_2_col11.clone()) + (op0_limb_0_col38.clone() * op1_limb_2_col69.clone())) + (op0_limb_1_col39.clone() * op1_limb_1_col68.clone())) + (op0_limb_2_col40.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1546 = (((((M31_0.clone() - dst_limb_3_col12.clone()) + let conv_tmp_31b3_17 = (((((M31_0.clone() - dst_limb_3_col12.clone()) + (op0_limb_0_col38.clone() * op1_limb_3_col70.clone())) + (op0_limb_1_col39.clone() * op1_limb_2_col69.clone())) + (op0_limb_2_col40.clone() * op1_limb_1_col68.clone())) + (op0_limb_3_col41.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1547 = ((((((M31_0.clone() - dst_limb_4_col13.clone()) + let conv_tmp_31b3_18 = ((((((M31_0.clone() - dst_limb_4_col13.clone()) + (op0_limb_0_col38.clone() * op1_limb_4_col71.clone())) + (op0_limb_1_col39.clone() * op1_limb_3_col70.clone())) + (op0_limb_2_col40.clone() * op1_limb_2_col69.clone())) + (op0_limb_3_col41.clone() * op1_limb_1_col68.clone())) + (op0_limb_4_col42.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1548 = (((((((M31_0.clone() - dst_limb_5_col14.clone()) + let conv_tmp_31b3_19 = (((((((M31_0.clone() - dst_limb_5_col14.clone()) + (op0_limb_0_col38.clone() * op1_limb_5_col72.clone())) + (op0_limb_1_col39.clone() * op1_limb_4_col71.clone())) + (op0_limb_2_col40.clone() * op1_limb_3_col70.clone())) + (op0_limb_3_col41.clone() * op1_limb_2_col69.clone())) + (op0_limb_4_col42.clone() * op1_limb_1_col68.clone())) + (op0_limb_5_col43.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1549 = ((((((((M31_0.clone() - dst_limb_6_col15.clone()) + let conv_tmp_31b3_20 = ((((((((M31_0.clone() - dst_limb_6_col15.clone()) + (op0_limb_0_col38.clone() * op1_limb_6_col73.clone())) + (op0_limb_1_col39.clone() * op1_limb_5_col72.clone())) + (op0_limb_2_col40.clone() * op1_limb_4_col71.clone())) @@ -424,7 +424,7 @@ impl FrameworkEval for Eval { + (op0_limb_4_col42.clone() * op1_limb_2_col69.clone())) + (op0_limb_5_col43.clone() * op1_limb_1_col68.clone())) + (op0_limb_6_col44.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1550 = (((((((((M31_0.clone() - dst_limb_7_col16.clone()) + let conv_tmp_31b3_21 = (((((((((M31_0.clone() - dst_limb_7_col16.clone()) + (op0_limb_0_col38.clone() * op1_limb_7_col74.clone())) + (op0_limb_1_col39.clone() * op1_limb_6_col73.clone())) + (op0_limb_2_col40.clone() * op1_limb_5_col72.clone())) @@ -433,7 +433,7 @@ impl FrameworkEval for Eval { + (op0_limb_5_col43.clone() * op1_limb_2_col69.clone())) + (op0_limb_6_col44.clone() * op1_limb_1_col68.clone())) + (op0_limb_7_col45.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1551 = ((((((((((M31_0.clone() - dst_limb_8_col17.clone()) + let conv_tmp_31b3_22 = ((((((((((M31_0.clone() - dst_limb_8_col17.clone()) + (op0_limb_0_col38.clone() * op1_limb_8_col75.clone())) + (op0_limb_1_col39.clone() * op1_limb_7_col74.clone())) + (op0_limb_2_col40.clone() * op1_limb_6_col73.clone())) @@ -443,7 +443,7 @@ impl FrameworkEval for Eval { + (op0_limb_6_col44.clone() * op1_limb_2_col69.clone())) + (op0_limb_7_col45.clone() * op1_limb_1_col68.clone())) + (op0_limb_8_col46.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1552 = (((((((((((M31_0.clone() - dst_limb_9_col18.clone()) + let conv_tmp_31b3_23 = (((((((((((M31_0.clone() - dst_limb_9_col18.clone()) + (op0_limb_0_col38.clone() * op1_limb_9_col76.clone())) + (op0_limb_1_col39.clone() * op1_limb_8_col75.clone())) + (op0_limb_2_col40.clone() * op1_limb_7_col74.clone())) @@ -454,7 +454,7 @@ impl FrameworkEval for Eval { + (op0_limb_7_col45.clone() * op1_limb_2_col69.clone())) + (op0_limb_8_col46.clone() * op1_limb_1_col68.clone())) + (op0_limb_9_col47.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1553 = ((((((((((((M31_0.clone() - dst_limb_10_col19.clone()) + let conv_tmp_31b3_24 = ((((((((((((M31_0.clone() - dst_limb_10_col19.clone()) + (op0_limb_0_col38.clone() * op1_limb_10_col77.clone())) + (op0_limb_1_col39.clone() * op1_limb_9_col76.clone())) + (op0_limb_2_col40.clone() * op1_limb_8_col75.clone())) @@ -466,7 +466,7 @@ impl FrameworkEval for Eval { + (op0_limb_8_col46.clone() * op1_limb_2_col69.clone())) + (op0_limb_9_col47.clone() * op1_limb_1_col68.clone())) + (op0_limb_10_col48.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1554 = (((((((((((((M31_0.clone() - dst_limb_11_col20.clone()) + let conv_tmp_31b3_25 = (((((((((((((M31_0.clone() - dst_limb_11_col20.clone()) + (op0_limb_0_col38.clone() * op1_limb_11_col78.clone())) + (op0_limb_1_col39.clone() * op1_limb_10_col77.clone())) + (op0_limb_2_col40.clone() * op1_limb_9_col76.clone())) @@ -479,7 +479,8 @@ impl FrameworkEval for Eval { + (op0_limb_9_col47.clone() * op1_limb_2_col69.clone())) + (op0_limb_10_col48.clone() * op1_limb_1_col68.clone())) + (op0_limb_11_col49.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1555 = ((((((((((((((M31_0.clone() - dst_limb_12_col21.clone()) + let conv_tmp_31b3_26 = ((((((((((((((M31_0.clone() + - dst_limb_12_col21.clone()) + (op0_limb_0_col38.clone() * op1_limb_12_col79.clone())) + (op0_limb_1_col39.clone() * op1_limb_11_col78.clone())) + (op0_limb_2_col40.clone() * op1_limb_10_col77.clone())) @@ -493,7 +494,8 @@ impl FrameworkEval for Eval { + (op0_limb_10_col48.clone() * op1_limb_2_col69.clone())) + (op0_limb_11_col49.clone() * op1_limb_1_col68.clone())) + (op0_limb_12_col50.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1556 = (((((((((((((((M31_0.clone() - dst_limb_13_col22.clone()) + let conv_tmp_31b3_27 = (((((((((((((((M31_0.clone() + - dst_limb_13_col22.clone()) + (op0_limb_0_col38.clone() * op1_limb_13_col80.clone())) + (op0_limb_1_col39.clone() * op1_limb_12_col79.clone())) + (op0_limb_2_col40.clone() * op1_limb_11_col78.clone())) @@ -508,7 +510,7 @@ impl FrameworkEval for Eval { + (op0_limb_11_col49.clone() * op1_limb_2_col69.clone())) + (op0_limb_12_col50.clone() * op1_limb_1_col68.clone())) + (op0_limb_13_col51.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1557 = ((((((((((((((((M31_0.clone() + let conv_tmp_31b3_28 = ((((((((((((((((M31_0.clone() - dst_limb_14_col23.clone()) + (op0_limb_0_col38.clone() * op1_limb_14_col81.clone())) + (op0_limb_1_col39.clone() * op1_limb_13_col80.clone())) @@ -525,7 +527,7 @@ impl FrameworkEval for Eval { + (op0_limb_12_col50.clone() * op1_limb_2_col69.clone())) + (op0_limb_13_col51.clone() * op1_limb_1_col68.clone())) + (op0_limb_14_col52.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1558 = (((((((((((((((((M31_0.clone() + let conv_tmp_31b3_29 = (((((((((((((((((M31_0.clone() - dst_limb_15_col24.clone()) + (op0_limb_0_col38.clone() * op1_limb_15_col82.clone())) + (op0_limb_1_col39.clone() * op1_limb_14_col81.clone())) @@ -543,7 +545,7 @@ impl FrameworkEval for Eval { + (op0_limb_13_col51.clone() * op1_limb_2_col69.clone())) + (op0_limb_14_col52.clone() * op1_limb_1_col68.clone())) + (op0_limb_15_col53.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1559 = ((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_30 = ((((((((((((((((((M31_0.clone() - dst_limb_16_col25.clone()) + (op0_limb_0_col38.clone() * op1_limb_16_col83.clone())) + (op0_limb_1_col39.clone() * op1_limb_15_col82.clone())) @@ -562,7 +564,7 @@ impl FrameworkEval for Eval { + (op0_limb_14_col52.clone() * op1_limb_2_col69.clone())) + (op0_limb_15_col53.clone() * op1_limb_1_col68.clone())) + (op0_limb_16_col54.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1560 = (((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_31 = (((((((((((((((((((M31_0.clone() - dst_limb_17_col26.clone()) + (op0_limb_0_col38.clone() * op1_limb_17_col84.clone())) + (op0_limb_1_col39.clone() * op1_limb_16_col83.clone())) @@ -582,7 +584,7 @@ impl FrameworkEval for Eval { + (op0_limb_15_col53.clone() * op1_limb_2_col69.clone())) + (op0_limb_16_col54.clone() * op1_limb_1_col68.clone())) + (op0_limb_17_col55.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1561 = ((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_32 = ((((((((((((((((((((M31_0.clone() - dst_limb_18_col27.clone()) + (op0_limb_0_col38.clone() * op1_limb_18_col85.clone())) + (op0_limb_1_col39.clone() * op1_limb_17_col84.clone())) @@ -603,7 +605,7 @@ impl FrameworkEval for Eval { + (op0_limb_16_col54.clone() * op1_limb_2_col69.clone())) + (op0_limb_17_col55.clone() * op1_limb_1_col68.clone())) + (op0_limb_18_col56.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1562 = (((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_33 = (((((((((((((((((((((M31_0.clone() - dst_limb_19_col28.clone()) + (op0_limb_0_col38.clone() * op1_limb_19_col86.clone())) + (op0_limb_1_col39.clone() * op1_limb_18_col85.clone())) @@ -625,7 +627,7 @@ impl FrameworkEval for Eval { + (op0_limb_17_col55.clone() * op1_limb_2_col69.clone())) + (op0_limb_18_col56.clone() * op1_limb_1_col68.clone())) + (op0_limb_19_col57.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1563 = ((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_34 = ((((((((((((((((((((((M31_0.clone() - dst_limb_20_col29.clone()) + (op0_limb_0_col38.clone() * op1_limb_20_col87.clone())) + (op0_limb_1_col39.clone() * op1_limb_19_col86.clone())) @@ -648,7 +650,7 @@ impl FrameworkEval for Eval { + (op0_limb_18_col56.clone() * op1_limb_2_col69.clone())) + (op0_limb_19_col57.clone() * op1_limb_1_col68.clone())) + (op0_limb_20_col58.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1564 = (((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_35 = (((((((((((((((((((((((M31_0.clone() - dst_limb_21_col30.clone()) + (op0_limb_0_col38.clone() * op1_limb_21_col88.clone())) + (op0_limb_1_col39.clone() * op1_limb_20_col87.clone())) @@ -672,7 +674,7 @@ impl FrameworkEval for Eval { + (op0_limb_19_col57.clone() * op1_limb_2_col69.clone())) + (op0_limb_20_col58.clone() * op1_limb_1_col68.clone())) + (op0_limb_21_col59.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1565 = ((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_36 = ((((((((((((((((((((((((M31_0.clone() - dst_limb_22_col31.clone()) + (op0_limb_0_col38.clone() * op1_limb_22_col89.clone())) + (op0_limb_1_col39.clone() * op1_limb_21_col88.clone())) @@ -697,7 +699,7 @@ impl FrameworkEval for Eval { + (op0_limb_20_col58.clone() * op1_limb_2_col69.clone())) + (op0_limb_21_col59.clone() * op1_limb_1_col68.clone())) + (op0_limb_22_col60.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1566 = (((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_37 = (((((((((((((((((((((((((M31_0.clone() - dst_limb_23_col32.clone()) + (op0_limb_0_col38.clone() * op1_limb_23_col90.clone())) + (op0_limb_1_col39.clone() * op1_limb_22_col89.clone())) @@ -723,7 +725,7 @@ impl FrameworkEval for Eval { + (op0_limb_21_col59.clone() * op1_limb_2_col69.clone())) + (op0_limb_22_col60.clone() * op1_limb_1_col68.clone())) + (op0_limb_23_col61.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1567 = ((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_38 = ((((((((((((((((((((((((((M31_0.clone() - dst_limb_24_col33.clone()) + (op0_limb_0_col38.clone() * op1_limb_24_col91.clone())) + (op0_limb_1_col39.clone() * op1_limb_23_col90.clone())) @@ -750,7 +752,7 @@ impl FrameworkEval for Eval { + (op0_limb_22_col60.clone() * op1_limb_2_col69.clone())) + (op0_limb_23_col61.clone() * op1_limb_1_col68.clone())) + (op0_limb_24_col62.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1568 = (((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_39 = (((((((((((((((((((((((((((M31_0.clone() - dst_limb_25_col34.clone()) + (op0_limb_0_col38.clone() * op1_limb_25_col92.clone())) + (op0_limb_1_col39.clone() * op1_limb_24_col91.clone())) @@ -778,7 +780,8 @@ impl FrameworkEval for Eval { + (op0_limb_23_col61.clone() * op1_limb_2_col69.clone())) + (op0_limb_24_col62.clone() * op1_limb_1_col68.clone())) + (op0_limb_25_col63.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1569 = ((((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_40 = ((((((((((((((((((((((((((((M31_0 + .clone() - dst_limb_26_col35.clone()) + (op0_limb_0_col38.clone() * op1_limb_26_col93.clone())) + (op0_limb_1_col39.clone() * op1_limb_25_col92.clone())) @@ -807,7 +810,8 @@ impl FrameworkEval for Eval { + (op0_limb_24_col62.clone() * op1_limb_2_col69.clone())) + (op0_limb_25_col63.clone() * op1_limb_1_col68.clone())) + (op0_limb_26_col64.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1570 = (((((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_41 = (((((((((((((((((((((((((((((M31_0 + .clone() - dst_limb_27_col36.clone()) + (op0_limb_0_col38.clone() * op1_limb_27_col94.clone())) + (op0_limb_1_col39.clone() * op1_limb_26_col93.clone())) @@ -837,7 +841,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_2_col69.clone())) + (op0_limb_26_col64.clone() * op1_limb_1_col68.clone())) + (op0_limb_27_col65.clone() * op1_limb_0_col67.clone())); - let conv_tmp_1571 = (((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_42 = (((((((((((((((((((((((((((M31_0.clone() + (op0_limb_1_col39.clone() * op1_limb_27_col94.clone())) + (op0_limb_2_col40.clone() * op1_limb_26_col93.clone())) + (op0_limb_3_col41.clone() * op1_limb_25_col92.clone())) @@ -865,7 +869,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_3_col70.clone())) + (op0_limb_26_col64.clone() * op1_limb_2_col69.clone())) + (op0_limb_27_col65.clone() * op1_limb_1_col68.clone())); - let conv_tmp_1572 = ((((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_43 = ((((((((((((((((((((((((((M31_0.clone() + (op0_limb_2_col40.clone() * op1_limb_27_col94.clone())) + (op0_limb_3_col41.clone() * op1_limb_26_col93.clone())) + (op0_limb_4_col42.clone() * op1_limb_25_col92.clone())) @@ -892,7 +896,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_4_col71.clone())) + (op0_limb_26_col64.clone() * op1_limb_3_col70.clone())) + (op0_limb_27_col65.clone() * op1_limb_2_col69.clone())); - let conv_tmp_1573 = (((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_44 = (((((((((((((((((((((((((M31_0.clone() + (op0_limb_3_col41.clone() * op1_limb_27_col94.clone())) + (op0_limb_4_col42.clone() * op1_limb_26_col93.clone())) + (op0_limb_5_col43.clone() * op1_limb_25_col92.clone())) @@ -918,7 +922,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_5_col72.clone())) + (op0_limb_26_col64.clone() * op1_limb_4_col71.clone())) + (op0_limb_27_col65.clone() * op1_limb_3_col70.clone())); - let conv_tmp_1574 = ((((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_45 = ((((((((((((((((((((((((M31_0.clone() + (op0_limb_4_col42.clone() * op1_limb_27_col94.clone())) + (op0_limb_5_col43.clone() * op1_limb_26_col93.clone())) + (op0_limb_6_col44.clone() * op1_limb_25_col92.clone())) @@ -943,7 +947,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_6_col73.clone())) + (op0_limb_26_col64.clone() * op1_limb_5_col72.clone())) + (op0_limb_27_col65.clone() * op1_limb_4_col71.clone())); - let conv_tmp_1575 = (((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_46 = (((((((((((((((((((((((M31_0.clone() + (op0_limb_5_col43.clone() * op1_limb_27_col94.clone())) + (op0_limb_6_col44.clone() * op1_limb_26_col93.clone())) + (op0_limb_7_col45.clone() * op1_limb_25_col92.clone())) @@ -967,7 +971,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_7_col74.clone())) + (op0_limb_26_col64.clone() * op1_limb_6_col73.clone())) + (op0_limb_27_col65.clone() * op1_limb_5_col72.clone())); - let conv_tmp_1576 = ((((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_47 = ((((((((((((((((((((((M31_0.clone() + (op0_limb_6_col44.clone() * op1_limb_27_col94.clone())) + (op0_limb_7_col45.clone() * op1_limb_26_col93.clone())) + (op0_limb_8_col46.clone() * op1_limb_25_col92.clone())) @@ -990,7 +994,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_8_col75.clone())) + (op0_limb_26_col64.clone() * op1_limb_7_col74.clone())) + (op0_limb_27_col65.clone() * op1_limb_6_col73.clone())); - let conv_tmp_1577 = (((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_48 = (((((((((((((((((((((M31_0.clone() + (op0_limb_7_col45.clone() * op1_limb_27_col94.clone())) + (op0_limb_8_col46.clone() * op1_limb_26_col93.clone())) + (op0_limb_9_col47.clone() * op1_limb_25_col92.clone())) @@ -1012,7 +1016,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_9_col76.clone())) + (op0_limb_26_col64.clone() * op1_limb_8_col75.clone())) + (op0_limb_27_col65.clone() * op1_limb_7_col74.clone())); - let conv_tmp_1578 = ((((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_49 = ((((((((((((((((((((M31_0.clone() + (op0_limb_8_col46.clone() * op1_limb_27_col94.clone())) + (op0_limb_9_col47.clone() * op1_limb_26_col93.clone())) + (op0_limb_10_col48.clone() * op1_limb_25_col92.clone())) @@ -1033,7 +1037,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_10_col77.clone())) + (op0_limb_26_col64.clone() * op1_limb_9_col76.clone())) + (op0_limb_27_col65.clone() * op1_limb_8_col75.clone())); - let conv_tmp_1579 = (((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_50 = (((((((((((((((((((M31_0.clone() + (op0_limb_9_col47.clone() * op1_limb_27_col94.clone())) + (op0_limb_10_col48.clone() * op1_limb_26_col93.clone())) + (op0_limb_11_col49.clone() * op1_limb_25_col92.clone())) @@ -1053,7 +1057,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_11_col78.clone())) + (op0_limb_26_col64.clone() * op1_limb_10_col77.clone())) + (op0_limb_27_col65.clone() * op1_limb_9_col76.clone())); - let conv_tmp_1580 = ((((((((((((((((((M31_0.clone() + let conv_tmp_31b3_51 = ((((((((((((((((((M31_0.clone() + (op0_limb_10_col48.clone() * op1_limb_27_col94.clone())) + (op0_limb_11_col49.clone() * op1_limb_26_col93.clone())) + (op0_limb_12_col50.clone() * op1_limb_25_col92.clone())) @@ -1072,7 +1076,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_12_col79.clone())) + (op0_limb_26_col64.clone() * op1_limb_11_col78.clone())) + (op0_limb_27_col65.clone() * op1_limb_10_col77.clone())); - let conv_tmp_1581 = (((((((((((((((((M31_0.clone() + let conv_tmp_31b3_52 = (((((((((((((((((M31_0.clone() + (op0_limb_11_col49.clone() * op1_limb_27_col94.clone())) + (op0_limb_12_col50.clone() * op1_limb_26_col93.clone())) + (op0_limb_13_col51.clone() * op1_limb_25_col92.clone())) @@ -1090,7 +1094,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_13_col80.clone())) + (op0_limb_26_col64.clone() * op1_limb_12_col79.clone())) + (op0_limb_27_col65.clone() * op1_limb_11_col78.clone())); - let conv_tmp_1582 = ((((((((((((((((M31_0.clone() + let conv_tmp_31b3_53 = ((((((((((((((((M31_0.clone() + (op0_limb_12_col50.clone() * op1_limb_27_col94.clone())) + (op0_limb_13_col51.clone() * op1_limb_26_col93.clone())) + (op0_limb_14_col52.clone() * op1_limb_25_col92.clone())) @@ -1107,7 +1111,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_14_col81.clone())) + (op0_limb_26_col64.clone() * op1_limb_13_col80.clone())) + (op0_limb_27_col65.clone() * op1_limb_12_col79.clone())); - let conv_tmp_1583 = (((((((((((((((M31_0.clone() + let conv_tmp_31b3_54 = (((((((((((((((M31_0.clone() + (op0_limb_13_col51.clone() * op1_limb_27_col94.clone())) + (op0_limb_14_col52.clone() * op1_limb_26_col93.clone())) + (op0_limb_15_col53.clone() * op1_limb_25_col92.clone())) @@ -1123,7 +1127,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_15_col82.clone())) + (op0_limb_26_col64.clone() * op1_limb_14_col81.clone())) + (op0_limb_27_col65.clone() * op1_limb_13_col80.clone())); - let conv_tmp_1584 = ((((((((((((((M31_0.clone() + let conv_tmp_31b3_55 = ((((((((((((((M31_0.clone() + (op0_limb_14_col52.clone() * op1_limb_27_col94.clone())) + (op0_limb_15_col53.clone() * op1_limb_26_col93.clone())) + (op0_limb_16_col54.clone() * op1_limb_25_col92.clone())) @@ -1138,7 +1142,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_16_col83.clone())) + (op0_limb_26_col64.clone() * op1_limb_15_col82.clone())) + (op0_limb_27_col65.clone() * op1_limb_14_col81.clone())); - let conv_tmp_1585 = (((((((((((((M31_0.clone() + let conv_tmp_31b3_56 = (((((((((((((M31_0.clone() + (op0_limb_15_col53.clone() * op1_limb_27_col94.clone())) + (op0_limb_16_col54.clone() * op1_limb_26_col93.clone())) + (op0_limb_17_col55.clone() * op1_limb_25_col92.clone())) @@ -1152,7 +1156,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_17_col84.clone())) + (op0_limb_26_col64.clone() * op1_limb_16_col83.clone())) + (op0_limb_27_col65.clone() * op1_limb_15_col82.clone())); - let conv_tmp_1586 = ((((((((((((M31_0.clone() + let conv_tmp_31b3_57 = ((((((((((((M31_0.clone() + (op0_limb_16_col54.clone() * op1_limb_27_col94.clone())) + (op0_limb_17_col55.clone() * op1_limb_26_col93.clone())) + (op0_limb_18_col56.clone() * op1_limb_25_col92.clone())) @@ -1165,7 +1169,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_18_col85.clone())) + (op0_limb_26_col64.clone() * op1_limb_17_col84.clone())) + (op0_limb_27_col65.clone() * op1_limb_16_col83.clone())); - let conv_tmp_1587 = (((((((((((M31_0.clone() + let conv_tmp_31b3_58 = (((((((((((M31_0.clone() + (op0_limb_17_col55.clone() * op1_limb_27_col94.clone())) + (op0_limb_18_col56.clone() * op1_limb_26_col93.clone())) + (op0_limb_19_col57.clone() * op1_limb_25_col92.clone())) @@ -1177,7 +1181,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_19_col86.clone())) + (op0_limb_26_col64.clone() * op1_limb_18_col85.clone())) + (op0_limb_27_col65.clone() * op1_limb_17_col84.clone())); - let conv_tmp_1588 = ((((((((((M31_0.clone() + let conv_tmp_31b3_59 = ((((((((((M31_0.clone() + (op0_limb_18_col56.clone() * op1_limb_27_col94.clone())) + (op0_limb_19_col57.clone() * op1_limb_26_col93.clone())) + (op0_limb_20_col58.clone() * op1_limb_25_col92.clone())) @@ -1188,7 +1192,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_20_col87.clone())) + (op0_limb_26_col64.clone() * op1_limb_19_col86.clone())) + (op0_limb_27_col65.clone() * op1_limb_18_col85.clone())); - let conv_tmp_1589 = (((((((((M31_0.clone() + let conv_tmp_31b3_60 = (((((((((M31_0.clone() + (op0_limb_19_col57.clone() * op1_limb_27_col94.clone())) + (op0_limb_20_col58.clone() * op1_limb_26_col93.clone())) + (op0_limb_21_col59.clone() * op1_limb_25_col92.clone())) @@ -1198,7 +1202,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_21_col88.clone())) + (op0_limb_26_col64.clone() * op1_limb_20_col87.clone())) + (op0_limb_27_col65.clone() * op1_limb_19_col86.clone())); - let conv_tmp_1590 = ((((((((M31_0.clone() + let conv_tmp_31b3_61 = ((((((((M31_0.clone() + (op0_limb_20_col58.clone() * op1_limb_27_col94.clone())) + (op0_limb_21_col59.clone() * op1_limb_26_col93.clone())) + (op0_limb_22_col60.clone() * op1_limb_25_col92.clone())) @@ -1207,7 +1211,7 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_22_col89.clone())) + (op0_limb_26_col64.clone() * op1_limb_21_col88.clone())) + (op0_limb_27_col65.clone() * op1_limb_20_col87.clone())); - let conv_tmp_1591 = (((((((M31_0.clone() + let conv_tmp_31b3_62 = (((((((M31_0.clone() + (op0_limb_21_col59.clone() * op1_limb_27_col94.clone())) + (op0_limb_22_col60.clone() * op1_limb_26_col93.clone())) + (op0_limb_23_col61.clone() * op1_limb_25_col92.clone())) @@ -1215,426 +1219,452 @@ impl FrameworkEval for Eval { + (op0_limb_25_col63.clone() * op1_limb_23_col90.clone())) + (op0_limb_26_col64.clone() * op1_limb_22_col89.clone())) + (op0_limb_27_col65.clone() * op1_limb_21_col88.clone())); - let conv_tmp_1592 = ((((((M31_0.clone() + let conv_tmp_31b3_63 = ((((((M31_0.clone() + (op0_limb_22_col60.clone() * op1_limb_27_col94.clone())) + (op0_limb_23_col61.clone() * op1_limb_26_col93.clone())) + (op0_limb_24_col62.clone() * op1_limb_25_col92.clone())) + (op0_limb_25_col63.clone() * op1_limb_24_col91.clone())) + (op0_limb_26_col64.clone() * op1_limb_23_col90.clone())) + (op0_limb_27_col65.clone() * op1_limb_22_col89.clone())); - let conv_tmp_1593 = (((((M31_0.clone() + let conv_tmp_31b3_64 = (((((M31_0.clone() + (op0_limb_23_col61.clone() * op1_limb_27_col94.clone())) + (op0_limb_24_col62.clone() * op1_limb_26_col93.clone())) + (op0_limb_25_col63.clone() * op1_limb_25_col92.clone())) + (op0_limb_26_col64.clone() * op1_limb_24_col91.clone())) + (op0_limb_27_col65.clone() * op1_limb_23_col90.clone())); - let conv_tmp_1594 = ((((M31_0.clone() + let conv_tmp_31b3_65 = ((((M31_0.clone() + (op0_limb_24_col62.clone() * op1_limb_27_col94.clone())) + (op0_limb_25_col63.clone() * op1_limb_26_col93.clone())) + (op0_limb_26_col64.clone() * op1_limb_25_col92.clone())) + (op0_limb_27_col65.clone() * op1_limb_24_col91.clone())); - let conv_tmp_1595 = (((M31_0.clone() + let conv_tmp_31b3_66 = (((M31_0.clone() + (op0_limb_25_col63.clone() * op1_limb_27_col94.clone())) + (op0_limb_26_col64.clone() * op1_limb_26_col93.clone())) + (op0_limb_27_col65.clone() * op1_limb_25_col92.clone())); - let conv_tmp_1596 = ((M31_0.clone() + let conv_tmp_31b3_67 = ((M31_0.clone() + (op0_limb_26_col64.clone() * op1_limb_27_col94.clone())) + (op0_limb_27_col65.clone() * op1_limb_26_col93.clone())); - let conv_tmp_1597 = + let conv_tmp_31b3_68 = (M31_0.clone() + (op0_limb_27_col65.clone() * op1_limb_27_col94.clone())); - let conv_mod_tmp_1598 = (((M31_0.clone() + (M31_32.clone() * conv_tmp_1543.clone())) - - (M31_4.clone() * conv_tmp_1564.clone())) - + (M31_8.clone() * conv_tmp_1592.clone())); - let conv_mod_tmp_1599 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1543.clone())) - + (M31_32.clone() * conv_tmp_1544.clone())) - - (M31_4.clone() * conv_tmp_1565.clone())) - + (M31_8.clone() * conv_tmp_1593.clone())); - let conv_mod_tmp_1600 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1544.clone())) - + (M31_32.clone() * conv_tmp_1545.clone())) - - (M31_4.clone() * conv_tmp_1566.clone())) - + (M31_8.clone() * conv_tmp_1594.clone())); - let conv_mod_tmp_1601 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1545.clone())) - + (M31_32.clone() * conv_tmp_1546.clone())) - - (M31_4.clone() * conv_tmp_1567.clone())) - + (M31_8.clone() * conv_tmp_1595.clone())); - let conv_mod_tmp_1602 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1546.clone())) - + (M31_32.clone() * conv_tmp_1547.clone())) - - (M31_4.clone() * conv_tmp_1568.clone())) - + (M31_8.clone() * conv_tmp_1596.clone())); - let conv_mod_tmp_1603 = ((((M31_0.clone() + (M31_1.clone() * conv_tmp_1547.clone())) - + (M31_32.clone() * conv_tmp_1548.clone())) - - (M31_4.clone() * conv_tmp_1569.clone())) - + (M31_8.clone() * conv_tmp_1597.clone())); - let conv_mod_tmp_1604 = (((M31_0.clone() + (M31_1.clone() * conv_tmp_1548.clone())) - + (M31_32.clone() * conv_tmp_1549.clone())) - - (M31_4.clone() * conv_tmp_1570.clone())); - let conv_mod_tmp_1605 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1543.clone())) - + (M31_1.clone() * conv_tmp_1549.clone())) - + (M31_32.clone() * conv_tmp_1550.clone())) - - (M31_4.clone() * conv_tmp_1571.clone())); - let conv_mod_tmp_1606 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1544.clone())) - + (M31_1.clone() * conv_tmp_1550.clone())) - + (M31_32.clone() * conv_tmp_1551.clone())) - - (M31_4.clone() * conv_tmp_1572.clone())); - let conv_mod_tmp_1607 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1545.clone())) - + (M31_1.clone() * conv_tmp_1551.clone())) - + (M31_32.clone() * conv_tmp_1552.clone())) - - (M31_4.clone() * conv_tmp_1573.clone())); - let conv_mod_tmp_1608 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1546.clone())) - + (M31_1.clone() * conv_tmp_1552.clone())) - + (M31_32.clone() * conv_tmp_1553.clone())) - - (M31_4.clone() * conv_tmp_1574.clone())); - let conv_mod_tmp_1609 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1547.clone())) - + (M31_1.clone() * conv_tmp_1553.clone())) - + (M31_32.clone() * conv_tmp_1554.clone())) - - (M31_4.clone() * conv_tmp_1575.clone())); - let conv_mod_tmp_1610 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1548.clone())) - + (M31_1.clone() * conv_tmp_1554.clone())) - + (M31_32.clone() * conv_tmp_1555.clone())) - - (M31_4.clone() * conv_tmp_1576.clone())); - let conv_mod_tmp_1611 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1549.clone())) - + (M31_1.clone() * conv_tmp_1555.clone())) - + (M31_32.clone() * conv_tmp_1556.clone())) - - (M31_4.clone() * conv_tmp_1577.clone())); - let conv_mod_tmp_1612 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1550.clone())) - + (M31_1.clone() * conv_tmp_1556.clone())) - + (M31_32.clone() * conv_tmp_1557.clone())) - - (M31_4.clone() * conv_tmp_1578.clone())); - let conv_mod_tmp_1613 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1551.clone())) - + (M31_1.clone() * conv_tmp_1557.clone())) - + (M31_32.clone() * conv_tmp_1558.clone())) - - (M31_4.clone() * conv_tmp_1579.clone())); - let conv_mod_tmp_1614 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1552.clone())) - + (M31_1.clone() * conv_tmp_1558.clone())) - + (M31_32.clone() * conv_tmp_1559.clone())) - - (M31_4.clone() * conv_tmp_1580.clone())); - let conv_mod_tmp_1615 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1553.clone())) - + (M31_1.clone() * conv_tmp_1559.clone())) - + (M31_32.clone() * conv_tmp_1560.clone())) - - (M31_4.clone() * conv_tmp_1581.clone())); - let conv_mod_tmp_1616 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1554.clone())) - + (M31_1.clone() * conv_tmp_1560.clone())) - + (M31_32.clone() * conv_tmp_1561.clone())) - - (M31_4.clone() * conv_tmp_1582.clone())); - let conv_mod_tmp_1617 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1555.clone())) - + (M31_1.clone() * conv_tmp_1561.clone())) - + (M31_32.clone() * conv_tmp_1562.clone())) - - (M31_4.clone() * conv_tmp_1583.clone())); - let conv_mod_tmp_1618 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1556.clone())) - + (M31_1.clone() * conv_tmp_1562.clone())) - + (M31_32.clone() * conv_tmp_1563.clone())) - - (M31_4.clone() * conv_tmp_1584.clone())); - let conv_mod_tmp_1619 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1557.clone())) - + (M31_1.clone() * conv_tmp_1563.clone())) - - (M31_4.clone() * conv_tmp_1585.clone())) - + (M31_64.clone() * conv_tmp_1592.clone())); - let conv_mod_tmp_1620 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1558.clone())) - - (M31_4.clone() * conv_tmp_1586.clone())) - + (M31_2.clone() * conv_tmp_1592.clone())) - + (M31_64.clone() * conv_tmp_1593.clone())); - let conv_mod_tmp_1621 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1559.clone())) - - (M31_4.clone() * conv_tmp_1587.clone())) - + (M31_2.clone() * conv_tmp_1593.clone())) - + (M31_64.clone() * conv_tmp_1594.clone())); - let conv_mod_tmp_1622 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1560.clone())) - - (M31_4.clone() * conv_tmp_1588.clone())) - + (M31_2.clone() * conv_tmp_1594.clone())) - + (M31_64.clone() * conv_tmp_1595.clone())); - let conv_mod_tmp_1623 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1561.clone())) - - (M31_4.clone() * conv_tmp_1589.clone())) - + (M31_2.clone() * conv_tmp_1595.clone())) - + (M31_64.clone() * conv_tmp_1596.clone())); - let conv_mod_tmp_1624 = ((((M31_0.clone() + (M31_2.clone() * conv_tmp_1562.clone())) - - (M31_4.clone() * conv_tmp_1590.clone())) - + (M31_2.clone() * conv_tmp_1596.clone())) - + (M31_64.clone() * conv_tmp_1597.clone())); - let conv_mod_tmp_1625 = (((M31_0.clone() + (M31_2.clone() * conv_tmp_1563.clone())) - - (M31_4.clone() * conv_tmp_1591.clone())) - + (M31_2.clone() * conv_tmp_1597.clone())); - eval.add_to_relation(&[RelationEntry::new( + let conv_mod_tmp_31b3_69 = (((M31_0.clone() + + (M31_32.clone() * conv_tmp_31b3_14.clone())) + - (M31_4.clone() * conv_tmp_31b3_35.clone())) + + (M31_8.clone() * conv_tmp_31b3_63.clone())); + let conv_mod_tmp_31b3_70 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_31b3_14.clone())) + + (M31_32.clone() * conv_tmp_31b3_15.clone())) + - (M31_4.clone() * conv_tmp_31b3_36.clone())) + + (M31_8.clone() * conv_tmp_31b3_64.clone())); + let conv_mod_tmp_31b3_71 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_31b3_15.clone())) + + (M31_32.clone() * conv_tmp_31b3_16.clone())) + - (M31_4.clone() * conv_tmp_31b3_37.clone())) + + (M31_8.clone() * conv_tmp_31b3_65.clone())); + let conv_mod_tmp_31b3_72 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_31b3_16.clone())) + + (M31_32.clone() * conv_tmp_31b3_17.clone())) + - (M31_4.clone() * conv_tmp_31b3_38.clone())) + + (M31_8.clone() * conv_tmp_31b3_66.clone())); + let conv_mod_tmp_31b3_73 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_31b3_17.clone())) + + (M31_32.clone() * conv_tmp_31b3_18.clone())) + - (M31_4.clone() * conv_tmp_31b3_39.clone())) + + (M31_8.clone() * conv_tmp_31b3_67.clone())); + let conv_mod_tmp_31b3_74 = ((((M31_0.clone() + + (M31_1.clone() * conv_tmp_31b3_18.clone())) + + (M31_32.clone() * conv_tmp_31b3_19.clone())) + - (M31_4.clone() * conv_tmp_31b3_40.clone())) + + (M31_8.clone() * conv_tmp_31b3_68.clone())); + let conv_mod_tmp_31b3_75 = (((M31_0.clone() + (M31_1.clone() * conv_tmp_31b3_19.clone())) + + (M31_32.clone() * conv_tmp_31b3_20.clone())) + - (M31_4.clone() * conv_tmp_31b3_41.clone())); + let conv_mod_tmp_31b3_76 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_14.clone())) + + (M31_1.clone() * conv_tmp_31b3_20.clone())) + + (M31_32.clone() * conv_tmp_31b3_21.clone())) + - (M31_4.clone() * conv_tmp_31b3_42.clone())); + let conv_mod_tmp_31b3_77 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_15.clone())) + + (M31_1.clone() * conv_tmp_31b3_21.clone())) + + (M31_32.clone() * conv_tmp_31b3_22.clone())) + - (M31_4.clone() * conv_tmp_31b3_43.clone())); + let conv_mod_tmp_31b3_78 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_16.clone())) + + (M31_1.clone() * conv_tmp_31b3_22.clone())) + + (M31_32.clone() * conv_tmp_31b3_23.clone())) + - (M31_4.clone() * conv_tmp_31b3_44.clone())); + let conv_mod_tmp_31b3_79 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_17.clone())) + + (M31_1.clone() * conv_tmp_31b3_23.clone())) + + (M31_32.clone() * conv_tmp_31b3_24.clone())) + - (M31_4.clone() * conv_tmp_31b3_45.clone())); + let conv_mod_tmp_31b3_80 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_18.clone())) + + (M31_1.clone() * conv_tmp_31b3_24.clone())) + + (M31_32.clone() * conv_tmp_31b3_25.clone())) + - (M31_4.clone() * conv_tmp_31b3_46.clone())); + let conv_mod_tmp_31b3_81 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_19.clone())) + + (M31_1.clone() * conv_tmp_31b3_25.clone())) + + (M31_32.clone() * conv_tmp_31b3_26.clone())) + - (M31_4.clone() * conv_tmp_31b3_47.clone())); + let conv_mod_tmp_31b3_82 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_20.clone())) + + (M31_1.clone() * conv_tmp_31b3_26.clone())) + + (M31_32.clone() * conv_tmp_31b3_27.clone())) + - (M31_4.clone() * conv_tmp_31b3_48.clone())); + let conv_mod_tmp_31b3_83 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_21.clone())) + + (M31_1.clone() * conv_tmp_31b3_27.clone())) + + (M31_32.clone() * conv_tmp_31b3_28.clone())) + - (M31_4.clone() * conv_tmp_31b3_49.clone())); + let conv_mod_tmp_31b3_84 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_22.clone())) + + (M31_1.clone() * conv_tmp_31b3_28.clone())) + + (M31_32.clone() * conv_tmp_31b3_29.clone())) + - (M31_4.clone() * conv_tmp_31b3_50.clone())); + let conv_mod_tmp_31b3_85 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_23.clone())) + + (M31_1.clone() * conv_tmp_31b3_29.clone())) + + (M31_32.clone() * conv_tmp_31b3_30.clone())) + - (M31_4.clone() * conv_tmp_31b3_51.clone())); + let conv_mod_tmp_31b3_86 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_24.clone())) + + (M31_1.clone() * conv_tmp_31b3_30.clone())) + + (M31_32.clone() * conv_tmp_31b3_31.clone())) + - (M31_4.clone() * conv_tmp_31b3_52.clone())); + let conv_mod_tmp_31b3_87 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_25.clone())) + + (M31_1.clone() * conv_tmp_31b3_31.clone())) + + (M31_32.clone() * conv_tmp_31b3_32.clone())) + - (M31_4.clone() * conv_tmp_31b3_53.clone())); + let conv_mod_tmp_31b3_88 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_26.clone())) + + (M31_1.clone() * conv_tmp_31b3_32.clone())) + + (M31_32.clone() * conv_tmp_31b3_33.clone())) + - (M31_4.clone() * conv_tmp_31b3_54.clone())); + let conv_mod_tmp_31b3_89 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_27.clone())) + + (M31_1.clone() * conv_tmp_31b3_33.clone())) + + (M31_32.clone() * conv_tmp_31b3_34.clone())) + - (M31_4.clone() * conv_tmp_31b3_55.clone())); + let conv_mod_tmp_31b3_90 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_28.clone())) + + (M31_1.clone() * conv_tmp_31b3_34.clone())) + - (M31_4.clone() * conv_tmp_31b3_56.clone())) + + (M31_64.clone() * conv_tmp_31b3_63.clone())); + let conv_mod_tmp_31b3_91 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_29.clone())) + - (M31_4.clone() * conv_tmp_31b3_57.clone())) + + (M31_2.clone() * conv_tmp_31b3_63.clone())) + + (M31_64.clone() * conv_tmp_31b3_64.clone())); + let conv_mod_tmp_31b3_92 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_30.clone())) + - (M31_4.clone() * conv_tmp_31b3_58.clone())) + + (M31_2.clone() * conv_tmp_31b3_64.clone())) + + (M31_64.clone() * conv_tmp_31b3_65.clone())); + let conv_mod_tmp_31b3_93 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_31.clone())) + - (M31_4.clone() * conv_tmp_31b3_59.clone())) + + (M31_2.clone() * conv_tmp_31b3_65.clone())) + + (M31_64.clone() * conv_tmp_31b3_66.clone())); + let conv_mod_tmp_31b3_94 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_32.clone())) + - (M31_4.clone() * conv_tmp_31b3_60.clone())) + + (M31_2.clone() * conv_tmp_31b3_66.clone())) + + (M31_64.clone() * conv_tmp_31b3_67.clone())); + let conv_mod_tmp_31b3_95 = ((((M31_0.clone() + + (M31_2.clone() * conv_tmp_31b3_33.clone())) + - (M31_4.clone() * conv_tmp_31b3_61.clone())) + + (M31_2.clone() * conv_tmp_31b3_67.clone())) + + (M31_64.clone() * conv_tmp_31b3_68.clone())); + let conv_mod_tmp_31b3_96 = (((M31_0.clone() + (M31_2.clone() * conv_tmp_31b3_34.clone())) + - (M31_4.clone() * conv_tmp_31b3_62.clone())) + + (M31_2.clone() * conv_tmp_31b3_68.clone())); + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(k_col95.clone() + M31_262144.clone())], - )]); + )); eval.add_constraint( ((carry_0_col96.clone() * M31_512.clone()) - - ((conv_mod_tmp_1598.clone() - (M31_1.clone() * k_col95.clone())) + - ((conv_mod_tmp_31b3_69.clone() - (M31_1.clone() * k_col95.clone())) + M31_0.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_0_col96.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_1_col97.clone() * M31_512.clone()) - - (conv_mod_tmp_1599.clone() + carry_0_col96.clone())), + - (conv_mod_tmp_31b3_70.clone() + carry_0_col96.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_1_col97.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_2_col98.clone() * M31_512.clone()) - - (conv_mod_tmp_1600.clone() + carry_1_col97.clone())), + - (conv_mod_tmp_31b3_71.clone() + carry_1_col97.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_2_col98.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_3_col99.clone() * M31_512.clone()) - - (conv_mod_tmp_1601.clone() + carry_2_col98.clone())), + - (conv_mod_tmp_31b3_72.clone() + carry_2_col98.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_3_col99.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_4_col100.clone() * M31_512.clone()) - - (conv_mod_tmp_1602.clone() + carry_3_col99.clone())), + - (conv_mod_tmp_31b3_73.clone() + carry_3_col99.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_4_col100.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_5_col101.clone() * M31_512.clone()) - - (conv_mod_tmp_1603.clone() + carry_4_col100.clone())), + - (conv_mod_tmp_31b3_74.clone() + carry_4_col100.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_5_col101.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_6_col102.clone() * M31_512.clone()) - - (conv_mod_tmp_1604.clone() + carry_5_col101.clone())), + - (conv_mod_tmp_31b3_75.clone() + carry_5_col101.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_6_col102.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_7_col103.clone() * M31_512.clone()) - - (conv_mod_tmp_1605.clone() + carry_6_col102.clone())), + - (conv_mod_tmp_31b3_76.clone() + carry_6_col102.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_7_col103.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_8_col104.clone() * M31_512.clone()) - - (conv_mod_tmp_1606.clone() + carry_7_col103.clone())), + - (conv_mod_tmp_31b3_77.clone() + carry_7_col103.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_8_col104.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_9_col105.clone() * M31_512.clone()) - - (conv_mod_tmp_1607.clone() + carry_8_col104.clone())), + - (conv_mod_tmp_31b3_78.clone() + carry_8_col104.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_9_col105.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_10_col106.clone() * M31_512.clone()) - - (conv_mod_tmp_1608.clone() + carry_9_col105.clone())), + - (conv_mod_tmp_31b3_79.clone() + carry_9_col105.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_10_col106.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_11_col107.clone() * M31_512.clone()) - - (conv_mod_tmp_1609.clone() + carry_10_col106.clone())), + - (conv_mod_tmp_31b3_80.clone() + carry_10_col106.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_11_col107.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_12_col108.clone() * M31_512.clone()) - - (conv_mod_tmp_1610.clone() + carry_11_col107.clone())), + - (conv_mod_tmp_31b3_81.clone() + carry_11_col107.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_12_col108.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_13_col109.clone() * M31_512.clone()) - - (conv_mod_tmp_1611.clone() + carry_12_col108.clone())), + - (conv_mod_tmp_31b3_82.clone() + carry_12_col108.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_13_col109.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_14_col110.clone() * M31_512.clone()) - - (conv_mod_tmp_1612.clone() + carry_13_col109.clone())), + - (conv_mod_tmp_31b3_83.clone() + carry_13_col109.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_14_col110.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_15_col111.clone() * M31_512.clone()) - - (conv_mod_tmp_1613.clone() + carry_14_col110.clone())), + - (conv_mod_tmp_31b3_84.clone() + carry_14_col110.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_15_col111.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_16_col112.clone() * M31_512.clone()) - - (conv_mod_tmp_1614.clone() + carry_15_col111.clone())), + - (conv_mod_tmp_31b3_85.clone() + carry_15_col111.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_16_col112.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_17_col113.clone() * M31_512.clone()) - - (conv_mod_tmp_1615.clone() + carry_16_col112.clone())), + - (conv_mod_tmp_31b3_86.clone() + carry_16_col112.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_17_col113.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_18_col114.clone() * M31_512.clone()) - - (conv_mod_tmp_1616.clone() + carry_17_col113.clone())), + - (conv_mod_tmp_31b3_87.clone() + carry_17_col113.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_18_col114.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_19_col115.clone() * M31_512.clone()) - - (conv_mod_tmp_1617.clone() + carry_18_col114.clone())), + - (conv_mod_tmp_31b3_88.clone() + carry_18_col114.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_19_col115.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_20_col116.clone() * M31_512.clone()) - - (conv_mod_tmp_1618.clone() + carry_19_col115.clone())), + - (conv_mod_tmp_31b3_89.clone() + carry_19_col115.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_20_col116.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_21_col117.clone() * M31_512.clone()) - - ((conv_mod_tmp_1619.clone() - (M31_136.clone() * k_col95.clone())) + - ((conv_mod_tmp_31b3_90.clone() - (M31_136.clone() * k_col95.clone())) + carry_20_col116.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_21_col117.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_22_col118.clone() * M31_512.clone()) - - (conv_mod_tmp_1620.clone() + carry_21_col117.clone())), + - (conv_mod_tmp_31b3_91.clone() + carry_21_col117.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_22_col118.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_23_col119.clone() * M31_512.clone()) - - (conv_mod_tmp_1621.clone() + carry_22_col118.clone())), + - (conv_mod_tmp_31b3_92.clone() + carry_22_col118.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_23_col119.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_24_col120.clone() * M31_512.clone()) - - (conv_mod_tmp_1622.clone() + carry_23_col119.clone())), + - (conv_mod_tmp_31b3_93.clone() + carry_23_col119.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_24_col120.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_25_col121.clone() * M31_512.clone()) - - (conv_mod_tmp_1623.clone() + carry_24_col120.clone())), + - (conv_mod_tmp_31b3_94.clone() + carry_24_col120.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_25_col121.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( ((carry_26_col122.clone() * M31_512.clone()) - - (conv_mod_tmp_1624.clone() + carry_25_col121.clone())), + - (conv_mod_tmp_31b3_95.clone() + carry_25_col121.clone())), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_19_lookup_elements, E::EF::one(), &[(carry_26_col122.clone() + M31_131072.clone())], - )]); + )); eval.add_constraint( - ((conv_mod_tmp_1625.clone() - (M31_256.clone() * k_col95.clone())) + ((conv_mod_tmp_31b3_96.clone() - (M31_256.clone() * k_col95.clone())) + carry_26_col122.clone()), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -1642,9 +1672,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -1652,7 +1682,7 @@ impl FrameworkEval for Eval { (input_ap_col1.clone() + ap_update_add_1_col7.clone()), input_fp_col2.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/prover.rs b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/prover.rs index 010e756e..7b4b494d 100644 --- a/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/mul_opcode_is_small_f_is_imm_t/prover.rs @@ -67,12 +67,6 @@ impl ClaimGenerator { if need_padding { sub_components_inputs.bit_reverse_coset_to_circle_domain_order(); } - sub_components_inputs - .range_check_19_inputs - .iter() - .for_each(|inputs| { - range_check_19_state.add_inputs(&inputs[..n_calls]); - }); sub_components_inputs .memory_address_to_id_inputs .iter() @@ -85,6 +79,12 @@ impl ClaimGenerator { .for_each(|inputs| { memory_id_to_big_state.add_inputs(&inputs[..n_calls]); }); + sub_components_inputs + .range_check_19_inputs + .iter() + .for_each(|inputs| { + range_check_19_state.add_inputs(&inputs[..n_calls]); + }); sub_components_inputs .verify_instruction_inputs .iter() @@ -122,22 +122,26 @@ impl ClaimGenerator { } pub struct SubComponentInputs { - pub range_check_19_inputs: [Vec; 28], pub memory_address_to_id_inputs: [Vec; 3], pub memory_id_to_big_inputs: [Vec; 3], + pub range_check_19_inputs: [Vec; 28], pub verify_instruction_inputs: [Vec; 1], } impl SubComponentInputs { #[allow(unused_variables)] fn with_capacity(capacity: usize) -> Self { Self { - range_check_19_inputs: [ + memory_address_to_id_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), + ], + memory_id_to_big_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), + ], + range_check_19_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), @@ -160,13 +164,9 @@ impl SubComponentInputs { Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), - ], - memory_address_to_id_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), - ], - memory_id_to_big_inputs: [ Vec::with_capacity(capacity), Vec::with_capacity(capacity), Vec::with_capacity(capacity), @@ -176,15 +176,15 @@ impl SubComponentInputs { } fn bit_reverse_coset_to_circle_domain_order(&mut self) { - self.range_check_19_inputs - .iter_mut() - .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.memory_address_to_id_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.memory_id_to_big_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); + self.range_check_19_inputs + .iter_mut() + .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); self.verify_instruction_inputs .iter_mut() .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); @@ -246,63 +246,63 @@ pub fn write_trace_simd( .into_iter() .enumerate() .for_each(|(row_index, mul_opcode_is_small_f_is_imm_t_input)| { - let input_tmp_1528 = mul_opcode_is_small_f_is_imm_t_input; - let input_pc_col0 = input_tmp_1528.pc; + let input_tmp_31b3_0 = mul_opcode_is_small_f_is_imm_t_input; + let input_pc_col0 = input_tmp_31b3_0.pc; trace[0].data[row_index] = input_pc_col0; - let input_ap_col1 = input_tmp_1528.ap; + let input_ap_col1 = input_tmp_31b3_0.ap; trace[1].data[row_index] = input_ap_col1; - let input_fp_col2 = input_tmp_1528.fp; + let input_fp_col2 = input_tmp_31b3_0.fp; trace[2].data[row_index] = input_fp_col2; - // decode_instruction_cea21b812a0ef1a0. + // DecodeInstruction_cea21b812a0ef1a0. - let memory_address_to_id_value_tmp_1529 = + let memoryaddresstoid_value_tmp_31b3_1 = memory_address_to_id_state.deduce_output(input_pc_col0); - let memory_id_to_big_value_tmp_1530 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1529); - let offset0_tmp_1531 = - ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(0))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(1))) + let memoryidtobig_value_tmp_31b3_2 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_31b3_1); + let offset0_tmp_31b3_3 = + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(0))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(1))) & (UInt16_127)) << (UInt16_9))); - let offset0_col3 = offset0_tmp_1531.as_m31(); + let offset0_col3 = offset0_tmp_31b3_3.as_m31(); trace[3].data[row_index] = offset0_col3; - let offset1_tmp_1532 = - ((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(1))) + let offset1_tmp_31b3_4 = + ((((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(1))) >> (UInt16_7)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(2))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(2))) << (UInt16_2))) - + (((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(3))) + + (((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(3))) & (UInt16_31)) << (UInt16_11))); - let offset1_col4 = offset1_tmp_1532.as_m31(); + let offset1_col4 = offset1_tmp_31b3_4.as_m31(); trace[4].data[row_index] = offset1_col4; - let dst_base_fp_tmp_1533 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(5))) + let dst_base_fp_tmp_31b3_5 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(6))) << (UInt16_6))) >> (UInt16_0)) & (UInt16_1)); - let dst_base_fp_col5 = dst_base_fp_tmp_1533.as_m31(); + let dst_base_fp_col5 = dst_base_fp_tmp_31b3_5.as_m31(); trace[5].data[row_index] = dst_base_fp_col5; - let op0_base_fp_tmp_1534 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(5))) + let op0_base_fp_tmp_31b3_6 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(6))) << (UInt16_6))) >> (UInt16_1)) & (UInt16_1)); - let op0_base_fp_col6 = op0_base_fp_tmp_1534.as_m31(); + let op0_base_fp_col6 = op0_base_fp_tmp_31b3_6.as_m31(); trace[6].data[row_index] = op0_base_fp_col6; - let ap_update_add_1_tmp_1535 = - (((((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(5))) + let ap_update_add_1_tmp_31b3_7 = + (((((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(5))) >> (UInt16_3)) - + ((PackedUInt16::from_m31(memory_id_to_big_value_tmp_1530.get_m31(6))) + + ((PackedUInt16::from_m31(memoryidtobig_value_tmp_31b3_2.get_m31(6))) << (UInt16_6))) >> (UInt16_11)) & (UInt16_1)); - let ap_update_add_1_col7 = ap_update_add_1_tmp_1535.as_m31(); + let ap_update_add_1_col7 = ap_update_add_1_tmp_31b3_7.as_m31(); trace[7].data[row_index] = ap_update_add_1_col7; sub_components_inputs.verify_instruction_inputs[0].extend( @@ -352,16 +352,16 @@ pub fn write_trace_simd( M31_1, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1537 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_31b3_8 = memory_address_to_id_state.deduce_output( ((((dst_base_fp_col5) * (input_fp_col2)) + (((M31_1) - (dst_base_fp_col5)) * (input_ap_col1))) + ((offset0_col3) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1538 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1537); - let dst_id_col8 = memory_address_to_id_value_tmp_1537; + let memoryidtobig_value_tmp_31b3_9 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_31b3_8); + let dst_id_col8 = memoryaddresstoid_value_tmp_31b3_8; trace[8].data[row_index] = dst_id_col8; sub_components_inputs.memory_address_to_id_inputs[0].extend( ((((dst_base_fp_col5) * (input_fp_col2)) @@ -376,61 +376,61 @@ pub fn write_trace_simd( + ((offset0_col3) - (M31_32768))), dst_id_col8, ]); - let dst_limb_0_col9 = memory_id_to_big_value_tmp_1538.get_m31(0); + let dst_limb_0_col9 = memoryidtobig_value_tmp_31b3_9.get_m31(0); trace[9].data[row_index] = dst_limb_0_col9; - let dst_limb_1_col10 = memory_id_to_big_value_tmp_1538.get_m31(1); + let dst_limb_1_col10 = memoryidtobig_value_tmp_31b3_9.get_m31(1); trace[10].data[row_index] = dst_limb_1_col10; - let dst_limb_2_col11 = memory_id_to_big_value_tmp_1538.get_m31(2); + let dst_limb_2_col11 = memoryidtobig_value_tmp_31b3_9.get_m31(2); trace[11].data[row_index] = dst_limb_2_col11; - let dst_limb_3_col12 = memory_id_to_big_value_tmp_1538.get_m31(3); + let dst_limb_3_col12 = memoryidtobig_value_tmp_31b3_9.get_m31(3); trace[12].data[row_index] = dst_limb_3_col12; - let dst_limb_4_col13 = memory_id_to_big_value_tmp_1538.get_m31(4); + let dst_limb_4_col13 = memoryidtobig_value_tmp_31b3_9.get_m31(4); trace[13].data[row_index] = dst_limb_4_col13; - let dst_limb_5_col14 = memory_id_to_big_value_tmp_1538.get_m31(5); + let dst_limb_5_col14 = memoryidtobig_value_tmp_31b3_9.get_m31(5); trace[14].data[row_index] = dst_limb_5_col14; - let dst_limb_6_col15 = memory_id_to_big_value_tmp_1538.get_m31(6); + let dst_limb_6_col15 = memoryidtobig_value_tmp_31b3_9.get_m31(6); trace[15].data[row_index] = dst_limb_6_col15; - let dst_limb_7_col16 = memory_id_to_big_value_tmp_1538.get_m31(7); + let dst_limb_7_col16 = memoryidtobig_value_tmp_31b3_9.get_m31(7); trace[16].data[row_index] = dst_limb_7_col16; - let dst_limb_8_col17 = memory_id_to_big_value_tmp_1538.get_m31(8); + let dst_limb_8_col17 = memoryidtobig_value_tmp_31b3_9.get_m31(8); trace[17].data[row_index] = dst_limb_8_col17; - let dst_limb_9_col18 = memory_id_to_big_value_tmp_1538.get_m31(9); + let dst_limb_9_col18 = memoryidtobig_value_tmp_31b3_9.get_m31(9); trace[18].data[row_index] = dst_limb_9_col18; - let dst_limb_10_col19 = memory_id_to_big_value_tmp_1538.get_m31(10); + let dst_limb_10_col19 = memoryidtobig_value_tmp_31b3_9.get_m31(10); trace[19].data[row_index] = dst_limb_10_col19; - let dst_limb_11_col20 = memory_id_to_big_value_tmp_1538.get_m31(11); + let dst_limb_11_col20 = memoryidtobig_value_tmp_31b3_9.get_m31(11); trace[20].data[row_index] = dst_limb_11_col20; - let dst_limb_12_col21 = memory_id_to_big_value_tmp_1538.get_m31(12); + let dst_limb_12_col21 = memoryidtobig_value_tmp_31b3_9.get_m31(12); trace[21].data[row_index] = dst_limb_12_col21; - let dst_limb_13_col22 = memory_id_to_big_value_tmp_1538.get_m31(13); + let dst_limb_13_col22 = memoryidtobig_value_tmp_31b3_9.get_m31(13); trace[22].data[row_index] = dst_limb_13_col22; - let dst_limb_14_col23 = memory_id_to_big_value_tmp_1538.get_m31(14); + let dst_limb_14_col23 = memoryidtobig_value_tmp_31b3_9.get_m31(14); trace[23].data[row_index] = dst_limb_14_col23; - let dst_limb_15_col24 = memory_id_to_big_value_tmp_1538.get_m31(15); + let dst_limb_15_col24 = memoryidtobig_value_tmp_31b3_9.get_m31(15); trace[24].data[row_index] = dst_limb_15_col24; - let dst_limb_16_col25 = memory_id_to_big_value_tmp_1538.get_m31(16); + let dst_limb_16_col25 = memoryidtobig_value_tmp_31b3_9.get_m31(16); trace[25].data[row_index] = dst_limb_16_col25; - let dst_limb_17_col26 = memory_id_to_big_value_tmp_1538.get_m31(17); + let dst_limb_17_col26 = memoryidtobig_value_tmp_31b3_9.get_m31(17); trace[26].data[row_index] = dst_limb_17_col26; - let dst_limb_18_col27 = memory_id_to_big_value_tmp_1538.get_m31(18); + let dst_limb_18_col27 = memoryidtobig_value_tmp_31b3_9.get_m31(18); trace[27].data[row_index] = dst_limb_18_col27; - let dst_limb_19_col28 = memory_id_to_big_value_tmp_1538.get_m31(19); + let dst_limb_19_col28 = memoryidtobig_value_tmp_31b3_9.get_m31(19); trace[28].data[row_index] = dst_limb_19_col28; - let dst_limb_20_col29 = memory_id_to_big_value_tmp_1538.get_m31(20); + let dst_limb_20_col29 = memoryidtobig_value_tmp_31b3_9.get_m31(20); trace[29].data[row_index] = dst_limb_20_col29; - let dst_limb_21_col30 = memory_id_to_big_value_tmp_1538.get_m31(21); + let dst_limb_21_col30 = memoryidtobig_value_tmp_31b3_9.get_m31(21); trace[30].data[row_index] = dst_limb_21_col30; - let dst_limb_22_col31 = memory_id_to_big_value_tmp_1538.get_m31(22); + let dst_limb_22_col31 = memoryidtobig_value_tmp_31b3_9.get_m31(22); trace[31].data[row_index] = dst_limb_22_col31; - let dst_limb_23_col32 = memory_id_to_big_value_tmp_1538.get_m31(23); + let dst_limb_23_col32 = memoryidtobig_value_tmp_31b3_9.get_m31(23); trace[32].data[row_index] = dst_limb_23_col32; - let dst_limb_24_col33 = memory_id_to_big_value_tmp_1538.get_m31(24); + let dst_limb_24_col33 = memoryidtobig_value_tmp_31b3_9.get_m31(24); trace[33].data[row_index] = dst_limb_24_col33; - let dst_limb_25_col34 = memory_id_to_big_value_tmp_1538.get_m31(25); + let dst_limb_25_col34 = memoryidtobig_value_tmp_31b3_9.get_m31(25); trace[34].data[row_index] = dst_limb_25_col34; - let dst_limb_26_col35 = memory_id_to_big_value_tmp_1538.get_m31(26); + let dst_limb_26_col35 = memoryidtobig_value_tmp_31b3_9.get_m31(26); trace[35].data[row_index] = dst_limb_26_col35; - let dst_limb_27_col36 = memory_id_to_big_value_tmp_1538.get_m31(27); + let dst_limb_27_col36 = memoryidtobig_value_tmp_31b3_9.get_m31(27); trace[36].data[row_index] = dst_limb_27_col36; sub_components_inputs.memory_id_to_big_inputs[0].extend(dst_id_col8.unpack()); @@ -466,16 +466,16 @@ pub fn write_trace_simd( dst_limb_27_col36, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1539 = memory_address_to_id_state.deduce_output( + let memoryaddresstoid_value_tmp_31b3_10 = memory_address_to_id_state.deduce_output( ((((op0_base_fp_col6) * (input_fp_col2)) + (((M31_1) - (op0_base_fp_col6)) * (input_ap_col1))) + ((offset1_col4) - (M31_32768))), ); - let memory_id_to_big_value_tmp_1540 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1539); - let op0_id_col37 = memory_address_to_id_value_tmp_1539; + let memoryidtobig_value_tmp_31b3_11 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_31b3_10); + let op0_id_col37 = memoryaddresstoid_value_tmp_31b3_10; trace[37].data[row_index] = op0_id_col37; sub_components_inputs.memory_address_to_id_inputs[1].extend( ((((op0_base_fp_col6) * (input_fp_col2)) @@ -490,61 +490,61 @@ pub fn write_trace_simd( + ((offset1_col4) - (M31_32768))), op0_id_col37, ]); - let op0_limb_0_col38 = memory_id_to_big_value_tmp_1540.get_m31(0); + let op0_limb_0_col38 = memoryidtobig_value_tmp_31b3_11.get_m31(0); trace[38].data[row_index] = op0_limb_0_col38; - let op0_limb_1_col39 = memory_id_to_big_value_tmp_1540.get_m31(1); + let op0_limb_1_col39 = memoryidtobig_value_tmp_31b3_11.get_m31(1); trace[39].data[row_index] = op0_limb_1_col39; - let op0_limb_2_col40 = memory_id_to_big_value_tmp_1540.get_m31(2); + let op0_limb_2_col40 = memoryidtobig_value_tmp_31b3_11.get_m31(2); trace[40].data[row_index] = op0_limb_2_col40; - let op0_limb_3_col41 = memory_id_to_big_value_tmp_1540.get_m31(3); + let op0_limb_3_col41 = memoryidtobig_value_tmp_31b3_11.get_m31(3); trace[41].data[row_index] = op0_limb_3_col41; - let op0_limb_4_col42 = memory_id_to_big_value_tmp_1540.get_m31(4); + let op0_limb_4_col42 = memoryidtobig_value_tmp_31b3_11.get_m31(4); trace[42].data[row_index] = op0_limb_4_col42; - let op0_limb_5_col43 = memory_id_to_big_value_tmp_1540.get_m31(5); + let op0_limb_5_col43 = memoryidtobig_value_tmp_31b3_11.get_m31(5); trace[43].data[row_index] = op0_limb_5_col43; - let op0_limb_6_col44 = memory_id_to_big_value_tmp_1540.get_m31(6); + let op0_limb_6_col44 = memoryidtobig_value_tmp_31b3_11.get_m31(6); trace[44].data[row_index] = op0_limb_6_col44; - let op0_limb_7_col45 = memory_id_to_big_value_tmp_1540.get_m31(7); + let op0_limb_7_col45 = memoryidtobig_value_tmp_31b3_11.get_m31(7); trace[45].data[row_index] = op0_limb_7_col45; - let op0_limb_8_col46 = memory_id_to_big_value_tmp_1540.get_m31(8); + let op0_limb_8_col46 = memoryidtobig_value_tmp_31b3_11.get_m31(8); trace[46].data[row_index] = op0_limb_8_col46; - let op0_limb_9_col47 = memory_id_to_big_value_tmp_1540.get_m31(9); + let op0_limb_9_col47 = memoryidtobig_value_tmp_31b3_11.get_m31(9); trace[47].data[row_index] = op0_limb_9_col47; - let op0_limb_10_col48 = memory_id_to_big_value_tmp_1540.get_m31(10); + let op0_limb_10_col48 = memoryidtobig_value_tmp_31b3_11.get_m31(10); trace[48].data[row_index] = op0_limb_10_col48; - let op0_limb_11_col49 = memory_id_to_big_value_tmp_1540.get_m31(11); + let op0_limb_11_col49 = memoryidtobig_value_tmp_31b3_11.get_m31(11); trace[49].data[row_index] = op0_limb_11_col49; - let op0_limb_12_col50 = memory_id_to_big_value_tmp_1540.get_m31(12); + let op0_limb_12_col50 = memoryidtobig_value_tmp_31b3_11.get_m31(12); trace[50].data[row_index] = op0_limb_12_col50; - let op0_limb_13_col51 = memory_id_to_big_value_tmp_1540.get_m31(13); + let op0_limb_13_col51 = memoryidtobig_value_tmp_31b3_11.get_m31(13); trace[51].data[row_index] = op0_limb_13_col51; - let op0_limb_14_col52 = memory_id_to_big_value_tmp_1540.get_m31(14); + let op0_limb_14_col52 = memoryidtobig_value_tmp_31b3_11.get_m31(14); trace[52].data[row_index] = op0_limb_14_col52; - let op0_limb_15_col53 = memory_id_to_big_value_tmp_1540.get_m31(15); + let op0_limb_15_col53 = memoryidtobig_value_tmp_31b3_11.get_m31(15); trace[53].data[row_index] = op0_limb_15_col53; - let op0_limb_16_col54 = memory_id_to_big_value_tmp_1540.get_m31(16); + let op0_limb_16_col54 = memoryidtobig_value_tmp_31b3_11.get_m31(16); trace[54].data[row_index] = op0_limb_16_col54; - let op0_limb_17_col55 = memory_id_to_big_value_tmp_1540.get_m31(17); + let op0_limb_17_col55 = memoryidtobig_value_tmp_31b3_11.get_m31(17); trace[55].data[row_index] = op0_limb_17_col55; - let op0_limb_18_col56 = memory_id_to_big_value_tmp_1540.get_m31(18); + let op0_limb_18_col56 = memoryidtobig_value_tmp_31b3_11.get_m31(18); trace[56].data[row_index] = op0_limb_18_col56; - let op0_limb_19_col57 = memory_id_to_big_value_tmp_1540.get_m31(19); + let op0_limb_19_col57 = memoryidtobig_value_tmp_31b3_11.get_m31(19); trace[57].data[row_index] = op0_limb_19_col57; - let op0_limb_20_col58 = memory_id_to_big_value_tmp_1540.get_m31(20); + let op0_limb_20_col58 = memoryidtobig_value_tmp_31b3_11.get_m31(20); trace[58].data[row_index] = op0_limb_20_col58; - let op0_limb_21_col59 = memory_id_to_big_value_tmp_1540.get_m31(21); + let op0_limb_21_col59 = memoryidtobig_value_tmp_31b3_11.get_m31(21); trace[59].data[row_index] = op0_limb_21_col59; - let op0_limb_22_col60 = memory_id_to_big_value_tmp_1540.get_m31(22); + let op0_limb_22_col60 = memoryidtobig_value_tmp_31b3_11.get_m31(22); trace[60].data[row_index] = op0_limb_22_col60; - let op0_limb_23_col61 = memory_id_to_big_value_tmp_1540.get_m31(23); + let op0_limb_23_col61 = memoryidtobig_value_tmp_31b3_11.get_m31(23); trace[61].data[row_index] = op0_limb_23_col61; - let op0_limb_24_col62 = memory_id_to_big_value_tmp_1540.get_m31(24); + let op0_limb_24_col62 = memoryidtobig_value_tmp_31b3_11.get_m31(24); trace[62].data[row_index] = op0_limb_24_col62; - let op0_limb_25_col63 = memory_id_to_big_value_tmp_1540.get_m31(25); + let op0_limb_25_col63 = memoryidtobig_value_tmp_31b3_11.get_m31(25); trace[63].data[row_index] = op0_limb_25_col63; - let op0_limb_26_col64 = memory_id_to_big_value_tmp_1540.get_m31(26); + let op0_limb_26_col64 = memoryidtobig_value_tmp_31b3_11.get_m31(26); trace[64].data[row_index] = op0_limb_26_col64; - let op0_limb_27_col65 = memory_id_to_big_value_tmp_1540.get_m31(27); + let op0_limb_27_col65 = memoryidtobig_value_tmp_31b3_11.get_m31(27); trace[65].data[row_index] = op0_limb_27_col65; sub_components_inputs.memory_id_to_big_inputs[1].extend(op0_id_col37.unpack()); @@ -580,73 +580,73 @@ pub fn write_trace_simd( op0_limb_27_col65, ]); - // read_positive_num_bits_252. + // ReadPositive_num_bits_252. - let memory_address_to_id_value_tmp_1541 = + let memoryaddresstoid_value_tmp_31b3_12 = memory_address_to_id_state.deduce_output(((input_pc_col0) + (M31_1))); - let memory_id_to_big_value_tmp_1542 = - memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1541); - let op1_id_col66 = memory_address_to_id_value_tmp_1541; + let memoryidtobig_value_tmp_31b3_13 = + memory_id_to_big_state.deduce_output(memoryaddresstoid_value_tmp_31b3_12); + let op1_id_col66 = memoryaddresstoid_value_tmp_31b3_12; trace[66].data[row_index] = op1_id_col66; sub_components_inputs.memory_address_to_id_inputs[2] .extend(((input_pc_col0) + (M31_1)).unpack()); lookup_data.memoryaddresstoid[2].push([((input_pc_col0) + (M31_1)), op1_id_col66]); - let op1_limb_0_col67 = memory_id_to_big_value_tmp_1542.get_m31(0); + let op1_limb_0_col67 = memoryidtobig_value_tmp_31b3_13.get_m31(0); trace[67].data[row_index] = op1_limb_0_col67; - let op1_limb_1_col68 = memory_id_to_big_value_tmp_1542.get_m31(1); + let op1_limb_1_col68 = memoryidtobig_value_tmp_31b3_13.get_m31(1); trace[68].data[row_index] = op1_limb_1_col68; - let op1_limb_2_col69 = memory_id_to_big_value_tmp_1542.get_m31(2); + let op1_limb_2_col69 = memoryidtobig_value_tmp_31b3_13.get_m31(2); trace[69].data[row_index] = op1_limb_2_col69; - let op1_limb_3_col70 = memory_id_to_big_value_tmp_1542.get_m31(3); + let op1_limb_3_col70 = memoryidtobig_value_tmp_31b3_13.get_m31(3); trace[70].data[row_index] = op1_limb_3_col70; - let op1_limb_4_col71 = memory_id_to_big_value_tmp_1542.get_m31(4); + let op1_limb_4_col71 = memoryidtobig_value_tmp_31b3_13.get_m31(4); trace[71].data[row_index] = op1_limb_4_col71; - let op1_limb_5_col72 = memory_id_to_big_value_tmp_1542.get_m31(5); + let op1_limb_5_col72 = memoryidtobig_value_tmp_31b3_13.get_m31(5); trace[72].data[row_index] = op1_limb_5_col72; - let op1_limb_6_col73 = memory_id_to_big_value_tmp_1542.get_m31(6); + let op1_limb_6_col73 = memoryidtobig_value_tmp_31b3_13.get_m31(6); trace[73].data[row_index] = op1_limb_6_col73; - let op1_limb_7_col74 = memory_id_to_big_value_tmp_1542.get_m31(7); + let op1_limb_7_col74 = memoryidtobig_value_tmp_31b3_13.get_m31(7); trace[74].data[row_index] = op1_limb_7_col74; - let op1_limb_8_col75 = memory_id_to_big_value_tmp_1542.get_m31(8); + let op1_limb_8_col75 = memoryidtobig_value_tmp_31b3_13.get_m31(8); trace[75].data[row_index] = op1_limb_8_col75; - let op1_limb_9_col76 = memory_id_to_big_value_tmp_1542.get_m31(9); + let op1_limb_9_col76 = memoryidtobig_value_tmp_31b3_13.get_m31(9); trace[76].data[row_index] = op1_limb_9_col76; - let op1_limb_10_col77 = memory_id_to_big_value_tmp_1542.get_m31(10); + let op1_limb_10_col77 = memoryidtobig_value_tmp_31b3_13.get_m31(10); trace[77].data[row_index] = op1_limb_10_col77; - let op1_limb_11_col78 = memory_id_to_big_value_tmp_1542.get_m31(11); + let op1_limb_11_col78 = memoryidtobig_value_tmp_31b3_13.get_m31(11); trace[78].data[row_index] = op1_limb_11_col78; - let op1_limb_12_col79 = memory_id_to_big_value_tmp_1542.get_m31(12); + let op1_limb_12_col79 = memoryidtobig_value_tmp_31b3_13.get_m31(12); trace[79].data[row_index] = op1_limb_12_col79; - let op1_limb_13_col80 = memory_id_to_big_value_tmp_1542.get_m31(13); + let op1_limb_13_col80 = memoryidtobig_value_tmp_31b3_13.get_m31(13); trace[80].data[row_index] = op1_limb_13_col80; - let op1_limb_14_col81 = memory_id_to_big_value_tmp_1542.get_m31(14); + let op1_limb_14_col81 = memoryidtobig_value_tmp_31b3_13.get_m31(14); trace[81].data[row_index] = op1_limb_14_col81; - let op1_limb_15_col82 = memory_id_to_big_value_tmp_1542.get_m31(15); + let op1_limb_15_col82 = memoryidtobig_value_tmp_31b3_13.get_m31(15); trace[82].data[row_index] = op1_limb_15_col82; - let op1_limb_16_col83 = memory_id_to_big_value_tmp_1542.get_m31(16); + let op1_limb_16_col83 = memoryidtobig_value_tmp_31b3_13.get_m31(16); trace[83].data[row_index] = op1_limb_16_col83; - let op1_limb_17_col84 = memory_id_to_big_value_tmp_1542.get_m31(17); + let op1_limb_17_col84 = memoryidtobig_value_tmp_31b3_13.get_m31(17); trace[84].data[row_index] = op1_limb_17_col84; - let op1_limb_18_col85 = memory_id_to_big_value_tmp_1542.get_m31(18); + let op1_limb_18_col85 = memoryidtobig_value_tmp_31b3_13.get_m31(18); trace[85].data[row_index] = op1_limb_18_col85; - let op1_limb_19_col86 = memory_id_to_big_value_tmp_1542.get_m31(19); + let op1_limb_19_col86 = memoryidtobig_value_tmp_31b3_13.get_m31(19); trace[86].data[row_index] = op1_limb_19_col86; - let op1_limb_20_col87 = memory_id_to_big_value_tmp_1542.get_m31(20); + let op1_limb_20_col87 = memoryidtobig_value_tmp_31b3_13.get_m31(20); trace[87].data[row_index] = op1_limb_20_col87; - let op1_limb_21_col88 = memory_id_to_big_value_tmp_1542.get_m31(21); + let op1_limb_21_col88 = memoryidtobig_value_tmp_31b3_13.get_m31(21); trace[88].data[row_index] = op1_limb_21_col88; - let op1_limb_22_col89 = memory_id_to_big_value_tmp_1542.get_m31(22); + let op1_limb_22_col89 = memoryidtobig_value_tmp_31b3_13.get_m31(22); trace[89].data[row_index] = op1_limb_22_col89; - let op1_limb_23_col90 = memory_id_to_big_value_tmp_1542.get_m31(23); + let op1_limb_23_col90 = memoryidtobig_value_tmp_31b3_13.get_m31(23); trace[90].data[row_index] = op1_limb_23_col90; - let op1_limb_24_col91 = memory_id_to_big_value_tmp_1542.get_m31(24); + let op1_limb_24_col91 = memoryidtobig_value_tmp_31b3_13.get_m31(24); trace[91].data[row_index] = op1_limb_24_col91; - let op1_limb_25_col92 = memory_id_to_big_value_tmp_1542.get_m31(25); + let op1_limb_25_col92 = memoryidtobig_value_tmp_31b3_13.get_m31(25); trace[92].data[row_index] = op1_limb_25_col92; - let op1_limb_26_col93 = memory_id_to_big_value_tmp_1542.get_m31(26); + let op1_limb_26_col93 = memoryidtobig_value_tmp_31b3_13.get_m31(26); trace[93].data[row_index] = op1_limb_26_col93; - let op1_limb_27_col94 = memory_id_to_big_value_tmp_1542.get_m31(27); + let op1_limb_27_col94 = memoryidtobig_value_tmp_31b3_13.get_m31(27); trace[94].data[row_index] = op1_limb_27_col94; sub_components_inputs.memory_id_to_big_inputs[2].extend(op1_id_col66.unpack()); @@ -682,36 +682,36 @@ pub fn write_trace_simd( op1_limb_27_col94, ]); - // verify_mul252. + // VerifyMul252. - let conv_tmp_1543 = + let conv_tmp_31b3_14 = (((M31_0) - (dst_limb_0_col9)) + ((op0_limb_0_col38) * (op1_limb_0_col67))); - let conv_tmp_1544 = ((((M31_0) - (dst_limb_1_col10)) + let conv_tmp_31b3_15 = ((((M31_0) - (dst_limb_1_col10)) + ((op0_limb_0_col38) * (op1_limb_1_col68))) + ((op0_limb_1_col39) * (op1_limb_0_col67))); - let conv_tmp_1545 = (((((M31_0) - (dst_limb_2_col11)) + let conv_tmp_31b3_16 = (((((M31_0) - (dst_limb_2_col11)) + ((op0_limb_0_col38) * (op1_limb_2_col69))) + ((op0_limb_1_col39) * (op1_limb_1_col68))) + ((op0_limb_2_col40) * (op1_limb_0_col67))); - let conv_tmp_1546 = ((((((M31_0) - (dst_limb_3_col12)) + let conv_tmp_31b3_17 = ((((((M31_0) - (dst_limb_3_col12)) + ((op0_limb_0_col38) * (op1_limb_3_col70))) + ((op0_limb_1_col39) * (op1_limb_2_col69))) + ((op0_limb_2_col40) * (op1_limb_1_col68))) + ((op0_limb_3_col41) * (op1_limb_0_col67))); - let conv_tmp_1547 = (((((((M31_0) - (dst_limb_4_col13)) + let conv_tmp_31b3_18 = (((((((M31_0) - (dst_limb_4_col13)) + ((op0_limb_0_col38) * (op1_limb_4_col71))) + ((op0_limb_1_col39) * (op1_limb_3_col70))) + ((op0_limb_2_col40) * (op1_limb_2_col69))) + ((op0_limb_3_col41) * (op1_limb_1_col68))) + ((op0_limb_4_col42) * (op1_limb_0_col67))); - let conv_tmp_1548 = ((((((((M31_0) - (dst_limb_5_col14)) + let conv_tmp_31b3_19 = ((((((((M31_0) - (dst_limb_5_col14)) + ((op0_limb_0_col38) * (op1_limb_5_col72))) + ((op0_limb_1_col39) * (op1_limb_4_col71))) + ((op0_limb_2_col40) * (op1_limb_3_col70))) + ((op0_limb_3_col41) * (op1_limb_2_col69))) + ((op0_limb_4_col42) * (op1_limb_1_col68))) + ((op0_limb_5_col43) * (op1_limb_0_col67))); - let conv_tmp_1549 = (((((((((M31_0) - (dst_limb_6_col15)) + let conv_tmp_31b3_20 = (((((((((M31_0) - (dst_limb_6_col15)) + ((op0_limb_0_col38) * (op1_limb_6_col73))) + ((op0_limb_1_col39) * (op1_limb_5_col72))) + ((op0_limb_2_col40) * (op1_limb_4_col71))) @@ -719,7 +719,7 @@ pub fn write_trace_simd( + ((op0_limb_4_col42) * (op1_limb_2_col69))) + ((op0_limb_5_col43) * (op1_limb_1_col68))) + ((op0_limb_6_col44) * (op1_limb_0_col67))); - let conv_tmp_1550 = ((((((((((M31_0) - (dst_limb_7_col16)) + let conv_tmp_31b3_21 = ((((((((((M31_0) - (dst_limb_7_col16)) + ((op0_limb_0_col38) * (op1_limb_7_col74))) + ((op0_limb_1_col39) * (op1_limb_6_col73))) + ((op0_limb_2_col40) * (op1_limb_5_col72))) @@ -728,7 +728,7 @@ pub fn write_trace_simd( + ((op0_limb_5_col43) * (op1_limb_2_col69))) + ((op0_limb_6_col44) * (op1_limb_1_col68))) + ((op0_limb_7_col45) * (op1_limb_0_col67))); - let conv_tmp_1551 = (((((((((((M31_0) - (dst_limb_8_col17)) + let conv_tmp_31b3_22 = (((((((((((M31_0) - (dst_limb_8_col17)) + ((op0_limb_0_col38) * (op1_limb_8_col75))) + ((op0_limb_1_col39) * (op1_limb_7_col74))) + ((op0_limb_2_col40) * (op1_limb_6_col73))) @@ -738,7 +738,7 @@ pub fn write_trace_simd( + ((op0_limb_6_col44) * (op1_limb_2_col69))) + ((op0_limb_7_col45) * (op1_limb_1_col68))) + ((op0_limb_8_col46) * (op1_limb_0_col67))); - let conv_tmp_1552 = ((((((((((((M31_0) - (dst_limb_9_col18)) + let conv_tmp_31b3_23 = ((((((((((((M31_0) - (dst_limb_9_col18)) + ((op0_limb_0_col38) * (op1_limb_9_col76))) + ((op0_limb_1_col39) * (op1_limb_8_col75))) + ((op0_limb_2_col40) * (op1_limb_7_col74))) @@ -749,7 +749,7 @@ pub fn write_trace_simd( + ((op0_limb_7_col45) * (op1_limb_2_col69))) + ((op0_limb_8_col46) * (op1_limb_1_col68))) + ((op0_limb_9_col47) * (op1_limb_0_col67))); - let conv_tmp_1553 = (((((((((((((M31_0) - (dst_limb_10_col19)) + let conv_tmp_31b3_24 = (((((((((((((M31_0) - (dst_limb_10_col19)) + ((op0_limb_0_col38) * (op1_limb_10_col77))) + ((op0_limb_1_col39) * (op1_limb_9_col76))) + ((op0_limb_2_col40) * (op1_limb_8_col75))) @@ -761,7 +761,7 @@ pub fn write_trace_simd( + ((op0_limb_8_col46) * (op1_limb_2_col69))) + ((op0_limb_9_col47) * (op1_limb_1_col68))) + ((op0_limb_10_col48) * (op1_limb_0_col67))); - let conv_tmp_1554 = ((((((((((((((M31_0) - (dst_limb_11_col20)) + let conv_tmp_31b3_25 = ((((((((((((((M31_0) - (dst_limb_11_col20)) + ((op0_limb_0_col38) * (op1_limb_11_col78))) + ((op0_limb_1_col39) * (op1_limb_10_col77))) + ((op0_limb_2_col40) * (op1_limb_9_col76))) @@ -774,7 +774,7 @@ pub fn write_trace_simd( + ((op0_limb_9_col47) * (op1_limb_2_col69))) + ((op0_limb_10_col48) * (op1_limb_1_col68))) + ((op0_limb_11_col49) * (op1_limb_0_col67))); - let conv_tmp_1555 = (((((((((((((((M31_0) - (dst_limb_12_col21)) + let conv_tmp_31b3_26 = (((((((((((((((M31_0) - (dst_limb_12_col21)) + ((op0_limb_0_col38) * (op1_limb_12_col79))) + ((op0_limb_1_col39) * (op1_limb_11_col78))) + ((op0_limb_2_col40) * (op1_limb_10_col77))) @@ -788,7 +788,7 @@ pub fn write_trace_simd( + ((op0_limb_10_col48) * (op1_limb_2_col69))) + ((op0_limb_11_col49) * (op1_limb_1_col68))) + ((op0_limb_12_col50) * (op1_limb_0_col67))); - let conv_tmp_1556 = ((((((((((((((((M31_0) - (dst_limb_13_col22)) + let conv_tmp_31b3_27 = ((((((((((((((((M31_0) - (dst_limb_13_col22)) + ((op0_limb_0_col38) * (op1_limb_13_col80))) + ((op0_limb_1_col39) * (op1_limb_12_col79))) + ((op0_limb_2_col40) * (op1_limb_11_col78))) @@ -803,7 +803,7 @@ pub fn write_trace_simd( + ((op0_limb_11_col49) * (op1_limb_2_col69))) + ((op0_limb_12_col50) * (op1_limb_1_col68))) + ((op0_limb_13_col51) * (op1_limb_0_col67))); - let conv_tmp_1557 = (((((((((((((((((M31_0) - (dst_limb_14_col23)) + let conv_tmp_31b3_28 = (((((((((((((((((M31_0) - (dst_limb_14_col23)) + ((op0_limb_0_col38) * (op1_limb_14_col81))) + ((op0_limb_1_col39) * (op1_limb_13_col80))) + ((op0_limb_2_col40) * (op1_limb_12_col79))) @@ -819,7 +819,7 @@ pub fn write_trace_simd( + ((op0_limb_12_col50) * (op1_limb_2_col69))) + ((op0_limb_13_col51) * (op1_limb_1_col68))) + ((op0_limb_14_col52) * (op1_limb_0_col67))); - let conv_tmp_1558 = ((((((((((((((((((M31_0) - (dst_limb_15_col24)) + let conv_tmp_31b3_29 = ((((((((((((((((((M31_0) - (dst_limb_15_col24)) + ((op0_limb_0_col38) * (op1_limb_15_col82))) + ((op0_limb_1_col39) * (op1_limb_14_col81))) + ((op0_limb_2_col40) * (op1_limb_13_col80))) @@ -836,7 +836,8 @@ pub fn write_trace_simd( + ((op0_limb_13_col51) * (op1_limb_2_col69))) + ((op0_limb_14_col52) * (op1_limb_1_col68))) + ((op0_limb_15_col53) * (op1_limb_0_col67))); - let conv_tmp_1559 = (((((((((((((((((((M31_0) - (dst_limb_16_col25)) + let conv_tmp_31b3_30 = (((((((((((((((((((M31_0) + - (dst_limb_16_col25)) + ((op0_limb_0_col38) * (op1_limb_16_col83))) + ((op0_limb_1_col39) * (op1_limb_15_col82))) + ((op0_limb_2_col40) * (op1_limb_14_col81))) @@ -854,7 +855,8 @@ pub fn write_trace_simd( + ((op0_limb_14_col52) * (op1_limb_2_col69))) + ((op0_limb_15_col53) * (op1_limb_1_col68))) + ((op0_limb_16_col54) * (op1_limb_0_col67))); - let conv_tmp_1560 = ((((((((((((((((((((M31_0) - (dst_limb_17_col26)) + let conv_tmp_31b3_31 = ((((((((((((((((((((M31_0) + - (dst_limb_17_col26)) + ((op0_limb_0_col38) * (op1_limb_17_col84))) + ((op0_limb_1_col39) * (op1_limb_16_col83))) + ((op0_limb_2_col40) * (op1_limb_15_col82))) @@ -873,7 +875,7 @@ pub fn write_trace_simd( + ((op0_limb_15_col53) * (op1_limb_2_col69))) + ((op0_limb_16_col54) * (op1_limb_1_col68))) + ((op0_limb_17_col55) * (op1_limb_0_col67))); - let conv_tmp_1561 = (((((((((((((((((((((M31_0) + let conv_tmp_31b3_32 = (((((((((((((((((((((M31_0) - (dst_limb_18_col27)) + ((op0_limb_0_col38) * (op1_limb_18_col85))) + ((op0_limb_1_col39) * (op1_limb_17_col84))) @@ -894,7 +896,7 @@ pub fn write_trace_simd( + ((op0_limb_16_col54) * (op1_limb_2_col69))) + ((op0_limb_17_col55) * (op1_limb_1_col68))) + ((op0_limb_18_col56) * (op1_limb_0_col67))); - let conv_tmp_1562 = ((((((((((((((((((((((M31_0) + let conv_tmp_31b3_33 = ((((((((((((((((((((((M31_0) - (dst_limb_19_col28)) + ((op0_limb_0_col38) * (op1_limb_19_col86))) + ((op0_limb_1_col39) * (op1_limb_18_col85))) @@ -916,7 +918,7 @@ pub fn write_trace_simd( + ((op0_limb_17_col55) * (op1_limb_2_col69))) + ((op0_limb_18_col56) * (op1_limb_1_col68))) + ((op0_limb_19_col57) * (op1_limb_0_col67))); - let conv_tmp_1563 = (((((((((((((((((((((((M31_0) + let conv_tmp_31b3_34 = (((((((((((((((((((((((M31_0) - (dst_limb_20_col29)) + ((op0_limb_0_col38) * (op1_limb_20_col87))) + ((op0_limb_1_col39) * (op1_limb_19_col86))) @@ -939,7 +941,7 @@ pub fn write_trace_simd( + ((op0_limb_18_col56) * (op1_limb_2_col69))) + ((op0_limb_19_col57) * (op1_limb_1_col68))) + ((op0_limb_20_col58) * (op1_limb_0_col67))); - let conv_tmp_1564 = ((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_35 = ((((((((((((((((((((((((M31_0) - (dst_limb_21_col30)) + ((op0_limb_0_col38) * (op1_limb_21_col88))) + ((op0_limb_1_col39) * (op1_limb_20_col87))) @@ -963,7 +965,7 @@ pub fn write_trace_simd( + ((op0_limb_19_col57) * (op1_limb_2_col69))) + ((op0_limb_20_col58) * (op1_limb_1_col68))) + ((op0_limb_21_col59) * (op1_limb_0_col67))); - let conv_tmp_1565 = (((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_36 = (((((((((((((((((((((((((M31_0) - (dst_limb_22_col31)) + ((op0_limb_0_col38) * (op1_limb_22_col89))) + ((op0_limb_1_col39) * (op1_limb_21_col88))) @@ -988,7 +990,7 @@ pub fn write_trace_simd( + ((op0_limb_20_col58) * (op1_limb_2_col69))) + ((op0_limb_21_col59) * (op1_limb_1_col68))) + ((op0_limb_22_col60) * (op1_limb_0_col67))); - let conv_tmp_1566 = ((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_37 = ((((((((((((((((((((((((((M31_0) - (dst_limb_23_col32)) + ((op0_limb_0_col38) * (op1_limb_23_col90))) + ((op0_limb_1_col39) * (op1_limb_22_col89))) @@ -1014,7 +1016,7 @@ pub fn write_trace_simd( + ((op0_limb_21_col59) * (op1_limb_2_col69))) + ((op0_limb_22_col60) * (op1_limb_1_col68))) + ((op0_limb_23_col61) * (op1_limb_0_col67))); - let conv_tmp_1567 = (((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_38 = (((((((((((((((((((((((((((M31_0) - (dst_limb_24_col33)) + ((op0_limb_0_col38) * (op1_limb_24_col91))) + ((op0_limb_1_col39) * (op1_limb_23_col90))) @@ -1041,7 +1043,7 @@ pub fn write_trace_simd( + ((op0_limb_22_col60) * (op1_limb_2_col69))) + ((op0_limb_23_col61) * (op1_limb_1_col68))) + ((op0_limb_24_col62) * (op1_limb_0_col67))); - let conv_tmp_1568 = ((((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_39 = ((((((((((((((((((((((((((((M31_0) - (dst_limb_25_col34)) + ((op0_limb_0_col38) * (op1_limb_25_col92))) + ((op0_limb_1_col39) * (op1_limb_24_col91))) @@ -1069,7 +1071,7 @@ pub fn write_trace_simd( + ((op0_limb_23_col61) * (op1_limb_2_col69))) + ((op0_limb_24_col62) * (op1_limb_1_col68))) + ((op0_limb_25_col63) * (op1_limb_0_col67))); - let conv_tmp_1569 = (((((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_40 = (((((((((((((((((((((((((((((M31_0) - (dst_limb_26_col35)) + ((op0_limb_0_col38) * (op1_limb_26_col93))) + ((op0_limb_1_col39) * (op1_limb_25_col92))) @@ -1098,7 +1100,7 @@ pub fn write_trace_simd( + ((op0_limb_24_col62) * (op1_limb_2_col69))) + ((op0_limb_25_col63) * (op1_limb_1_col68))) + ((op0_limb_26_col64) * (op1_limb_0_col67))); - let conv_tmp_1570 = ((((((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_41 = ((((((((((((((((((((((((((((((M31_0) - (dst_limb_27_col36)) + ((op0_limb_0_col38) * (op1_limb_27_col94))) + ((op0_limb_1_col39) * (op1_limb_26_col93))) @@ -1128,7 +1130,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_2_col69))) + ((op0_limb_26_col64) * (op1_limb_1_col68))) + ((op0_limb_27_col65) * (op1_limb_0_col67))); - let conv_tmp_1571 = ((((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_42 = ((((((((((((((((((((((((((((M31_0) + ((op0_limb_1_col39) * (op1_limb_27_col94))) + ((op0_limb_2_col40) * (op1_limb_26_col93))) + ((op0_limb_3_col41) * (op1_limb_25_col92))) @@ -1156,7 +1158,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_3_col70))) + ((op0_limb_26_col64) * (op1_limb_2_col69))) + ((op0_limb_27_col65) * (op1_limb_1_col68))); - let conv_tmp_1572 = (((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_43 = (((((((((((((((((((((((((((M31_0) + ((op0_limb_2_col40) * (op1_limb_27_col94))) + ((op0_limb_3_col41) * (op1_limb_26_col93))) + ((op0_limb_4_col42) * (op1_limb_25_col92))) @@ -1183,7 +1185,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_4_col71))) + ((op0_limb_26_col64) * (op1_limb_3_col70))) + ((op0_limb_27_col65) * (op1_limb_2_col69))); - let conv_tmp_1573 = ((((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_44 = ((((((((((((((((((((((((((M31_0) + ((op0_limb_3_col41) * (op1_limb_27_col94))) + ((op0_limb_4_col42) * (op1_limb_26_col93))) + ((op0_limb_5_col43) * (op1_limb_25_col92))) @@ -1209,7 +1211,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_5_col72))) + ((op0_limb_26_col64) * (op1_limb_4_col71))) + ((op0_limb_27_col65) * (op1_limb_3_col70))); - let conv_tmp_1574 = (((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_45 = (((((((((((((((((((((((((M31_0) + ((op0_limb_4_col42) * (op1_limb_27_col94))) + ((op0_limb_5_col43) * (op1_limb_26_col93))) + ((op0_limb_6_col44) * (op1_limb_25_col92))) @@ -1234,7 +1236,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_6_col73))) + ((op0_limb_26_col64) * (op1_limb_5_col72))) + ((op0_limb_27_col65) * (op1_limb_4_col71))); - let conv_tmp_1575 = ((((((((((((((((((((((((M31_0) + let conv_tmp_31b3_46 = ((((((((((((((((((((((((M31_0) + ((op0_limb_5_col43) * (op1_limb_27_col94))) + ((op0_limb_6_col44) * (op1_limb_26_col93))) + ((op0_limb_7_col45) * (op1_limb_25_col92))) @@ -1258,7 +1260,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_7_col74))) + ((op0_limb_26_col64) * (op1_limb_6_col73))) + ((op0_limb_27_col65) * (op1_limb_5_col72))); - let conv_tmp_1576 = (((((((((((((((((((((((M31_0) + let conv_tmp_31b3_47 = (((((((((((((((((((((((M31_0) + ((op0_limb_6_col44) * (op1_limb_27_col94))) + ((op0_limb_7_col45) * (op1_limb_26_col93))) + ((op0_limb_8_col46) * (op1_limb_25_col92))) @@ -1281,7 +1283,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_8_col75))) + ((op0_limb_26_col64) * (op1_limb_7_col74))) + ((op0_limb_27_col65) * (op1_limb_6_col73))); - let conv_tmp_1577 = ((((((((((((((((((((((M31_0) + let conv_tmp_31b3_48 = ((((((((((((((((((((((M31_0) + ((op0_limb_7_col45) * (op1_limb_27_col94))) + ((op0_limb_8_col46) * (op1_limb_26_col93))) + ((op0_limb_9_col47) * (op1_limb_25_col92))) @@ -1303,7 +1305,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_9_col76))) + ((op0_limb_26_col64) * (op1_limb_8_col75))) + ((op0_limb_27_col65) * (op1_limb_7_col74))); - let conv_tmp_1578 = (((((((((((((((((((((M31_0) + let conv_tmp_31b3_49 = (((((((((((((((((((((M31_0) + ((op0_limb_8_col46) * (op1_limb_27_col94))) + ((op0_limb_9_col47) * (op1_limb_26_col93))) + ((op0_limb_10_col48) * (op1_limb_25_col92))) @@ -1324,7 +1326,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_10_col77))) + ((op0_limb_26_col64) * (op1_limb_9_col76))) + ((op0_limb_27_col65) * (op1_limb_8_col75))); - let conv_tmp_1579 = ((((((((((((((((((((M31_0) + let conv_tmp_31b3_50 = ((((((((((((((((((((M31_0) + ((op0_limb_9_col47) * (op1_limb_27_col94))) + ((op0_limb_10_col48) * (op1_limb_26_col93))) + ((op0_limb_11_col49) * (op1_limb_25_col92))) @@ -1344,7 +1346,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_11_col78))) + ((op0_limb_26_col64) * (op1_limb_10_col77))) + ((op0_limb_27_col65) * (op1_limb_9_col76))); - let conv_tmp_1580 = (((((((((((((((((((M31_0) + let conv_tmp_31b3_51 = (((((((((((((((((((M31_0) + ((op0_limb_10_col48) * (op1_limb_27_col94))) + ((op0_limb_11_col49) * (op1_limb_26_col93))) + ((op0_limb_12_col50) * (op1_limb_25_col92))) @@ -1363,7 +1365,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_12_col79))) + ((op0_limb_26_col64) * (op1_limb_11_col78))) + ((op0_limb_27_col65) * (op1_limb_10_col77))); - let conv_tmp_1581 = ((((((((((((((((((M31_0) + let conv_tmp_31b3_52 = ((((((((((((((((((M31_0) + ((op0_limb_11_col49) * (op1_limb_27_col94))) + ((op0_limb_12_col50) * (op1_limb_26_col93))) + ((op0_limb_13_col51) * (op1_limb_25_col92))) @@ -1381,7 +1383,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_13_col80))) + ((op0_limb_26_col64) * (op1_limb_12_col79))) + ((op0_limb_27_col65) * (op1_limb_11_col78))); - let conv_tmp_1582 = (((((((((((((((((M31_0) + let conv_tmp_31b3_53 = (((((((((((((((((M31_0) + ((op0_limb_12_col50) * (op1_limb_27_col94))) + ((op0_limb_13_col51) * (op1_limb_26_col93))) + ((op0_limb_14_col52) * (op1_limb_25_col92))) @@ -1398,7 +1400,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_14_col81))) + ((op0_limb_26_col64) * (op1_limb_13_col80))) + ((op0_limb_27_col65) * (op1_limb_12_col79))); - let conv_tmp_1583 = ((((((((((((((((M31_0) + let conv_tmp_31b3_54 = ((((((((((((((((M31_0) + ((op0_limb_13_col51) * (op1_limb_27_col94))) + ((op0_limb_14_col52) * (op1_limb_26_col93))) + ((op0_limb_15_col53) * (op1_limb_25_col92))) @@ -1414,7 +1416,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_15_col82))) + ((op0_limb_26_col64) * (op1_limb_14_col81))) + ((op0_limb_27_col65) * (op1_limb_13_col80))); - let conv_tmp_1584 = (((((((((((((((M31_0) + let conv_tmp_31b3_55 = (((((((((((((((M31_0) + ((op0_limb_14_col52) * (op1_limb_27_col94))) + ((op0_limb_15_col53) * (op1_limb_26_col93))) + ((op0_limb_16_col54) * (op1_limb_25_col92))) @@ -1429,7 +1431,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_16_col83))) + ((op0_limb_26_col64) * (op1_limb_15_col82))) + ((op0_limb_27_col65) * (op1_limb_14_col81))); - let conv_tmp_1585 = ((((((((((((((M31_0) + let conv_tmp_31b3_56 = ((((((((((((((M31_0) + ((op0_limb_15_col53) * (op1_limb_27_col94))) + ((op0_limb_16_col54) * (op1_limb_26_col93))) + ((op0_limb_17_col55) * (op1_limb_25_col92))) @@ -1443,7 +1445,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_17_col84))) + ((op0_limb_26_col64) * (op1_limb_16_col83))) + ((op0_limb_27_col65) * (op1_limb_15_col82))); - let conv_tmp_1586 = (((((((((((((M31_0) + let conv_tmp_31b3_57 = (((((((((((((M31_0) + ((op0_limb_16_col54) * (op1_limb_27_col94))) + ((op0_limb_17_col55) * (op1_limb_26_col93))) + ((op0_limb_18_col56) * (op1_limb_25_col92))) @@ -1456,7 +1458,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_18_col85))) + ((op0_limb_26_col64) * (op1_limb_17_col84))) + ((op0_limb_27_col65) * (op1_limb_16_col83))); - let conv_tmp_1587 = ((((((((((((M31_0) + let conv_tmp_31b3_58 = ((((((((((((M31_0) + ((op0_limb_17_col55) * (op1_limb_27_col94))) + ((op0_limb_18_col56) * (op1_limb_26_col93))) + ((op0_limb_19_col57) * (op1_limb_25_col92))) @@ -1468,7 +1470,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_19_col86))) + ((op0_limb_26_col64) * (op1_limb_18_col85))) + ((op0_limb_27_col65) * (op1_limb_17_col84))); - let conv_tmp_1588 = (((((((((((M31_0) + let conv_tmp_31b3_59 = (((((((((((M31_0) + ((op0_limb_18_col56) * (op1_limb_27_col94))) + ((op0_limb_19_col57) * (op1_limb_26_col93))) + ((op0_limb_20_col58) * (op1_limb_25_col92))) @@ -1479,7 +1481,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_20_col87))) + ((op0_limb_26_col64) * (op1_limb_19_col86))) + ((op0_limb_27_col65) * (op1_limb_18_col85))); - let conv_tmp_1589 = ((((((((((M31_0) + let conv_tmp_31b3_60 = ((((((((((M31_0) + ((op0_limb_19_col57) * (op1_limb_27_col94))) + ((op0_limb_20_col58) * (op1_limb_26_col93))) + ((op0_limb_21_col59) * (op1_limb_25_col92))) @@ -1489,7 +1491,7 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_21_col88))) + ((op0_limb_26_col64) * (op1_limb_20_col87))) + ((op0_limb_27_col65) * (op1_limb_19_col86))); - let conv_tmp_1590 = (((((((((M31_0) + let conv_tmp_31b3_61 = (((((((((M31_0) + ((op0_limb_20_col58) * (op1_limb_27_col94))) + ((op0_limb_21_col59) * (op1_limb_26_col93))) + ((op0_limb_22_col60) * (op1_limb_25_col92))) @@ -1498,152 +1500,154 @@ pub fn write_trace_simd( + ((op0_limb_25_col63) * (op1_limb_22_col89))) + ((op0_limb_26_col64) * (op1_limb_21_col88))) + ((op0_limb_27_col65) * (op1_limb_20_col87))); - let conv_tmp_1591 = ((((((((M31_0) + ((op0_limb_21_col59) * (op1_limb_27_col94))) + let conv_tmp_31b3_62 = ((((((((M31_0) + + ((op0_limb_21_col59) * (op1_limb_27_col94))) + ((op0_limb_22_col60) * (op1_limb_26_col93))) + ((op0_limb_23_col61) * (op1_limb_25_col92))) + ((op0_limb_24_col62) * (op1_limb_24_col91))) + ((op0_limb_25_col63) * (op1_limb_23_col90))) + ((op0_limb_26_col64) * (op1_limb_22_col89))) + ((op0_limb_27_col65) * (op1_limb_21_col88))); - let conv_tmp_1592 = (((((((M31_0) + ((op0_limb_22_col60) * (op1_limb_27_col94))) + let conv_tmp_31b3_63 = (((((((M31_0) + + ((op0_limb_22_col60) * (op1_limb_27_col94))) + ((op0_limb_23_col61) * (op1_limb_26_col93))) + ((op0_limb_24_col62) * (op1_limb_25_col92))) + ((op0_limb_25_col63) * (op1_limb_24_col91))) + ((op0_limb_26_col64) * (op1_limb_23_col90))) + ((op0_limb_27_col65) * (op1_limb_22_col89))); - let conv_tmp_1593 = ((((((M31_0) + ((op0_limb_23_col61) * (op1_limb_27_col94))) + let conv_tmp_31b3_64 = ((((((M31_0) + ((op0_limb_23_col61) * (op1_limb_27_col94))) + ((op0_limb_24_col62) * (op1_limb_26_col93))) + ((op0_limb_25_col63) * (op1_limb_25_col92))) + ((op0_limb_26_col64) * (op1_limb_24_col91))) + ((op0_limb_27_col65) * (op1_limb_23_col90))); - let conv_tmp_1594 = (((((M31_0) + ((op0_limb_24_col62) * (op1_limb_27_col94))) + let conv_tmp_31b3_65 = (((((M31_0) + ((op0_limb_24_col62) * (op1_limb_27_col94))) + ((op0_limb_25_col63) * (op1_limb_26_col93))) + ((op0_limb_26_col64) * (op1_limb_25_col92))) + ((op0_limb_27_col65) * (op1_limb_24_col91))); - let conv_tmp_1595 = ((((M31_0) + ((op0_limb_25_col63) * (op1_limb_27_col94))) + let conv_tmp_31b3_66 = ((((M31_0) + ((op0_limb_25_col63) * (op1_limb_27_col94))) + ((op0_limb_26_col64) * (op1_limb_26_col93))) + ((op0_limb_27_col65) * (op1_limb_25_col92))); - let conv_tmp_1596 = (((M31_0) + ((op0_limb_26_col64) * (op1_limb_27_col94))) + let conv_tmp_31b3_67 = (((M31_0) + ((op0_limb_26_col64) * (op1_limb_27_col94))) + ((op0_limb_27_col65) * (op1_limb_26_col93))); - let conv_tmp_1597 = ((M31_0) + ((op0_limb_27_col65) * (op1_limb_27_col94))); - let conv_mod_tmp_1598 = ((((M31_0) + ((M31_32) * (conv_tmp_1543))) - - ((M31_4) * (conv_tmp_1564))) - + ((M31_8) * (conv_tmp_1592))); - let conv_mod_tmp_1599 = (((((M31_0) + ((M31_1) * (conv_tmp_1543))) - + ((M31_32) * (conv_tmp_1544))) - - ((M31_4) * (conv_tmp_1565))) - + ((M31_8) * (conv_tmp_1593))); - let conv_mod_tmp_1600 = (((((M31_0) + ((M31_1) * (conv_tmp_1544))) - + ((M31_32) * (conv_tmp_1545))) - - ((M31_4) * (conv_tmp_1566))) - + ((M31_8) * (conv_tmp_1594))); - let conv_mod_tmp_1601 = (((((M31_0) + ((M31_1) * (conv_tmp_1545))) - + ((M31_32) * (conv_tmp_1546))) - - ((M31_4) * (conv_tmp_1567))) - + ((M31_8) * (conv_tmp_1595))); - let conv_mod_tmp_1602 = (((((M31_0) + ((M31_1) * (conv_tmp_1546))) - + ((M31_32) * (conv_tmp_1547))) - - ((M31_4) * (conv_tmp_1568))) - + ((M31_8) * (conv_tmp_1596))); - let conv_mod_tmp_1603 = (((((M31_0) + ((M31_1) * (conv_tmp_1547))) - + ((M31_32) * (conv_tmp_1548))) - - ((M31_4) * (conv_tmp_1569))) - + ((M31_8) * (conv_tmp_1597))); - let conv_mod_tmp_1604 = ((((M31_0) + ((M31_1) * (conv_tmp_1548))) - + ((M31_32) * (conv_tmp_1549))) - - ((M31_4) * (conv_tmp_1570))); - let conv_mod_tmp_1605 = (((((M31_0) + ((M31_2) * (conv_tmp_1543))) - + ((M31_1) * (conv_tmp_1549))) - + ((M31_32) * (conv_tmp_1550))) - - ((M31_4) * (conv_tmp_1571))); - let conv_mod_tmp_1606 = (((((M31_0) + ((M31_2) * (conv_tmp_1544))) - + ((M31_1) * (conv_tmp_1550))) - + ((M31_32) * (conv_tmp_1551))) - - ((M31_4) * (conv_tmp_1572))); - let conv_mod_tmp_1607 = (((((M31_0) + ((M31_2) * (conv_tmp_1545))) - + ((M31_1) * (conv_tmp_1551))) - + ((M31_32) * (conv_tmp_1552))) - - ((M31_4) * (conv_tmp_1573))); - let conv_mod_tmp_1608 = (((((M31_0) + ((M31_2) * (conv_tmp_1546))) - + ((M31_1) * (conv_tmp_1552))) - + ((M31_32) * (conv_tmp_1553))) - - ((M31_4) * (conv_tmp_1574))); - let conv_mod_tmp_1609 = (((((M31_0) + ((M31_2) * (conv_tmp_1547))) - + ((M31_1) * (conv_tmp_1553))) - + ((M31_32) * (conv_tmp_1554))) - - ((M31_4) * (conv_tmp_1575))); - let conv_mod_tmp_1610 = (((((M31_0) + ((M31_2) * (conv_tmp_1548))) - + ((M31_1) * (conv_tmp_1554))) - + ((M31_32) * (conv_tmp_1555))) - - ((M31_4) * (conv_tmp_1576))); - let conv_mod_tmp_1611 = (((((M31_0) + ((M31_2) * (conv_tmp_1549))) - + ((M31_1) * (conv_tmp_1555))) - + ((M31_32) * (conv_tmp_1556))) - - ((M31_4) * (conv_tmp_1577))); - let conv_mod_tmp_1612 = (((((M31_0) + ((M31_2) * (conv_tmp_1550))) - + ((M31_1) * (conv_tmp_1556))) - + ((M31_32) * (conv_tmp_1557))) - - ((M31_4) * (conv_tmp_1578))); - let conv_mod_tmp_1613 = (((((M31_0) + ((M31_2) * (conv_tmp_1551))) - + ((M31_1) * (conv_tmp_1557))) - + ((M31_32) * (conv_tmp_1558))) - - ((M31_4) * (conv_tmp_1579))); - let conv_mod_tmp_1614 = (((((M31_0) + ((M31_2) * (conv_tmp_1552))) - + ((M31_1) * (conv_tmp_1558))) - + ((M31_32) * (conv_tmp_1559))) - - ((M31_4) * (conv_tmp_1580))); - let conv_mod_tmp_1615 = (((((M31_0) + ((M31_2) * (conv_tmp_1553))) - + ((M31_1) * (conv_tmp_1559))) - + ((M31_32) * (conv_tmp_1560))) - - ((M31_4) * (conv_tmp_1581))); - let conv_mod_tmp_1616 = (((((M31_0) + ((M31_2) * (conv_tmp_1554))) - + ((M31_1) * (conv_tmp_1560))) - + ((M31_32) * (conv_tmp_1561))) - - ((M31_4) * (conv_tmp_1582))); - let conv_mod_tmp_1617 = (((((M31_0) + ((M31_2) * (conv_tmp_1555))) - + ((M31_1) * (conv_tmp_1561))) - + ((M31_32) * (conv_tmp_1562))) - - ((M31_4) * (conv_tmp_1583))); - let conv_mod_tmp_1618 = (((((M31_0) + ((M31_2) * (conv_tmp_1556))) - + ((M31_1) * (conv_tmp_1562))) - + ((M31_32) * (conv_tmp_1563))) - - ((M31_4) * (conv_tmp_1584))); - let conv_mod_tmp_1619 = (((((M31_0) + ((M31_2) * (conv_tmp_1557))) - + ((M31_1) * (conv_tmp_1563))) - - ((M31_4) * (conv_tmp_1585))) - + ((M31_64) * (conv_tmp_1592))); - let conv_mod_tmp_1620 = (((((M31_0) + ((M31_2) * (conv_tmp_1558))) - - ((M31_4) * (conv_tmp_1586))) - + ((M31_2) * (conv_tmp_1592))) - + ((M31_64) * (conv_tmp_1593))); - let conv_mod_tmp_1621 = (((((M31_0) + ((M31_2) * (conv_tmp_1559))) - - ((M31_4) * (conv_tmp_1587))) - + ((M31_2) * (conv_tmp_1593))) - + ((M31_64) * (conv_tmp_1594))); - let conv_mod_tmp_1622 = (((((M31_0) + ((M31_2) * (conv_tmp_1560))) - - ((M31_4) * (conv_tmp_1588))) - + ((M31_2) * (conv_tmp_1594))) - + ((M31_64) * (conv_tmp_1595))); - let conv_mod_tmp_1623 = (((((M31_0) + ((M31_2) * (conv_tmp_1561))) - - ((M31_4) * (conv_tmp_1589))) - + ((M31_2) * (conv_tmp_1595))) - + ((M31_64) * (conv_tmp_1596))); - let conv_mod_tmp_1624 = (((((M31_0) + ((M31_2) * (conv_tmp_1562))) - - ((M31_4) * (conv_tmp_1590))) - + ((M31_2) * (conv_tmp_1596))) - + ((M31_64) * (conv_tmp_1597))); - let conv_mod_tmp_1625 = ((((M31_0) + ((M31_2) * (conv_tmp_1563))) - - ((M31_4) * (conv_tmp_1591))) - + ((M31_2) * (conv_tmp_1597))); - let k_mod_2_18_biased_tmp_1626 = - ((((PackedUInt32::from_m31(((conv_mod_tmp_1598) + (M31_134217728)))) - + (((PackedUInt32::from_m31(((conv_mod_tmp_1599) + (M31_134217728)))) + let conv_tmp_31b3_68 = ((M31_0) + ((op0_limb_27_col65) * (op1_limb_27_col94))); + let conv_mod_tmp_31b3_69 = ((((M31_0) + ((M31_32) * (conv_tmp_31b3_14))) + - ((M31_4) * (conv_tmp_31b3_35))) + + ((M31_8) * (conv_tmp_31b3_63))); + let conv_mod_tmp_31b3_70 = (((((M31_0) + ((M31_1) * (conv_tmp_31b3_14))) + + ((M31_32) * (conv_tmp_31b3_15))) + - ((M31_4) * (conv_tmp_31b3_36))) + + ((M31_8) * (conv_tmp_31b3_64))); + let conv_mod_tmp_31b3_71 = (((((M31_0) + ((M31_1) * (conv_tmp_31b3_15))) + + ((M31_32) * (conv_tmp_31b3_16))) + - ((M31_4) * (conv_tmp_31b3_37))) + + ((M31_8) * (conv_tmp_31b3_65))); + let conv_mod_tmp_31b3_72 = (((((M31_0) + ((M31_1) * (conv_tmp_31b3_16))) + + ((M31_32) * (conv_tmp_31b3_17))) + - ((M31_4) * (conv_tmp_31b3_38))) + + ((M31_8) * (conv_tmp_31b3_66))); + let conv_mod_tmp_31b3_73 = (((((M31_0) + ((M31_1) * (conv_tmp_31b3_17))) + + ((M31_32) * (conv_tmp_31b3_18))) + - ((M31_4) * (conv_tmp_31b3_39))) + + ((M31_8) * (conv_tmp_31b3_67))); + let conv_mod_tmp_31b3_74 = (((((M31_0) + ((M31_1) * (conv_tmp_31b3_18))) + + ((M31_32) * (conv_tmp_31b3_19))) + - ((M31_4) * (conv_tmp_31b3_40))) + + ((M31_8) * (conv_tmp_31b3_68))); + let conv_mod_tmp_31b3_75 = ((((M31_0) + ((M31_1) * (conv_tmp_31b3_19))) + + ((M31_32) * (conv_tmp_31b3_20))) + - ((M31_4) * (conv_tmp_31b3_41))); + let conv_mod_tmp_31b3_76 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_14))) + + ((M31_1) * (conv_tmp_31b3_20))) + + ((M31_32) * (conv_tmp_31b3_21))) + - ((M31_4) * (conv_tmp_31b3_42))); + let conv_mod_tmp_31b3_77 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_15))) + + ((M31_1) * (conv_tmp_31b3_21))) + + ((M31_32) * (conv_tmp_31b3_22))) + - ((M31_4) * (conv_tmp_31b3_43))); + let conv_mod_tmp_31b3_78 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_16))) + + ((M31_1) * (conv_tmp_31b3_22))) + + ((M31_32) * (conv_tmp_31b3_23))) + - ((M31_4) * (conv_tmp_31b3_44))); + let conv_mod_tmp_31b3_79 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_17))) + + ((M31_1) * (conv_tmp_31b3_23))) + + ((M31_32) * (conv_tmp_31b3_24))) + - ((M31_4) * (conv_tmp_31b3_45))); + let conv_mod_tmp_31b3_80 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_18))) + + ((M31_1) * (conv_tmp_31b3_24))) + + ((M31_32) * (conv_tmp_31b3_25))) + - ((M31_4) * (conv_tmp_31b3_46))); + let conv_mod_tmp_31b3_81 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_19))) + + ((M31_1) * (conv_tmp_31b3_25))) + + ((M31_32) * (conv_tmp_31b3_26))) + - ((M31_4) * (conv_tmp_31b3_47))); + let conv_mod_tmp_31b3_82 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_20))) + + ((M31_1) * (conv_tmp_31b3_26))) + + ((M31_32) * (conv_tmp_31b3_27))) + - ((M31_4) * (conv_tmp_31b3_48))); + let conv_mod_tmp_31b3_83 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_21))) + + ((M31_1) * (conv_tmp_31b3_27))) + + ((M31_32) * (conv_tmp_31b3_28))) + - ((M31_4) * (conv_tmp_31b3_49))); + let conv_mod_tmp_31b3_84 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_22))) + + ((M31_1) * (conv_tmp_31b3_28))) + + ((M31_32) * (conv_tmp_31b3_29))) + - ((M31_4) * (conv_tmp_31b3_50))); + let conv_mod_tmp_31b3_85 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_23))) + + ((M31_1) * (conv_tmp_31b3_29))) + + ((M31_32) * (conv_tmp_31b3_30))) + - ((M31_4) * (conv_tmp_31b3_51))); + let conv_mod_tmp_31b3_86 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_24))) + + ((M31_1) * (conv_tmp_31b3_30))) + + ((M31_32) * (conv_tmp_31b3_31))) + - ((M31_4) * (conv_tmp_31b3_52))); + let conv_mod_tmp_31b3_87 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_25))) + + ((M31_1) * (conv_tmp_31b3_31))) + + ((M31_32) * (conv_tmp_31b3_32))) + - ((M31_4) * (conv_tmp_31b3_53))); + let conv_mod_tmp_31b3_88 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_26))) + + ((M31_1) * (conv_tmp_31b3_32))) + + ((M31_32) * (conv_tmp_31b3_33))) + - ((M31_4) * (conv_tmp_31b3_54))); + let conv_mod_tmp_31b3_89 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_27))) + + ((M31_1) * (conv_tmp_31b3_33))) + + ((M31_32) * (conv_tmp_31b3_34))) + - ((M31_4) * (conv_tmp_31b3_55))); + let conv_mod_tmp_31b3_90 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_28))) + + ((M31_1) * (conv_tmp_31b3_34))) + - ((M31_4) * (conv_tmp_31b3_56))) + + ((M31_64) * (conv_tmp_31b3_63))); + let conv_mod_tmp_31b3_91 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_29))) + - ((M31_4) * (conv_tmp_31b3_57))) + + ((M31_2) * (conv_tmp_31b3_63))) + + ((M31_64) * (conv_tmp_31b3_64))); + let conv_mod_tmp_31b3_92 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_30))) + - ((M31_4) * (conv_tmp_31b3_58))) + + ((M31_2) * (conv_tmp_31b3_64))) + + ((M31_64) * (conv_tmp_31b3_65))); + let conv_mod_tmp_31b3_93 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_31))) + - ((M31_4) * (conv_tmp_31b3_59))) + + ((M31_2) * (conv_tmp_31b3_65))) + + ((M31_64) * (conv_tmp_31b3_66))); + let conv_mod_tmp_31b3_94 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_32))) + - ((M31_4) * (conv_tmp_31b3_60))) + + ((M31_2) * (conv_tmp_31b3_66))) + + ((M31_64) * (conv_tmp_31b3_67))); + let conv_mod_tmp_31b3_95 = (((((M31_0) + ((M31_2) * (conv_tmp_31b3_33))) + - ((M31_4) * (conv_tmp_31b3_61))) + + ((M31_2) * (conv_tmp_31b3_67))) + + ((M31_64) * (conv_tmp_31b3_68))); + let conv_mod_tmp_31b3_96 = ((((M31_0) + ((M31_2) * (conv_tmp_31b3_34))) + - ((M31_4) * (conv_tmp_31b3_62))) + + ((M31_2) * (conv_tmp_31b3_68))); + let k_mod_2_18_biased_tmp_31b3_97 = + ((((PackedUInt32::from_m31(((conv_mod_tmp_31b3_69) + (M31_134217728)))) + + (((PackedUInt32::from_m31(((conv_mod_tmp_31b3_70) + (M31_134217728)))) & (UInt32_511)) << (UInt32_9))) + (UInt32_65536)) & (UInt32_262143)); - let k_col95 = ((k_mod_2_18_biased_tmp_1626.low().as_m31()) - + (((k_mod_2_18_biased_tmp_1626.high().as_m31()) - (M31_1)) * (M31_65536))); + let k_col95 = ((k_mod_2_18_biased_tmp_31b3_97.low().as_m31()) + + (((k_mod_2_18_biased_tmp_31b3_97.high().as_m31()) - (M31_1)) * (M31_65536))); trace[95].data[row_index] = k_col95; sub_components_inputs.range_check_19_inputs[0] @@ -1651,154 +1655,154 @@ pub fn write_trace_simd( lookup_data.rangecheck_19[0].push([((k_col95) + (M31_262144))]); let carry_0_col96 = - ((((conv_mod_tmp_1598) - ((M31_1) * (k_col95))) + (M31_0)) * (M31_4194304)); + ((((conv_mod_tmp_31b3_69) - ((M31_1) * (k_col95))) + (M31_0)) * (M31_4194304)); trace[96].data[row_index] = carry_0_col96; sub_components_inputs.range_check_19_inputs[1] .extend([((carry_0_col96) + (M31_131072))].unpack()); lookup_data.rangecheck_19[1].push([((carry_0_col96) + (M31_131072))]); - let carry_1_col97 = (((conv_mod_tmp_1599) + (carry_0_col96)) * (M31_4194304)); + let carry_1_col97 = (((conv_mod_tmp_31b3_70) + (carry_0_col96)) * (M31_4194304)); trace[97].data[row_index] = carry_1_col97; sub_components_inputs.range_check_19_inputs[2] .extend([((carry_1_col97) + (M31_131072))].unpack()); lookup_data.rangecheck_19[2].push([((carry_1_col97) + (M31_131072))]); - let carry_2_col98 = (((conv_mod_tmp_1600) + (carry_1_col97)) * (M31_4194304)); + let carry_2_col98 = (((conv_mod_tmp_31b3_71) + (carry_1_col97)) * (M31_4194304)); trace[98].data[row_index] = carry_2_col98; sub_components_inputs.range_check_19_inputs[3] .extend([((carry_2_col98) + (M31_131072))].unpack()); lookup_data.rangecheck_19[3].push([((carry_2_col98) + (M31_131072))]); - let carry_3_col99 = (((conv_mod_tmp_1601) + (carry_2_col98)) * (M31_4194304)); + let carry_3_col99 = (((conv_mod_tmp_31b3_72) + (carry_2_col98)) * (M31_4194304)); trace[99].data[row_index] = carry_3_col99; sub_components_inputs.range_check_19_inputs[4] .extend([((carry_3_col99) + (M31_131072))].unpack()); lookup_data.rangecheck_19[4].push([((carry_3_col99) + (M31_131072))]); - let carry_4_col100 = (((conv_mod_tmp_1602) + (carry_3_col99)) * (M31_4194304)); + let carry_4_col100 = (((conv_mod_tmp_31b3_73) + (carry_3_col99)) * (M31_4194304)); trace[100].data[row_index] = carry_4_col100; sub_components_inputs.range_check_19_inputs[5] .extend([((carry_4_col100) + (M31_131072))].unpack()); lookup_data.rangecheck_19[5].push([((carry_4_col100) + (M31_131072))]); - let carry_5_col101 = (((conv_mod_tmp_1603) + (carry_4_col100)) * (M31_4194304)); + let carry_5_col101 = (((conv_mod_tmp_31b3_74) + (carry_4_col100)) * (M31_4194304)); trace[101].data[row_index] = carry_5_col101; sub_components_inputs.range_check_19_inputs[6] .extend([((carry_5_col101) + (M31_131072))].unpack()); lookup_data.rangecheck_19[6].push([((carry_5_col101) + (M31_131072))]); - let carry_6_col102 = (((conv_mod_tmp_1604) + (carry_5_col101)) * (M31_4194304)); + let carry_6_col102 = (((conv_mod_tmp_31b3_75) + (carry_5_col101)) * (M31_4194304)); trace[102].data[row_index] = carry_6_col102; sub_components_inputs.range_check_19_inputs[7] .extend([((carry_6_col102) + (M31_131072))].unpack()); lookup_data.rangecheck_19[7].push([((carry_6_col102) + (M31_131072))]); - let carry_7_col103 = (((conv_mod_tmp_1605) + (carry_6_col102)) * (M31_4194304)); + let carry_7_col103 = (((conv_mod_tmp_31b3_76) + (carry_6_col102)) * (M31_4194304)); trace[103].data[row_index] = carry_7_col103; sub_components_inputs.range_check_19_inputs[8] .extend([((carry_7_col103) + (M31_131072))].unpack()); lookup_data.rangecheck_19[8].push([((carry_7_col103) + (M31_131072))]); - let carry_8_col104 = (((conv_mod_tmp_1606) + (carry_7_col103)) * (M31_4194304)); + let carry_8_col104 = (((conv_mod_tmp_31b3_77) + (carry_7_col103)) * (M31_4194304)); trace[104].data[row_index] = carry_8_col104; sub_components_inputs.range_check_19_inputs[9] .extend([((carry_8_col104) + (M31_131072))].unpack()); lookup_data.rangecheck_19[9].push([((carry_8_col104) + (M31_131072))]); - let carry_9_col105 = (((conv_mod_tmp_1607) + (carry_8_col104)) * (M31_4194304)); + let carry_9_col105 = (((conv_mod_tmp_31b3_78) + (carry_8_col104)) * (M31_4194304)); trace[105].data[row_index] = carry_9_col105; sub_components_inputs.range_check_19_inputs[10] .extend([((carry_9_col105) + (M31_131072))].unpack()); lookup_data.rangecheck_19[10].push([((carry_9_col105) + (M31_131072))]); - let carry_10_col106 = (((conv_mod_tmp_1608) + (carry_9_col105)) * (M31_4194304)); + let carry_10_col106 = (((conv_mod_tmp_31b3_79) + (carry_9_col105)) * (M31_4194304)); trace[106].data[row_index] = carry_10_col106; sub_components_inputs.range_check_19_inputs[11] .extend([((carry_10_col106) + (M31_131072))].unpack()); lookup_data.rangecheck_19[11].push([((carry_10_col106) + (M31_131072))]); - let carry_11_col107 = (((conv_mod_tmp_1609) + (carry_10_col106)) * (M31_4194304)); + let carry_11_col107 = (((conv_mod_tmp_31b3_80) + (carry_10_col106)) * (M31_4194304)); trace[107].data[row_index] = carry_11_col107; sub_components_inputs.range_check_19_inputs[12] .extend([((carry_11_col107) + (M31_131072))].unpack()); lookup_data.rangecheck_19[12].push([((carry_11_col107) + (M31_131072))]); - let carry_12_col108 = (((conv_mod_tmp_1610) + (carry_11_col107)) * (M31_4194304)); + let carry_12_col108 = (((conv_mod_tmp_31b3_81) + (carry_11_col107)) * (M31_4194304)); trace[108].data[row_index] = carry_12_col108; sub_components_inputs.range_check_19_inputs[13] .extend([((carry_12_col108) + (M31_131072))].unpack()); lookup_data.rangecheck_19[13].push([((carry_12_col108) + (M31_131072))]); - let carry_13_col109 = (((conv_mod_tmp_1611) + (carry_12_col108)) * (M31_4194304)); + let carry_13_col109 = (((conv_mod_tmp_31b3_82) + (carry_12_col108)) * (M31_4194304)); trace[109].data[row_index] = carry_13_col109; sub_components_inputs.range_check_19_inputs[14] .extend([((carry_13_col109) + (M31_131072))].unpack()); lookup_data.rangecheck_19[14].push([((carry_13_col109) + (M31_131072))]); - let carry_14_col110 = (((conv_mod_tmp_1612) + (carry_13_col109)) * (M31_4194304)); + let carry_14_col110 = (((conv_mod_tmp_31b3_83) + (carry_13_col109)) * (M31_4194304)); trace[110].data[row_index] = carry_14_col110; sub_components_inputs.range_check_19_inputs[15] .extend([((carry_14_col110) + (M31_131072))].unpack()); lookup_data.rangecheck_19[15].push([((carry_14_col110) + (M31_131072))]); - let carry_15_col111 = (((conv_mod_tmp_1613) + (carry_14_col110)) * (M31_4194304)); + let carry_15_col111 = (((conv_mod_tmp_31b3_84) + (carry_14_col110)) * (M31_4194304)); trace[111].data[row_index] = carry_15_col111; sub_components_inputs.range_check_19_inputs[16] .extend([((carry_15_col111) + (M31_131072))].unpack()); lookup_data.rangecheck_19[16].push([((carry_15_col111) + (M31_131072))]); - let carry_16_col112 = (((conv_mod_tmp_1614) + (carry_15_col111)) * (M31_4194304)); + let carry_16_col112 = (((conv_mod_tmp_31b3_85) + (carry_15_col111)) * (M31_4194304)); trace[112].data[row_index] = carry_16_col112; sub_components_inputs.range_check_19_inputs[17] .extend([((carry_16_col112) + (M31_131072))].unpack()); lookup_data.rangecheck_19[17].push([((carry_16_col112) + (M31_131072))]); - let carry_17_col113 = (((conv_mod_tmp_1615) + (carry_16_col112)) * (M31_4194304)); + let carry_17_col113 = (((conv_mod_tmp_31b3_86) + (carry_16_col112)) * (M31_4194304)); trace[113].data[row_index] = carry_17_col113; sub_components_inputs.range_check_19_inputs[18] .extend([((carry_17_col113) + (M31_131072))].unpack()); lookup_data.rangecheck_19[18].push([((carry_17_col113) + (M31_131072))]); - let carry_18_col114 = (((conv_mod_tmp_1616) + (carry_17_col113)) * (M31_4194304)); + let carry_18_col114 = (((conv_mod_tmp_31b3_87) + (carry_17_col113)) * (M31_4194304)); trace[114].data[row_index] = carry_18_col114; sub_components_inputs.range_check_19_inputs[19] .extend([((carry_18_col114) + (M31_131072))].unpack()); lookup_data.rangecheck_19[19].push([((carry_18_col114) + (M31_131072))]); - let carry_19_col115 = (((conv_mod_tmp_1617) + (carry_18_col114)) * (M31_4194304)); + let carry_19_col115 = (((conv_mod_tmp_31b3_88) + (carry_18_col114)) * (M31_4194304)); trace[115].data[row_index] = carry_19_col115; sub_components_inputs.range_check_19_inputs[20] .extend([((carry_19_col115) + (M31_131072))].unpack()); lookup_data.rangecheck_19[20].push([((carry_19_col115) + (M31_131072))]); - let carry_20_col116 = (((conv_mod_tmp_1618) + (carry_19_col115)) * (M31_4194304)); + let carry_20_col116 = (((conv_mod_tmp_31b3_89) + (carry_19_col115)) * (M31_4194304)); trace[116].data[row_index] = carry_20_col116; sub_components_inputs.range_check_19_inputs[21] .extend([((carry_20_col116) + (M31_131072))].unpack()); lookup_data.rangecheck_19[21].push([((carry_20_col116) + (M31_131072))]); - let carry_21_col117 = ((((conv_mod_tmp_1619) - ((M31_136) * (k_col95))) + let carry_21_col117 = ((((conv_mod_tmp_31b3_90) - ((M31_136) * (k_col95))) + (carry_20_col116)) * (M31_4194304)); trace[117].data[row_index] = carry_21_col117; @@ -1807,35 +1811,35 @@ pub fn write_trace_simd( .extend([((carry_21_col117) + (M31_131072))].unpack()); lookup_data.rangecheck_19[22].push([((carry_21_col117) + (M31_131072))]); - let carry_22_col118 = (((conv_mod_tmp_1620) + (carry_21_col117)) * (M31_4194304)); + let carry_22_col118 = (((conv_mod_tmp_31b3_91) + (carry_21_col117)) * (M31_4194304)); trace[118].data[row_index] = carry_22_col118; sub_components_inputs.range_check_19_inputs[23] .extend([((carry_22_col118) + (M31_131072))].unpack()); lookup_data.rangecheck_19[23].push([((carry_22_col118) + (M31_131072))]); - let carry_23_col119 = (((conv_mod_tmp_1621) + (carry_22_col118)) * (M31_4194304)); + let carry_23_col119 = (((conv_mod_tmp_31b3_92) + (carry_22_col118)) * (M31_4194304)); trace[119].data[row_index] = carry_23_col119; sub_components_inputs.range_check_19_inputs[24] .extend([((carry_23_col119) + (M31_131072))].unpack()); lookup_data.rangecheck_19[24].push([((carry_23_col119) + (M31_131072))]); - let carry_24_col120 = (((conv_mod_tmp_1622) + (carry_23_col119)) * (M31_4194304)); + let carry_24_col120 = (((conv_mod_tmp_31b3_93) + (carry_23_col119)) * (M31_4194304)); trace[120].data[row_index] = carry_24_col120; sub_components_inputs.range_check_19_inputs[25] .extend([((carry_24_col120) + (M31_131072))].unpack()); lookup_data.rangecheck_19[25].push([((carry_24_col120) + (M31_131072))]); - let carry_25_col121 = (((conv_mod_tmp_1623) + (carry_24_col120)) * (M31_4194304)); + let carry_25_col121 = (((conv_mod_tmp_31b3_94) + (carry_24_col120)) * (M31_4194304)); trace[121].data[row_index] = carry_25_col121; sub_components_inputs.range_check_19_inputs[26] .extend([((carry_25_col121) + (M31_131072))].unpack()); lookup_data.rangecheck_19[26].push([((carry_25_col121) + (M31_131072))]); - let carry_26_col122 = (((conv_mod_tmp_1624) + (carry_25_col121)) * (M31_4194304)); + let carry_26_col122 = (((conv_mod_tmp_31b3_95) + (carry_25_col121)) * (M31_4194304)); trace[122].data[row_index] = carry_26_col122; sub_components_inputs.range_check_19_inputs[27] diff --git a/stwo_cairo_prover/crates/prover/src/components/range_check_vector/component.rs b/stwo_cairo_prover/crates/prover/src/components/range_check_vector/component.rs index 22b10013..97c5943e 100644 --- a/stwo_cairo_prover/crates/prover/src/components/range_check_vector/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/range_check_vector/component.rs @@ -75,9 +75,9 @@ macro_rules! range_check_eval{ eval.next_trace_mask() ); let multiplicity = eval.next_trace_mask(); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.lookup_elements, E::EF::from(-multiplicity), &rc_values - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/ret_opcode/component.rs b/stwo_cairo_prover/crates/prover/src/components/ret_opcode/component.rs index a739ed46..85d53fd1 100644 --- a/stwo_cairo_prover/crates/prover/src/components/ret_opcode/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/ret_opcode/component.rs @@ -94,9 +94,9 @@ impl FrameworkEval for Eval { let next_fp_limb_1_col9 = eval.next_trace_mask(); let next_fp_limb_2_col10 = eval.next_trace_mask(); - // decode_instruction_c94bba24192ecf68. + // DecodeInstruction_c94bba24192ecf68. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::one(), &[ @@ -119,20 +119,20 @@ impl FrameworkEval for Eval { M31_0.clone(), M31_1.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_fp_col2.clone() - M31_1.clone()), next_pc_id_col3.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -141,20 +141,20 @@ impl FrameworkEval for Eval { next_pc_limb_1_col5.clone(), next_pc_limb_2_col6.clone(), ], - )]); + )); - // read_positive_num_bits_27. + // ReadPositive_num_bits_27. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[ (input_fp_col2.clone() - M31_2.clone()), next_fp_id_col7.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -163,9 +163,9 @@ impl FrameworkEval for Eval { next_fp_limb_1_col9.clone(), next_fp_limb_2_col10.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, E::EF::one(), &[ @@ -173,9 +173,9 @@ impl FrameworkEval for Eval { input_ap_col1.clone(), input_fp_col2.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.opcodes_lookup_elements, -E::EF::one(), &[ @@ -185,7 +185,7 @@ impl FrameworkEval for Eval { ((next_fp_limb_0_col8.clone() + (next_fp_limb_1_col9.clone() * M31_512.clone())) + (next_fp_limb_2_col10.clone() * M31_262144.clone())), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/components/ret_opcode/prover.rs b/stwo_cairo_prover/crates/prover/src/components/ret_opcode/prover.rs index 10971535..a956ee65 100644 --- a/stwo_cairo_prover/crates/prover/src/components/ret_opcode/prover.rs +++ b/stwo_cairo_prover/crates/prover/src/components/ret_opcode/prover.rs @@ -1,9 +1,14 @@ #![allow(unused_parens)] #![allow(unused_imports)] +use std::cell::UnsafeCell; +use std::sync::Arc; + use itertools::{chain, zip_eq, Itertools}; use num_traits::{One, Zero}; use prover_types::cpu::*; use prover_types::simd::*; +#[cfg(feature = "parallel")] +use rayon::prelude::*; use stwo_prover::constraint_framework::logup::LogupTraceGenerator; use stwo_prover::constraint_framework::Relation; use stwo_prover::core::air::Component; @@ -21,7 +26,9 @@ use stwo_prover::core::utils::bit_reverse_coset_to_circle_domain_order; use stwo_prover::core::vcs::blake2_merkle::{Blake2sMerkleChannel, Blake2sMerkleHasher}; use super::component::{Claim, InteractionClaim}; -use crate::components::{memory_address_to_id, memory_id_to_big, pack_values, verify_instruction}; +use crate::components::{ + memory_address_to_id, memory_id_to_big, pack_values, verify_instruction, ThreadSafeTrace, +}; use crate::relations; pub type InputType = CasmState; @@ -66,21 +73,21 @@ impl ClaimGenerator { } sub_components_inputs .memory_address_to_id_inputs - .iter() + .iter_mut() .for_each(|inputs| { - memory_address_to_id_state.add_inputs(&inputs[..n_calls]); + memory_address_to_id_state.add_inputs(&inputs.get_mut()[..n_calls]); }); sub_components_inputs .memory_id_to_big_inputs - .iter() + .iter_mut() .for_each(|inputs| { - memory_id_to_big_state.add_inputs(&inputs[..n_calls]); + memory_id_to_big_state.add_inputs(&inputs.get_mut()[..n_calls]); }); sub_components_inputs .verify_instruction_inputs - .iter() + .iter_mut() .for_each(|inputs| { - verify_instruction_state.add_inputs(&inputs[..n_calls]); + verify_instruction_state.add_inputs(&inputs.get_mut()[..n_calls]); }); tree_builder.extend_evals( @@ -113,36 +120,64 @@ impl ClaimGenerator { } pub struct SubComponentInputs { - pub memory_address_to_id_inputs: [Vec; 2], - pub memory_id_to_big_inputs: [Vec; 2], - pub verify_instruction_inputs: [Vec; 1], + pub memory_address_to_id_inputs: [UnsafeCell>; 2], + pub memory_id_to_big_inputs: [UnsafeCell>; 2], + pub verify_instruction_inputs: [UnsafeCell>; 1], } + impl SubComponentInputs { #[allow(unused_variables)] - fn with_capacity(capacity: usize) -> Self { - Self { + unsafe fn uninitialized(len: usize) -> Self { + let sub_component_inputs = Self { memory_address_to_id_inputs: [ - Vec::with_capacity(capacity), - Vec::with_capacity(capacity), + Vec::with_capacity(len).into(), + Vec::with_capacity(len).into(), + ], + memory_id_to_big_inputs: [ + Vec::with_capacity(len).into(), + Vec::with_capacity(len).into(), ], - memory_id_to_big_inputs: [Vec::with_capacity(capacity), Vec::with_capacity(capacity)], - verify_instruction_inputs: [Vec::with_capacity(capacity)], + verify_instruction_inputs: [Vec::with_capacity(len).into()], + }; + unsafe { + sub_component_inputs + .memory_address_to_id_inputs + .iter() + .for_each(|vec| { + (*vec.get()).set_len(len); + }); + sub_component_inputs + .memory_id_to_big_inputs + .iter() + .for_each(|vec| { + (*vec.get()).set_len(len); + }); + sub_component_inputs + .verify_instruction_inputs + .iter() + .for_each(|vec| { + (*vec.get()).set_len(len); + }); } + sub_component_inputs } fn bit_reverse_coset_to_circle_domain_order(&mut self) { self.memory_address_to_id_inputs .iter_mut() - .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); + .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec.get_mut())); self.memory_id_to_big_inputs .iter_mut() - .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); + .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec.get_mut())); self.verify_instruction_inputs .iter_mut() - .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec)); + .for_each(|vec| bit_reverse_coset_to_circle_domain_order(vec.get_mut())); } } +unsafe impl Send for SubComponentInputs {} +unsafe impl Sync for SubComponentInputs {} + #[allow(clippy::useless_conversion)] #[allow(unused_variables)] #[allow(clippy::double_parens)] @@ -157,12 +192,11 @@ pub fn write_trace_simd( LookupData, ) { const N_TRACE_COLUMNS: usize = 11; - let mut trace: [_; N_TRACE_COLUMNS] = - std::array::from_fn(|_| Col::::zeros(inputs.len() * N_LANES)); - - let mut lookup_data = LookupData::with_capacity(inputs.len()); - #[allow(unused_mut)] - let mut sub_components_inputs = SubComponentInputs::with_capacity(inputs.len()); + let len = inputs.len(); + let cpu_len = len * N_LANES; + let trace = Arc::new(ThreadSafeTrace::::new(cpu_len)); + let lookup_data = Arc::new(unsafe { LookupData::uninitialized(len) }); + let sub_components_inputs = Arc::new(unsafe { SubComponentInputs::uninitialized(cpu_len) }); let M31_0 = PackedM31::broadcast(M31::from(0)); let M31_1 = PackedM31::broadcast(M31::from(1)); @@ -172,17 +206,21 @@ pub fn write_trace_simd( let M31_32767 = PackedM31::broadcast(M31::from(32767)); let M31_512 = PackedM31::broadcast(M31::from(512)); - inputs - .into_iter() - .enumerate() - .for_each(|(row_index, ret_opcode_input)| { + #[cfg(not(feature = "parallel"))] + let iter = inputs.into_iter().enumerate(); + + #[cfg(feature = "parallel")] + let iter = inputs.into_par_iter().enumerate(); + + iter.for_each(|(row_index, ret_opcode_input)| { + unsafe { let input_tmp_1655 = ret_opcode_input; let input_pc_col0 = input_tmp_1655.pc; - trace[0].data[row_index] = input_pc_col0; + (*trace.data[0].get()).data[row_index] = input_pc_col0; let input_ap_col1 = input_tmp_1655.ap; - trace[1].data[row_index] = input_ap_col1; + (*trace.data[1].get()).data[row_index] = input_ap_col1; let input_fp_col2 = input_tmp_1655.fp; - trace[2].data[row_index] = input_fp_col2; + (*trace.data[2].get()).data[row_index] = input_fp_col2; // decode_instruction_c94bba24192ecf68. @@ -191,19 +229,21 @@ pub fn write_trace_simd( let memory_id_to_big_value_tmp_1660 = memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1659); - sub_components_inputs.verify_instruction_inputs[0].extend( - ( - input_pc_col0, - [M31_32766, M31_32767, M31_32767], - [ - M31_1, M31_1, M31_0, M31_1, M31_0, M31_0, M31_0, M31_1, M31_0, M31_0, - M31_0, M31_0, M31_0, M31_1, M31_0, - ], - ) - .unpack(), - ); - - lookup_data.verifyinstruction[0].push([ + (*sub_components_inputs.verify_instruction_inputs[0].get()) + [row_index * N_LANES..(row_index + 1) * N_LANES] + .copy_from_slice( + &( + input_pc_col0, + [M31_32766, M31_32767, M31_32767], + [ + M31_1, M31_1, M31_0, M31_1, M31_0, M31_0, M31_0, M31_1, M31_0, M31_0, + M31_0, M31_0, M31_0, M31_1, M31_0, + ], + ) + .unpack(), + ); + + (*lookup_data.verifyinstruction[0].get())[row_index] = ([ input_pc_col0, M31_32766, M31_32767, @@ -232,20 +272,24 @@ pub fn write_trace_simd( let memory_id_to_big_value_tmp_1663 = memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1662); let next_pc_id_col3 = memory_address_to_id_value_tmp_1662; - trace[3].data[row_index] = next_pc_id_col3; - sub_components_inputs.memory_address_to_id_inputs[0] - .extend(((input_fp_col2) - (M31_1)).unpack()); + (*trace.data[3].get()).data[row_index] = next_pc_id_col3; + (*sub_components_inputs.memory_address_to_id_inputs[0].get()) + [row_index * N_LANES..(row_index + 1) * N_LANES] + .copy_from_slice(&((input_fp_col2) - (M31_1)).unpack()); - lookup_data.memoryaddresstoid[0].push([((input_fp_col2) - (M31_1)), next_pc_id_col3]); + (*lookup_data.memoryaddresstoid[0].get())[row_index] = + ([((input_fp_col2) - (M31_1)), next_pc_id_col3]); let next_pc_limb_0_col4 = memory_id_to_big_value_tmp_1663.get_m31(0); - trace[4].data[row_index] = next_pc_limb_0_col4; + (*trace.data[4].get()).data[row_index] = next_pc_limb_0_col4; let next_pc_limb_1_col5 = memory_id_to_big_value_tmp_1663.get_m31(1); - trace[5].data[row_index] = next_pc_limb_1_col5; + (*trace.data[5].get()).data[row_index] = next_pc_limb_1_col5; let next_pc_limb_2_col6 = memory_id_to_big_value_tmp_1663.get_m31(2); - trace[6].data[row_index] = next_pc_limb_2_col6; - sub_components_inputs.memory_id_to_big_inputs[0].extend(next_pc_id_col3.unpack()); + (*trace.data[6].get()).data[row_index] = next_pc_limb_2_col6; + (*sub_components_inputs.memory_id_to_big_inputs[0].get()) + [row_index * N_LANES..(row_index + 1) * N_LANES] + .copy_from_slice(&next_pc_id_col3.unpack()); - lookup_data.memoryidtobig[0].push([ + (*lookup_data.memoryidtobig[0].get())[row_index] = ([ next_pc_id_col3, next_pc_limb_0_col4, next_pc_limb_1_col5, @@ -284,20 +328,24 @@ pub fn write_trace_simd( let memory_id_to_big_value_tmp_1665 = memory_id_to_big_state.deduce_output(memory_address_to_id_value_tmp_1664); let next_fp_id_col7 = memory_address_to_id_value_tmp_1664; - trace[7].data[row_index] = next_fp_id_col7; - sub_components_inputs.memory_address_to_id_inputs[1] - .extend(((input_fp_col2) - (M31_2)).unpack()); + (*trace.data[7].get()).data[row_index] = next_fp_id_col7; + (*sub_components_inputs.memory_address_to_id_inputs[1].get()) + [row_index * N_LANES..(row_index + 1) * N_LANES] + .copy_from_slice(&((input_fp_col2) - (M31_2)).unpack()); - lookup_data.memoryaddresstoid[1].push([((input_fp_col2) - (M31_2)), next_fp_id_col7]); + (*lookup_data.memoryaddresstoid[1].get())[row_index] = + ([((input_fp_col2) - (M31_2)), next_fp_id_col7]); let next_fp_limb_0_col8 = memory_id_to_big_value_tmp_1665.get_m31(0); - trace[8].data[row_index] = next_fp_limb_0_col8; + (*trace.data[8].get()).data[row_index] = next_fp_limb_0_col8; let next_fp_limb_1_col9 = memory_id_to_big_value_tmp_1665.get_m31(1); - trace[9].data[row_index] = next_fp_limb_1_col9; + (*trace.data[9].get()).data[row_index] = next_fp_limb_1_col9; let next_fp_limb_2_col10 = memory_id_to_big_value_tmp_1665.get_m31(2); - trace[10].data[row_index] = next_fp_limb_2_col10; - sub_components_inputs.memory_id_to_big_inputs[1].extend(next_fp_id_col7.unpack()); + (*trace.data[10].get()).data[row_index] = next_fp_limb_2_col10; + (*sub_components_inputs.memory_id_to_big_inputs[1].get()) + [row_index * N_LANES..(row_index + 1) * N_LANES] + .copy_from_slice(&next_fp_id_col7.unpack()); - lookup_data.memoryidtobig[1].push([ + (*lookup_data.memoryidtobig[1].get())[row_index] = [ next_fp_id_col7, next_fp_limb_0_col8, next_fp_limb_1_col9, @@ -327,38 +375,79 @@ pub fn write_trace_simd( M31_0, M31_0, M31_0, - ]); + ]; - lookup_data.opcodes[0].push([input_pc_col0, input_ap_col1, input_fp_col2]); - lookup_data.opcodes[1].push([ + (*lookup_data.opcodes[0].get())[row_index] = + ([input_pc_col0, input_ap_col1, input_fp_col2]); + (*lookup_data.opcodes[1].get())[row_index] = ([ (((next_pc_limb_0_col4) + ((next_pc_limb_1_col5) * (M31_512))) + ((next_pc_limb_2_col6) * (M31_262144))), input_ap_col1, (((next_fp_limb_0_col8) + ((next_fp_limb_1_col9) * (M31_512))) + ((next_fp_limb_2_col10) * (M31_262144))), ]); - }); - + } + }); + + let trace = match Arc::try_unwrap(trace) { + Ok(trace) => trace.inner(), + Err(_) => panic!("could not unwrap trace"), + }; + let sub_components_inputs = match Arc::try_unwrap(sub_components_inputs) { + Ok(sub_components_inputs) => sub_components_inputs, + Err(_) => panic!("could not unwrap sub_components_inputs"), + }; + let lookup_data = match Arc::try_unwrap(lookup_data) { + Ok(lookup_data) => lookup_data, + Err(_) => panic!("could not unwrap lookup_data"), + }; (trace, sub_components_inputs, lookup_data) } pub struct LookupData { - pub memoryaddresstoid: [Vec<[PackedM31; 2]>; 2], - pub memoryidtobig: [Vec<[PackedM31; 29]>; 2], - pub opcodes: [Vec<[PackedM31; 3]>; 2], - pub verifyinstruction: [Vec<[PackedM31; 19]>; 1], + pub memoryaddresstoid: [UnsafeCell>; 2], + pub memoryidtobig: [UnsafeCell>; 2], + pub opcodes: [UnsafeCell>; 2], + pub verifyinstruction: [UnsafeCell>; 1], } impl LookupData { #[allow(unused_variables)] - fn with_capacity(capacity: usize) -> Self { - Self { - memoryaddresstoid: [Vec::with_capacity(capacity), Vec::with_capacity(capacity)], - memoryidtobig: [Vec::with_capacity(capacity), Vec::with_capacity(capacity)], - opcodes: [Vec::with_capacity(capacity), Vec::with_capacity(capacity)], - verifyinstruction: [Vec::with_capacity(capacity)], + unsafe fn uninitialized(len: usize) -> Self { + let lookup_data = Self { + memoryaddresstoid: [ + Vec::with_capacity(len).into(), + Vec::with_capacity(len).into(), + ], + memoryidtobig: [ + Vec::with_capacity(len).into(), + Vec::with_capacity(len).into(), + ], + opcodes: [ + Vec::with_capacity(len).into(), + Vec::with_capacity(len).into(), + ], + verifyinstruction: [Vec::with_capacity(len).into()], + }; + unsafe { + lookup_data.memoryaddresstoid.iter().for_each(|vec| { + (*vec.get()).set_len(len); + }); + lookup_data.memoryidtobig.iter().for_each(|vec| { + (*vec.get()).set_len(len); + }); + lookup_data.opcodes.iter().for_each(|vec| { + (*vec.get()).set_len(len); + }); + lookup_data.verifyinstruction.iter().for_each(|vec| { + (*vec.get()).set_len(len); + }); } + + lookup_data } } +unsafe impl Send for LookupData {} +unsafe impl Sync for LookupData {} pub struct InteractionClaimGenerator { pub n_calls: usize, @@ -366,7 +455,7 @@ pub struct InteractionClaimGenerator { } impl InteractionClaimGenerator { pub fn write_interaction_trace( - self, + mut self, tree_builder: &mut TreeBuilder<'_, '_, SimdBackend, Blake2sMerkleChannel>, memoryaddresstoid_lookup_elements: &relations::MemoryAddressToId, memoryidtobig_lookup_elements: &relations::MemoryIdToBig, @@ -377,56 +466,56 @@ impl InteractionClaimGenerator { let mut logup_gen = LogupTraceGenerator::new(log_size); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.verifyinstruction[0]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.verifyinstruction[0]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = verifyinstruction_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.memoryaddresstoid[0]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.memoryaddresstoid[0]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = memoryaddresstoid_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.memoryidtobig[0]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.memoryidtobig[0]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = memoryidtobig_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.memoryaddresstoid[1]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.memoryaddresstoid[1]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = memoryaddresstoid_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.memoryidtobig[1]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.memoryidtobig[1]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = memoryidtobig_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.opcodes[0]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.opcodes[0]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = opcodes_lookup_elements.combine(lookup_values); col_gen.write_frac(i, PackedQM31::one(), denom); } col_gen.finalize_col(); let mut col_gen = logup_gen.new_col(); - let lookup_row = &self.lookup_data.opcodes[1]; - for (i, lookup_values) in lookup_row.iter().enumerate() { + let lookup_row = &mut self.lookup_data.opcodes[1]; + for (i, lookup_values) in lookup_row.get_mut().iter().enumerate() { let denom = opcodes_lookup_elements.combine(lookup_values); col_gen.write_frac(i, -PackedQM31::one(), denom); } diff --git a/stwo_cairo_prover/crates/prover/src/components/verify_instruction/component.rs b/stwo_cairo_prover/crates/prover/src/components/verify_instruction/component.rs index 7ddb24ef..df9471f3 100644 --- a/stwo_cairo_prover/crates/prover/src/components/verify_instruction/component.rs +++ b/stwo_cairo_prover/crates/prover/src/components/verify_instruction/component.rs @@ -137,7 +137,7 @@ impl FrameworkEval for Eval { + (offset2_high_col26.clone() * M31_8192.clone())) - input_col3.clone()), ); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_7_2_5_lookup_elements, E::EF::one(), &[ @@ -145,13 +145,13 @@ impl FrameworkEval for Eval { offset1_low_col21.clone(), offset1_high_col23.clone(), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.rangecheck_4_3_lookup_elements, E::EF::one(), &[offset2_low_col24.clone(), offset2_high_col26.clone()], - )]); + )); // encode_flags. @@ -188,13 +188,13 @@ impl FrameworkEval for Eval { // mem_verify. - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryaddresstoid_lookup_elements, E::EF::one(), &[input_col0.clone(), instruction_id_col27.clone()], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.memoryidtobig_lookup_elements, E::EF::one(), &[ @@ -221,9 +221,9 @@ impl FrameworkEval for Eval { + (input_col17.clone() * M31_128.clone())) + (input_col18.clone() * M31_256.clone())), ], - )]); + )); - eval.add_to_relation(&[RelationEntry::new( + eval.add_to_relation(RelationEntry::new( &self.verifyinstruction_lookup_elements, E::EF::from(-mult), &[ @@ -247,7 +247,7 @@ impl FrameworkEval for Eval { input_col17.clone(), input_col18.clone(), ], - )]); + )); eval.finalize_logup(); eval diff --git a/stwo_cairo_prover/crates/prover/src/input/vm_import/mod.rs b/stwo_cairo_prover/crates/prover/src/input/vm_import/mod.rs index 08f61600..54e5082f 100644 --- a/stwo_cairo_prover/crates/prover/src/input/vm_import/mod.rs +++ b/stwo_cairo_prover/crates/prover/src/input/vm_import/mod.rs @@ -131,7 +131,7 @@ pub mod tests { pub fn large_cairo_input() -> CairoInput { let mut d = PathBuf::from(env!("CARGO_MANIFEST_DIR")); - d.push("test_data/large_cairo_input"); + d.push("test_data/test_read_from_large_files"); import_from_vm_output(d.join("pub.json").as_path(), d.join("priv.json").as_path()).expect( " @@ -207,15 +207,14 @@ pub mod tests { .len(), 0 ); - assert_eq!(components.mul_opcode_is_small_t_is_imm_t.len(), 8996); - assert_eq!(components.mul_opcode_is_small_t_is_imm_f.len(), 6563); - assert_eq!(components.mul_opcode_is_small_f_is_imm_f.len(), 4583); - assert_eq!(components.mul_opcode_is_small_f_is_imm_t.len(), 9047); + assert_eq!(components.mul_opcode_is_small_t_is_imm_t.len(), 0); + assert_eq!(components.mul_opcode_is_small_t_is_imm_f.len(), 0); + assert_eq!(components.mul_opcode_is_small_f_is_imm_f.len(), 11146); + assert_eq!(components.mul_opcode_is_small_f_is_imm_t.len(), 18043); assert_eq!(components.ret_opcode.len(), 49472); } // When not ignored, the test passes only with dev_mod = false. - #[ignore] #[test] fn test_read_from_small_files() { let input = small_cairo_input(); diff --git a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/fact.json b/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/fact.json deleted file mode 100644 index d1bcae2f..00000000 --- a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/fact.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5d5f82af5dcee0c8ca35e78d0736bb7853983ae419be77a73612812a42dc179 -size 72 diff --git a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/mem b/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/mem deleted file mode 100644 index 662b422a..00000000 --- a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/mem +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a44a8436ae665b4a036fdec303c08d0c62b75d6ba7d029c8d0cea921746b676 -size 90049080 diff --git a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/priv.json b/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/priv.json deleted file mode 100644 index 1605de16..00000000 --- a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/priv.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:446250961d452ccccd9bab08cd2400fd26c76ce4a9e8fae7618ecc14922f559a -size 29278724 diff --git a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/pub.json b/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/pub.json deleted file mode 100644 index b632c7cf..00000000 --- a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/pub.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a59ecb57bb03f1382a37184be61b6eafeddb3c683c35ac4505c02f2b896d9ca -size 57085 diff --git a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/trace b/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/trace deleted file mode 100644 index b3ce597a..00000000 --- a/stwo_cairo_prover/crates/prover/test_data/large_cairo_input/trace +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6330415e78b9b0d98bea3ad1b22a5311eeba8fd596bfd08467ccec358ca27a44 -size 805306368 diff --git a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/mem b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/mem index 52e3f6bf..6b4ca6a0 100644 Binary files a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/mem and b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/mem differ diff --git a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/priv.json b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/priv.json index 2eff1d32..5c63ecf5 100644 --- a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/priv.json +++ b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/priv.json @@ -1,3 +1,2628 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d60ee898ac4bea17b765fe4b74844dc715a63d502cd6dbb4a92c5bf84a44e31d -size 79307 +{ + "trace_path": "trace", + "memory_path": "mem", + "pedersen": [ + { + "index": 0, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 1, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 2, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 3, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 4, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 5, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 6, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 7, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 8, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 9, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 10, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 11, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 12, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 13, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 14, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 15, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 16, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 17, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 18, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 19, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 20, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 21, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 22, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 23, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 24, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 25, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 26, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 27, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 28, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 29, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 30, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 31, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 32, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 33, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 34, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 35, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 36, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 37, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 38, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 39, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 40, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 41, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 42, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 43, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 44, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 45, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 46, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 47, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 48, + "x": "0x7d0", + "y": "0xbb8" + }, + { + "index": 49, + "x": "0x7d0", + "y": "0xbb8" + } + ], + "range_check": [ + { + "index": 0, + "value": "0x32" + }, + { + "index": 1, + "value": "0x31" + }, + { + "index": 2, + "value": "0x30" + }, + { + "index": 3, + "value": "0x2f" + }, + { + "index": 4, + "value": "0x2e" + }, + { + "index": 5, + "value": "0x2d" + }, + { + "index": 6, + "value": "0x2c" + }, + { + "index": 7, + "value": "0x2b" + }, + { + "index": 8, + "value": "0x2a" + }, + { + "index": 9, + "value": "0x29" + }, + { + "index": 10, + "value": "0x28" + }, + { + "index": 11, + "value": "0x27" + }, + { + "index": 12, + "value": "0x26" + }, + { + "index": 13, + "value": "0x25" + }, + { + "index": 14, + "value": "0x24" + }, + { + "index": 15, + "value": "0x23" + }, + { + "index": 16, + "value": "0x22" + }, + { + "index": 17, + "value": "0x21" + }, + { + "index": 18, + "value": "0x20" + }, + { + "index": 19, + "value": "0x1f" + }, + { + "index": 20, + "value": "0x1e" + }, + { + "index": 21, + "value": "0x1d" + }, + { + "index": 22, + "value": "0x1c" + }, + { + "index": 23, + "value": "0x1b" + }, + { + "index": 24, + "value": "0x1a" + }, + { + "index": 25, + "value": "0x19" + }, + { + "index": 26, + "value": "0x18" + }, + { + "index": 27, + "value": "0x17" + }, + { + "index": 28, + "value": "0x16" + }, + { + "index": 29, + "value": "0x15" + }, + { + "index": 30, + "value": "0x14" + }, + { + "index": 31, + "value": "0x13" + }, + { + "index": 32, + "value": "0x12" + }, + { + "index": 33, + "value": "0x11" + }, + { + "index": 34, + "value": "0x10" + }, + { + "index": 35, + "value": "0xf" + }, + { + "index": 36, + "value": "0xe" + }, + { + "index": 37, + "value": "0xd" + }, + { + "index": 38, + "value": "0xc" + }, + { + "index": 39, + "value": "0xb" + }, + { + "index": 40, + "value": "0xa" + }, + { + "index": 41, + "value": "0x9" + }, + { + "index": 42, + "value": "0x8" + }, + { + "index": 43, + "value": "0x7" + }, + { + "index": 44, + "value": "0x6" + }, + { + "index": 45, + "value": "0x5" + }, + { + "index": 46, + "value": "0x4" + }, + { + "index": 47, + "value": "0x3" + }, + { + "index": 48, + "value": "0x2" + }, + { + "index": 49, + "value": "0x1" + } + ], + "ecdsa": [ + { + "index": 0, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 1, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 2, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 3, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 4, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 5, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 6, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 7, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 8, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 9, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 10, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 11, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 12, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 13, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 14, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 15, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 16, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 17, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 18, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 19, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 20, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 21, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 22, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 23, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 24, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 25, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 26, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 27, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 28, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 29, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 30, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 31, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 32, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 33, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 34, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 35, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 36, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 37, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 38, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 39, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 40, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 41, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 42, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 43, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 44, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 45, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 46, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 47, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 48, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + }, + { + "index": 49, + "pubkey": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "msg": "0xa9e", + "signature_input": { + "r": "0x6d2e2e00dfceffd6a375db04764da249a5a1534c7584738dfe01cb3944a33ee", + "w": "0x396362a34ff391372fca63f691e27753ce8f0c2271a614cbd240e1dc1596b28" + } + } + ], + "bitwise": [ + { + "index": 0, + "x": "0x3", + "y": "0x6" + }, + { + "index": 1, + "x": "0x3", + "y": "0x6" + }, + { + "index": 2, + "x": "0x3", + "y": "0x6" + }, + { + "index": 3, + "x": "0x3", + "y": "0x6" + }, + { + "index": 4, + "x": "0x3", + "y": "0x6" + }, + { + "index": 5, + "x": "0x3", + "y": "0x6" + }, + { + "index": 6, + "x": "0x3", + "y": "0x6" + }, + { + "index": 7, + "x": "0x3", + "y": "0x6" + }, + { + "index": 8, + "x": "0x3", + "y": "0x6" + }, + { + "index": 9, + "x": "0x3", + "y": "0x6" + }, + { + "index": 10, + "x": "0x3", + "y": "0x6" + }, + { + "index": 11, + "x": "0x3", + "y": "0x6" + }, + { + "index": 12, + "x": "0x3", + "y": "0x6" + }, + { + "index": 13, + "x": "0x3", + "y": "0x6" + }, + { + "index": 14, + "x": "0x3", + "y": "0x6" + }, + { + "index": 15, + "x": "0x3", + "y": "0x6" + }, + { + "index": 16, + "x": "0x3", + "y": "0x6" + }, + { + "index": 17, + "x": "0x3", + "y": "0x6" + }, + { + "index": 18, + "x": "0x3", + "y": "0x6" + }, + { + "index": 19, + "x": "0x3", + "y": "0x6" + }, + { + "index": 20, + "x": "0x3", + "y": "0x6" + }, + { + "index": 21, + "x": "0x3", + "y": "0x6" + }, + { + "index": 22, + "x": "0x3", + "y": "0x6" + }, + { + "index": 23, + "x": "0x3", + "y": "0x6" + }, + { + "index": 24, + "x": "0x3", + "y": "0x6" + }, + { + "index": 25, + "x": "0x3", + "y": "0x6" + }, + { + "index": 26, + "x": "0x3", + "y": "0x6" + }, + { + "index": 27, + "x": "0x3", + "y": "0x6" + }, + { + "index": 28, + "x": "0x3", + "y": "0x6" + }, + { + "index": 29, + "x": "0x3", + "y": "0x6" + }, + { + "index": 30, + "x": "0x3", + "y": "0x6" + }, + { + "index": 31, + "x": "0x3", + "y": "0x6" + }, + { + "index": 32, + "x": "0x3", + "y": "0x6" + }, + { + "index": 33, + "x": "0x3", + "y": "0x6" + }, + { + "index": 34, + "x": "0x3", + "y": "0x6" + }, + { + "index": 35, + "x": "0x3", + "y": "0x6" + }, + { + "index": 36, + "x": "0x3", + "y": "0x6" + }, + { + "index": 37, + "x": "0x3", + "y": "0x6" + }, + { + "index": 38, + "x": "0x3", + "y": "0x6" + }, + { + "index": 39, + "x": "0x3", + "y": "0x6" + }, + { + "index": 40, + "x": "0x3", + "y": "0x6" + }, + { + "index": 41, + "x": "0x3", + "y": "0x6" + }, + { + "index": 42, + "x": "0x3", + "y": "0x6" + }, + { + "index": 43, + "x": "0x3", + "y": "0x6" + }, + { + "index": 44, + "x": "0x3", + "y": "0x6" + }, + { + "index": 45, + "x": "0x3", + "y": "0x6" + }, + { + "index": 46, + "x": "0x3", + "y": "0x6" + }, + { + "index": 47, + "x": "0x3", + "y": "0x6" + }, + { + "index": 48, + "x": "0x3", + "y": "0x6" + }, + { + "index": 49, + "x": "0x3", + "y": "0x6" + } + ], + "ec_op": [ + { + "index": 0, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 1, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 2, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 3, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 4, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 5, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 6, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 7, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 8, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 9, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 10, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 11, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 12, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 13, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 14, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 15, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 16, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 17, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 18, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 19, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 20, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 21, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 22, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 23, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 24, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 25, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 26, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 27, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 28, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 29, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 30, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 31, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 32, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 33, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 34, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 35, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 36, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 37, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 38, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 39, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 40, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 41, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 42, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 43, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 44, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 45, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 46, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 47, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 48, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + }, + { + "index": 49, + "p_x": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "p_y": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "q_x": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "q_y": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "m": "0x3" + } + ], + "keccak": [ + { + "index": 0, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 1, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 2, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 3, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 4, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 5, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 6, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 7, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 8, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 9, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 10, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 11, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 12, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 13, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 14, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 15, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 16, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 17, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 18, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 19, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 20, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 21, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 22, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 23, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 24, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 25, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 26, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 27, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 28, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 29, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 30, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 31, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 32, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 33, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 34, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 35, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 36, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 37, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 38, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 39, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 40, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 41, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 42, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 43, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 44, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 45, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 46, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 47, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 48, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + }, + { + "index": 49, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2", + "input_s3": "0x3", + "input_s4": "0x4", + "input_s5": "0x5", + "input_s6": "0x6", + "input_s7": "0x7" + } + ], + "poseidon": [ + { + "index": 0, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 1, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 2, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 3, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 4, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 5, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 6, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 7, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 8, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 9, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 10, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 11, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 12, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 13, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 14, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 15, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 16, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 17, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 18, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 19, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 20, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 21, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 22, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 23, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 24, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 25, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 26, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 27, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 28, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 29, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 30, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 31, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 32, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 33, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 34, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 35, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 36, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 37, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 38, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 39, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 40, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 41, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 42, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 43, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 44, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 45, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 46, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 47, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 48, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + }, + { + "index": 49, + "input_s0": "0x0", + "input_s1": "0x1", + "input_s2": "0x2" + } + ], + "range_check96": [ + { + "index": 0, + "value": "0x32" + }, + { + "index": 1, + "value": "0x31" + }, + { + "index": 2, + "value": "0x30" + }, + { + "index": 3, + "value": "0x2f" + }, + { + "index": 4, + "value": "0x2e" + }, + { + "index": 5, + "value": "0x2d" + }, + { + "index": 6, + "value": "0x2c" + }, + { + "index": 7, + "value": "0x2b" + }, + { + "index": 8, + "value": "0x2a" + }, + { + "index": 9, + "value": "0x29" + }, + { + "index": 10, + "value": "0x28" + }, + { + "index": 11, + "value": "0x27" + }, + { + "index": 12, + "value": "0x26" + }, + { + "index": 13, + "value": "0x25" + }, + { + "index": 14, + "value": "0x24" + }, + { + "index": 15, + "value": "0x23" + }, + { + "index": 16, + "value": "0x22" + }, + { + "index": 17, + "value": "0x21" + }, + { + "index": 18, + "value": "0x20" + }, + { + "index": 19, + "value": "0x1f" + }, + { + "index": 20, + "value": "0x1e" + }, + { + "index": 21, + "value": "0x1d" + }, + { + "index": 22, + "value": "0x1c" + }, + { + "index": 23, + "value": "0x1b" + }, + { + "index": 24, + "value": "0x1a" + }, + { + "index": 25, + "value": "0x19" + }, + { + "index": 26, + "value": "0x18" + }, + { + "index": 27, + "value": "0x17" + }, + { + "index": 28, + "value": "0x16" + }, + { + "index": 29, + "value": "0x15" + }, + { + "index": 30, + "value": "0x14" + }, + { + "index": 31, + "value": "0x13" + }, + { + "index": 32, + "value": "0x12" + }, + { + "index": 33, + "value": "0x11" + }, + { + "index": 34, + "value": "0x10" + }, + { + "index": 35, + "value": "0xf" + }, + { + "index": 36, + "value": "0xe" + }, + { + "index": 37, + "value": "0xd" + }, + { + "index": 38, + "value": "0xc" + }, + { + "index": 39, + "value": "0xb" + }, + { + "index": 40, + "value": "0xa" + }, + { + "index": 41, + "value": "0x9" + }, + { + "index": 42, + "value": "0x8" + }, + { + "index": 43, + "value": "0x7" + }, + { + "index": 44, + "value": "0x6" + }, + { + "index": 45, + "value": "0x5" + }, + { + "index": 46, + "value": "0x4" + }, + { + "index": 47, + "value": "0x3" + }, + { + "index": 48, + "value": "0x2" + }, + { + "index": 49, + "value": "0x1" + } + ], + "add_mod": { + "instances": [], + "zero_value_address": 95600 + }, + "mul_mod": { + "instances": [], + "zero_value_address": 95600 + } +} diff --git a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/pub.json b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/pub.json index 2897ba35..eced4429 100644 --- a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/pub.json +++ b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/pub.json @@ -1,3 +1,2718 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d90bd39b52f0cb34f9577bb94371b4e60fe935ab940a838671977f290f6837b -size 62350 +{ + "layout": "all_cairo", + "rc_min": 0, + "rc_max": 32790, + "n_steps": 131072, + "memory_segments": { + "program": { + "begin_addr": 1, + "stop_ptr": 5 + }, + "execution": { + "begin_addr": 460, + "stop_ptr": 4414 + }, + "output": { + "begin_addr": 4414, + "stop_ptr": 4464 + }, + "pedersen": { + "begin_addr": 4464, + "stop_ptr": 4614 + }, + "range_check": { + "begin_addr": 6000, + "stop_ptr": 6050 + }, + "ecdsa": { + "begin_addr": 22384, + "stop_ptr": 22484 + }, + "bitwise": { + "begin_addr": 22512, + "stop_ptr": 22762 + }, + "ec_op": { + "begin_addr": 63472, + "stop_ptr": 63822 + }, + "keccak": { + "begin_addr": 64368, + "stop_ptr": 65168 + }, + "poseidon": { + "begin_addr": 65392, + "stop_ptr": 65692 + }, + "range_check96": { + "begin_addr": 68464, + "stop_ptr": 68514 + }, + "add_mod": { + "begin_addr": 84848, + "stop_ptr": 84848 + }, + "mul_mod": { + "begin_addr": 92016, + "stop_ptr": 92016 + } + }, + "public_memory": [ + { + "address": 1, + "value": "0x40780017fff7fff", + "page": 0 + }, + { + "address": 2, + "value": "0xb", + "page": 0 + }, + { + "address": 3, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 4, + "value": "0x17d", + "page": 0 + }, + { + "address": 5, + "value": "0x10780017fff7fff", + "page": 0 + }, + { + "address": 6, + "value": "0x0", + "page": 0 + }, + { + "address": 7, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 8, + "value": "0x40780017fff7fff", + "page": 0 + }, + { + "address": 9, + "value": "0x1", + "page": 0 + }, + { + "address": 10, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 11, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 12, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffffd", + "page": 0 + }, + { + "address": 13, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 14, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff5", + "page": 0 + }, + { + "address": 15, + "value": "0x48307fff7ffe8000", + "page": 0 + }, + { + "address": 16, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 17, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 18, + "value": "0x4", + "page": 0 + }, + { + "address": 19, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 20, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 21, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 22, + "value": "0x3e8", + "page": 0 + }, + { + "address": 23, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 24, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 25, + "value": "0x1", + "page": 0 + }, + { + "address": 26, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 27, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 28, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 29, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff6", + "page": 0 + }, + { + "address": 30, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 31, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 32, + "value": "0x4", + "page": 0 + }, + { + "address": 33, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 34, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 35, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 36, + "value": "0x7d0", + "page": 0 + }, + { + "address": 37, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 38, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 39, + "value": "0xbb8", + "page": 0 + }, + { + "address": 40, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 41, + "value": "0x480280027ffc8000", + "page": 0 + }, + { + "address": 42, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 43, + "value": "0x4ff046f280543dc3eac945a45cb534c00829b11e31b94fab1ae6ecb3cf4efa6", + "page": 0 + }, + { + "address": 44, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 45, + "value": "0x3", + "page": 0 + }, + { + "address": 46, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 47, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 48, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 49, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff0", + "page": 0 + }, + { + "address": 50, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 51, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 52, + "value": "0x4", + "page": 0 + }, + { + "address": 53, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 54, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 55, + "value": "0x400380007ffc7ffd", + "page": 0 + }, + { + "address": 56, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 57, + "value": "0x1", + "page": 0 + }, + { + "address": 58, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 59, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 60, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 61, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8", + "page": 0 + }, + { + "address": 62, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 63, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 64, + "value": "0x4", + "page": 0 + }, + { + "address": 65, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 66, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 67, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 68, + "value": "0x3d60886c2353d93ec2862e91e23036cd9999a534481166e5a616a983070434d", + "page": 0 + }, + { + "address": 69, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 70, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 71, + "value": "0xa9e", + "page": 0 + }, + { + "address": 72, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 73, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 74, + "value": "0x2", + "page": 0 + }, + { + "address": 75, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 76, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 77, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 78, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff3", + "page": 0 + }, + { + "address": 79, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 80, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 81, + "value": "0x4", + "page": 0 + }, + { + "address": 82, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 83, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 84, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 85, + "value": "0x3", + "page": 0 + }, + { + "address": 86, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 87, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 88, + "value": "0x6", + "page": 0 + }, + { + "address": 89, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 90, + "value": "0x480280027ffc8000", + "page": 0 + }, + { + "address": 91, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 92, + "value": "0x2", + "page": 0 + }, + { + "address": 93, + "value": "0x480280037ffc8000", + "page": 0 + }, + { + "address": 94, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 95, + "value": "0x5", + "page": 0 + }, + { + "address": 96, + "value": "0x480280047ffc8000", + "page": 0 + }, + { + "address": 97, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 98, + "value": "0x7", + "page": 0 + }, + { + "address": 99, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 100, + "value": "0x5", + "page": 0 + }, + { + "address": 101, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 102, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 103, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 104, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffea", + "page": 0 + }, + { + "address": 105, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 106, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 107, + "value": "0x4", + "page": 0 + }, + { + "address": 108, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 109, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 110, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 111, + "value": "0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804", + "page": 0 + }, + { + "address": 112, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 113, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 114, + "value": "0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a", + "page": 0 + }, + { + "address": 115, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 116, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 117, + "value": "0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca", + "page": 0 + }, + { + "address": 118, + "value": "0x400280027ffc7fff", + "page": 0 + }, + { + "address": 119, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 120, + "value": "0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f", + "page": 0 + }, + { + "address": 121, + "value": "0x400280037ffc7fff", + "page": 0 + }, + { + "address": 122, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 123, + "value": "0x3", + "page": 0 + }, + { + "address": 124, + "value": "0x400280047ffc7fff", + "page": 0 + }, + { + "address": 125, + "value": "0x480280057ffc8000", + "page": 0 + }, + { + "address": 126, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 127, + "value": "0x7e7981dbdcab7a12e82a71563265fe17d1e468def04dc824c342bd113b8a6ba", + "page": 0 + }, + { + "address": 128, + "value": "0x480280067ffc8000", + "page": 0 + }, + { + "address": 129, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 130, + "value": "0x74af28209b54a0943e10972953ae3acc93ca2d74caf5b07c0a833fbb9aba0ff", + "page": 0 + }, + { + "address": 131, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 132, + "value": "0x7", + "page": 0 + }, + { + "address": 133, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 134, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 135, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 136, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe4", + "page": 0 + }, + { + "address": 137, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 138, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 139, + "value": "0x4", + "page": 0 + }, + { + "address": 140, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 141, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 142, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 143, + "value": "0x0", + "page": 0 + }, + { + "address": 144, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 145, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 146, + "value": "0x1", + "page": 0 + }, + { + "address": 147, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 148, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 149, + "value": "0x2", + "page": 0 + }, + { + "address": 150, + "value": "0x400280027ffc7fff", + "page": 0 + }, + { + "address": 151, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 152, + "value": "0x3", + "page": 0 + }, + { + "address": 153, + "value": "0x400280037ffc7fff", + "page": 0 + }, + { + "address": 154, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 155, + "value": "0x4", + "page": 0 + }, + { + "address": 156, + "value": "0x400280047ffc7fff", + "page": 0 + }, + { + "address": 157, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 158, + "value": "0x5", + "page": 0 + }, + { + "address": 159, + "value": "0x400280057ffc7fff", + "page": 0 + }, + { + "address": 160, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 161, + "value": "0x6", + "page": 0 + }, + { + "address": 162, + "value": "0x400280067ffc7fff", + "page": 0 + }, + { + "address": 163, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 164, + "value": "0x7", + "page": 0 + }, + { + "address": 165, + "value": "0x400280077ffc7fff", + "page": 0 + }, + { + "address": 166, + "value": "0x480280087ffc8000", + "page": 0 + }, + { + "address": 167, + "value": "0x480280097ffc8000", + "page": 0 + }, + { + "address": 168, + "value": "0x4802800a7ffc8000", + "page": 0 + }, + { + "address": 169, + "value": "0x4802800b7ffc8000", + "page": 0 + }, + { + "address": 170, + "value": "0x4802800c7ffc8000", + "page": 0 + }, + { + "address": 171, + "value": "0x4802800d7ffc8000", + "page": 0 + }, + { + "address": 172, + "value": "0x4802800e7ffc8000", + "page": 0 + }, + { + "address": 173, + "value": "0x4802800f7ffc8000", + "page": 0 + }, + { + "address": 174, + "value": "0x400680017fff7ff8", + "page": 0 + }, + { + "address": 175, + "value": "0x39d703c98a1b2e1a2ddf0c93810df2d39b6dfecdee6832188d", + "page": 0 + }, + { + "address": 176, + "value": "0x400680017fff7ff9", + "page": 0 + }, + { + "address": 177, + "value": "0x541c4683d434a407a3525e2f20fa9431b65cd58e995379146d", + "page": 0 + }, + { + "address": 178, + "value": "0x400680017fff7ffa", + "page": 0 + }, + { + "address": 179, + "value": "0x66f2b6f9585469eef0f16447a1bc76adc5f3b602a698dfdc42", + "page": 0 + }, + { + "address": 180, + "value": "0x400680017fff7ffb", + "page": 0 + }, + { + "address": 181, + "value": "0x16f13d5794d8770f73a01aa7e00accde43f4fa6a208a7f03a5", + "page": 0 + }, + { + "address": 182, + "value": "0x400680017fff7ffc", + "page": 0 + }, + { + "address": 183, + "value": "0xfdf1ac3b6b45fdeee26ff23d7a5318a94dabb4efbba7ad35a1", + "page": 0 + }, + { + "address": 184, + "value": "0x400680017fff7ffd", + "page": 0 + }, + { + "address": 185, + "value": "0x639b68738d3ebd70e1181f43ccfbfc0e5ba26fb99251069ae2", + "page": 0 + }, + { + "address": 186, + "value": "0x400680017fff7ffe", + "page": 0 + }, + { + "address": 187, + "value": "0x50c5875966fe759e96419d03d1ff8c66e868d68a052651260d", + "page": 0 + }, + { + "address": 188, + "value": "0x400680017fff7fff", + "page": 0 + }, + { + "address": 189, + "value": "0x51611748d0540c05bd45cd46cdb6cdcdce7402d755893da7e0", + "page": 0 + }, + { + "address": 190, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 191, + "value": "0x10", + "page": 0 + }, + { + "address": 192, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 193, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 194, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 195, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffc9", + "page": 0 + }, + { + "address": 196, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 197, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 198, + "value": "0x4", + "page": 0 + }, + { + "address": 199, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 200, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 201, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 202, + "value": "0x0", + "page": 0 + }, + { + "address": 203, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 204, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 205, + "value": "0x1", + "page": 0 + }, + { + "address": 206, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 207, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 208, + "value": "0x2", + "page": 0 + }, + { + "address": 209, + "value": "0x400280027ffc7fff", + "page": 0 + }, + { + "address": 210, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 211, + "value": "0x5134197931125e849424475aa20cd6ca0ce8603b79177c3f76e2119c8f98c53", + "page": 0 + }, + { + "address": 212, + "value": "0x400280037ffc7fff", + "page": 0 + }, + { + "address": 213, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 214, + "value": "0x30b51bb39c4e74544fc2576ac2a3cf44485ad135802c6ac1246659ad34f241f", + "page": 0 + }, + { + "address": 215, + "value": "0x400280047ffc7fff", + "page": 0 + }, + { + "address": 216, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 217, + "value": "0x3241fe256bea8c2e2fa69098127e17e4020dc42158e61fd3e6dc236e0c0cac", + "page": 0 + }, + { + "address": 218, + "value": "0x400280057ffc7fff", + "page": 0 + }, + { + "address": 219, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 220, + "value": "0x6", + "page": 0 + }, + { + "address": 221, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 222, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 223, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 224, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe7", + "page": 0 + }, + { + "address": 225, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 226, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 227, + "value": "0x4", + "page": 0 + }, + { + "address": 228, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 229, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 230, + "value": "0x400380007ffc7ffd", + "page": 0 + }, + { + "address": 231, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 232, + "value": "0x1", + "page": 0 + }, + { + "address": 233, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 234, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 235, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 236, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8", + "page": 0 + }, + { + "address": 237, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 238, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 239, + "value": "0x4", + "page": 0 + }, + { + "address": 240, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 241, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 242, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 243, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff17", + "page": 0 + }, + { + "address": 244, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 245, + "value": "0x6", + "page": 0 + }, + { + "address": 246, + "value": "0x400080007ffe7fff", + "page": 0 + }, + { + "address": 247, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 248, + "value": "0x0", + "page": 0 + }, + { + "address": 249, + "value": "0x400080017ffd7fff", + "page": 0 + }, + { + "address": 250, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 251, + "value": "0x0", + "page": 0 + }, + { + "address": 252, + "value": "0x400080027ffc7fff", + "page": 0 + }, + { + "address": 253, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 254, + "value": "0x0", + "page": 0 + }, + { + "address": 255, + "value": "0x400080037ffb7fff", + "page": 0 + }, + { + "address": 256, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 257, + "value": "0x7", + "page": 0 + }, + { + "address": 258, + "value": "0x400080047ffa7fff", + "page": 0 + }, + { + "address": 259, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 260, + "value": "0x0", + "page": 0 + }, + { + "address": 261, + "value": "0x400080057ff97fff", + "page": 0 + }, + { + "address": 262, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 263, + "value": "0x0", + "page": 0 + }, + { + "address": 264, + "value": "0x400080067ff87fff", + "page": 0 + }, + { + "address": 265, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 266, + "value": "0x0", + "page": 0 + }, + { + "address": 267, + "value": "0x400080077ff77fff", + "page": 0 + }, + { + "address": 268, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 269, + "value": "0xd", + "page": 0 + }, + { + "address": 270, + "value": "0x400080087ff67fff", + "page": 0 + }, + { + "address": 271, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 272, + "value": "0x0", + "page": 0 + }, + { + "address": 273, + "value": "0x400080097ff57fff", + "page": 0 + }, + { + "address": 274, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 275, + "value": "0x0", + "page": 0 + }, + { + "address": 276, + "value": "0x4000800a7ff47fff", + "page": 0 + }, + { + "address": 277, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 278, + "value": "0x0", + "page": 0 + }, + { + "address": 279, + "value": "0x4000800b7ff37fff", + "page": 0 + }, + { + "address": 280, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 281, + "value": "0x133", + "page": 0 + }, + { + "address": 282, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 283, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffef2", + "page": 0 + }, + { + "address": 284, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 285, + "value": "0xffffffff", + "page": 0 + }, + { + "address": 286, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 287, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 288, + "value": "0xfffffffffffffffeffffffff", + "page": 0 + }, + { + "address": 289, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 290, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 291, + "value": "0xffffffffffffffffffffffff", + "page": 0 + }, + { + "address": 292, + "value": "0x400280027ffc7fff", + "page": 0 + }, + { + "address": 293, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 294, + "value": "0xffffffffffffffffffffffff", + "page": 0 + }, + { + "address": 295, + "value": "0x400280037ffc7fff", + "page": 0 + }, + { + "address": 296, + "value": "0x400280047ffc7fe8", + "page": 0 + }, + { + "address": 297, + "value": "0x400280057ffc7ffb", + "page": 0 + }, + { + "address": 298, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 299, + "value": "0x1", + "page": 0 + }, + { + "address": 300, + "value": "0x400280067ffc7fff", + "page": 0 + }, + { + "address": 301, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 302, + "value": "0x7", + "page": 0 + }, + { + "address": 303, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 304, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 305, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 306, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbe", + "page": 0 + }, + { + "address": 307, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 308, + "value": "0x0", + "page": 0 + }, + { + "address": 309, + "value": "0x4", + "page": 0 + }, + { + "address": 310, + "value": "0x8", + "page": 0 + }, + { + "address": 311, + "value": "0x20780017fff7ffd", + "page": 0 + }, + { + "address": 312, + "value": "0x4", + "page": 0 + }, + { + "address": 313, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 314, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 315, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 316, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffece", + "page": 0 + }, + { + "address": 317, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 318, + "value": "0x7", + "page": 0 + }, + { + "address": 319, + "value": "0x400080007ffe7fff", + "page": 0 + }, + { + "address": 320, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 321, + "value": "0x0", + "page": 0 + }, + { + "address": 322, + "value": "0x400080017ffd7fff", + "page": 0 + }, + { + "address": 323, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 324, + "value": "0x0", + "page": 0 + }, + { + "address": 325, + "value": "0x400080027ffc7fff", + "page": 0 + }, + { + "address": 326, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 327, + "value": "0x0", + "page": 0 + }, + { + "address": 328, + "value": "0x400080037ffb7fff", + "page": 0 + }, + { + "address": 329, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 330, + "value": "0x6", + "page": 0 + }, + { + "address": 331, + "value": "0x400080047ffa7fff", + "page": 0 + }, + { + "address": 332, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 333, + "value": "0x0", + "page": 0 + }, + { + "address": 334, + "value": "0x400080057ff97fff", + "page": 0 + }, + { + "address": 335, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 336, + "value": "0x0", + "page": 0 + }, + { + "address": 337, + "value": "0x400080067ff87fff", + "page": 0 + }, + { + "address": 338, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 339, + "value": "0x0", + "page": 0 + }, + { + "address": 340, + "value": "0x400080077ff77fff", + "page": 0 + }, + { + "address": 341, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 342, + "value": "0x2a", + "page": 0 + }, + { + "address": 343, + "value": "0x400080087ff67fff", + "page": 0 + }, + { + "address": 344, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 345, + "value": "0x0", + "page": 0 + }, + { + "address": 346, + "value": "0x400080097ff57fff", + "page": 0 + }, + { + "address": 347, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 348, + "value": "0x0", + "page": 0 + }, + { + "address": 349, + "value": "0x4000800a7ff47fff", + "page": 0 + }, + { + "address": 350, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 351, + "value": "0x0", + "page": 0 + }, + { + "address": 352, + "value": "0x4000800b7ff37fff", + "page": 0 + }, + { + "address": 353, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 354, + "value": "0x17c", + "page": 0 + }, + { + "address": 355, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 356, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea9", + "page": 0 + }, + { + "address": 357, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 358, + "value": "0xffffffff", + "page": 0 + }, + { + "address": 359, + "value": "0x400280007ffc7fff", + "page": 0 + }, + { + "address": 360, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 361, + "value": "0xfffffffffffffffeffffffff", + "page": 0 + }, + { + "address": 362, + "value": "0x400280017ffc7fff", + "page": 0 + }, + { + "address": 363, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 364, + "value": "0xffffffffffffffffffffffff", + "page": 0 + }, + { + "address": 365, + "value": "0x400280027ffc7fff", + "page": 0 + }, + { + "address": 366, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 367, + "value": "0xffffffffffffffffffffffff", + "page": 0 + }, + { + "address": 368, + "value": "0x400280037ffc7fff", + "page": 0 + }, + { + "address": 369, + "value": "0x400280047ffc7fe8", + "page": 0 + }, + { + "address": 370, + "value": "0x400280057ffc7ffb", + "page": 0 + }, + { + "address": 371, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 372, + "value": "0x1", + "page": 0 + }, + { + "address": 373, + "value": "0x400280067ffc7fff", + "page": 0 + }, + { + "address": 374, + "value": "0x482680017ffc8000", + "page": 0 + }, + { + "address": 375, + "value": "0x7", + "page": 0 + }, + { + "address": 376, + "value": "0x482680017ffd8000", + "page": 0 + }, + { + "address": 377, + "value": "0x800000000000011000000000000000000000000000000000000000000000000", + "page": 0 + }, + { + "address": 378, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 379, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffffbe", + "page": 0 + }, + { + "address": 380, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 381, + "value": "0x0", + "page": 0 + }, + { + "address": 382, + "value": "0x4", + "page": 0 + }, + { + "address": 383, + "value": "0x8", + "page": 0 + }, + { + "address": 384, + "value": "0x40780017fff7fff", + "page": 0 + }, + { + "address": 385, + "value": "0x17", + "page": 0 + }, + { + "address": 386, + "value": "0x480a7ff37fff8000", + "page": 0 + }, + { + "address": 387, + "value": "0x480a80007fff8000", + "page": 0 + }, + { + "address": 388, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 389, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe8e", + "page": 0 + }, + { + "address": 390, + "value": "0x40137fff7fff800c", + "page": 0 + }, + { + "address": 391, + "value": "0x480a7ff47fff8000", + "page": 0 + }, + { + "address": 392, + "value": "0x480a80017fff8000", + "page": 0 + }, + { + "address": 393, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 394, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffe97", + "page": 0 + }, + { + "address": 395, + "value": "0x40137fff7fff800d", + "page": 0 + }, + { + "address": 396, + "value": "0x480a7ff57fff8000", + "page": 0 + }, + { + "address": 397, + "value": "0x480a80027fff8000", + "page": 0 + }, + { + "address": 398, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 399, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffea6", + "page": 0 + }, + { + "address": 400, + "value": "0x40137fff7fff800e", + "page": 0 + }, + { + "address": 401, + "value": "0x480a7ff67fff8000", + "page": 0 + }, + { + "address": 402, + "value": "0x480a80037fff8000", + "page": 0 + }, + { + "address": 403, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 404, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffead", + "page": 0 + }, + { + "address": 405, + "value": "0x40137fff7fff800f", + "page": 0 + }, + { + "address": 406, + "value": "0x480a7ff77fff8000", + "page": 0 + }, + { + "address": 407, + "value": "0x480a80047fff8000", + "page": 0 + }, + { + "address": 408, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 409, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffeb9", + "page": 0 + }, + { + "address": 410, + "value": "0x40137fff7fff8010", + "page": 0 + }, + { + "address": 411, + "value": "0x480a7ff87fff8000", + "page": 0 + }, + { + "address": 412, + "value": "0x480a80057fff8000", + "page": 0 + }, + { + "address": 413, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 414, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffece", + "page": 0 + }, + { + "address": 415, + "value": "0x40137fff7fff8011", + "page": 0 + }, + { + "address": 416, + "value": "0x480a7ff97fff8000", + "page": 0 + }, + { + "address": 417, + "value": "0x480a80067fff8000", + "page": 0 + }, + { + "address": 418, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 419, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffee9", + "page": 0 + }, + { + "address": 420, + "value": "0x40137fff7fff8012", + "page": 0 + }, + { + "address": 421, + "value": "0x480a7ffa7fff8000", + "page": 0 + }, + { + "address": 422, + "value": "0x480a80077fff8000", + "page": 0 + }, + { + "address": 423, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 424, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff1f", + "page": 0 + }, + { + "address": 425, + "value": "0x40137fff7fff8013", + "page": 0 + }, + { + "address": 426, + "value": "0x480a7ffb7fff8000", + "page": 0 + }, + { + "address": 427, + "value": "0x480a80087fff8000", + "page": 0 + }, + { + "address": 428, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 429, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff37", + "page": 0 + }, + { + "address": 430, + "value": "0x40137fff7fff8014", + "page": 0 + }, + { + "address": 431, + "value": "0x480a7ffc7fff8000", + "page": 0 + }, + { + "address": 432, + "value": "0x480a80097fff8000", + "page": 0 + }, + { + "address": 433, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 434, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff3e", + "page": 0 + }, + { + "address": 435, + "value": "0x40137fff7fff8015", + "page": 0 + }, + { + "address": 436, + "value": "0x480a7ffd7fff8000", + "page": 0 + }, + { + "address": 437, + "value": "0x480a800a7fff8000", + "page": 0 + }, + { + "address": 438, + "value": "0x1104800180018000", + "page": 0 + }, + { + "address": 439, + "value": "0x800000000000010ffffffffffffffffffffffffffffffffffffffffffffff82", + "page": 0 + }, + { + "address": 440, + "value": "0x40137fff7fff8016", + "page": 0 + }, + { + "address": 441, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 442, + "value": "0x1", + "page": 0 + }, + { + "address": 443, + "value": "0x40b800b7fff7fff", + "page": 0 + }, + { + "address": 444, + "value": "0x480680017fff8000", + "page": 0 + }, + { + "address": 445, + "value": "0x1", + "page": 0 + }, + { + "address": 446, + "value": "0x480a800c7fff8000", + "page": 0 + }, + { + "address": 447, + "value": "0x480a800d7fff8000", + "page": 0 + }, + { + "address": 448, + "value": "0x480a800e7fff8000", + "page": 0 + }, + { + "address": 449, + "value": "0x480a800f7fff8000", + "page": 0 + }, + { + "address": 450, + "value": "0x480a80107fff8000", + "page": 0 + }, + { + "address": 451, + "value": "0x480a80117fff8000", + "page": 0 + }, + { + "address": 452, + "value": "0x480a80127fff8000", + "page": 0 + }, + { + "address": 453, + "value": "0x480a80137fff8000", + "page": 0 + }, + { + "address": 454, + "value": "0x480a80147fff8000", + "page": 0 + }, + { + "address": 455, + "value": "0x480a80157fff8000", + "page": 0 + }, + { + "address": 456, + "value": "0x480a80167fff8000", + "page": 0 + }, + { + "address": 457, + "value": "0x208b7fff7fff7ffe", + "page": 0 + }, + { + "address": 458, + "value": "0x1cc", + "page": 0 + }, + { + "address": 459, + "value": "0x0", + "page": 0 + }, + { + "address": 460, + "value": "0x113e", + "page": 0 + }, + { + "address": 461, + "value": "0x1170", + "page": 0 + }, + { + "address": 462, + "value": "0x1770", + "page": 0 + }, + { + "address": 463, + "value": "0x5770", + "page": 0 + }, + { + "address": 464, + "value": "0x57f0", + "page": 0 + }, + { + "address": 465, + "value": "0xf7f0", + "page": 0 + }, + { + "address": 466, + "value": "0xfb70", + "page": 0 + }, + { + "address": 467, + "value": "0xff70", + "page": 0 + }, + { + "address": 468, + "value": "0x10b70", + "page": 0 + }, + { + "address": 469, + "value": "0x14b70", + "page": 0 + }, + { + "address": 470, + "value": "0x16770", + "page": 0 + }, + { + "address": 4403, + "value": "0x1170", + "page": 0 + }, + { + "address": 4404, + "value": "0x1206", + "page": 0 + }, + { + "address": 4405, + "value": "0x17a2", + "page": 0 + }, + { + "address": 4406, + "value": "0x57d4", + "page": 0 + }, + { + "address": 4407, + "value": "0x58ea", + "page": 0 + }, + { + "address": 4408, + "value": "0xf94e", + "page": 0 + }, + { + "address": 4409, + "value": "0xfe90", + "page": 0 + }, + { + "address": 4410, + "value": "0x1009c", + "page": 0 + }, + { + "address": 4411, + "value": "0x10ba2", + "page": 0 + }, + { + "address": 4412, + "value": "0x14b70", + "page": 0 + }, + { + "address": 4413, + "value": "0x16770", + "page": 0 + }, + { + "address": 4414, + "value": "0x41a", + "page": 0 + }, + { + "address": 4415, + "value": "0x419", + "page": 0 + }, + { + "address": 4416, + "value": "0x418", + "page": 0 + }, + { + "address": 4417, + "value": "0x417", + "page": 0 + }, + { + "address": 4418, + "value": "0x416", + "page": 0 + }, + { + "address": 4419, + "value": "0x415", + "page": 0 + }, + { + "address": 4420, + "value": "0x414", + "page": 0 + }, + { + "address": 4421, + "value": "0x413", + "page": 0 + }, + { + "address": 4422, + "value": "0x412", + "page": 0 + }, + { + "address": 4423, + "value": "0x411", + "page": 0 + }, + { + "address": 4424, + "value": "0x410", + "page": 0 + }, + { + "address": 4425, + "value": "0x40f", + "page": 0 + }, + { + "address": 4426, + "value": "0x40e", + "page": 0 + }, + { + "address": 4427, + "value": "0x40d", + "page": 0 + }, + { + "address": 4428, + "value": "0x40c", + "page": 0 + }, + { + "address": 4429, + "value": "0x40b", + "page": 0 + }, + { + "address": 4430, + "value": "0x40a", + "page": 0 + }, + { + "address": 4431, + "value": "0x409", + "page": 0 + }, + { + "address": 4432, + "value": "0x408", + "page": 0 + }, + { + "address": 4433, + "value": "0x407", + "page": 0 + }, + { + "address": 4434, + "value": "0x406", + "page": 0 + }, + { + "address": 4435, + "value": "0x405", + "page": 0 + }, + { + "address": 4436, + "value": "0x404", + "page": 0 + }, + { + "address": 4437, + "value": "0x403", + "page": 0 + }, + { + "address": 4438, + "value": "0x402", + "page": 0 + }, + { + "address": 4439, + "value": "0x401", + "page": 0 + }, + { + "address": 4440, + "value": "0x400", + "page": 0 + }, + { + "address": 4441, + "value": "0x3ff", + "page": 0 + }, + { + "address": 4442, + "value": "0x3fe", + "page": 0 + }, + { + "address": 4443, + "value": "0x3fd", + "page": 0 + }, + { + "address": 4444, + "value": "0x3fc", + "page": 0 + }, + { + "address": 4445, + "value": "0x3fb", + "page": 0 + }, + { + "address": 4446, + "value": "0x3fa", + "page": 0 + }, + { + "address": 4447, + "value": "0x3f9", + "page": 0 + }, + { + "address": 4448, + "value": "0x3f8", + "page": 0 + }, + { + "address": 4449, + "value": "0x3f7", + "page": 0 + }, + { + "address": 4450, + "value": "0x3f6", + "page": 0 + }, + { + "address": 4451, + "value": "0x3f5", + "page": 0 + }, + { + "address": 4452, + "value": "0x3f4", + "page": 0 + }, + { + "address": 4453, + "value": "0x3f3", + "page": 0 + }, + { + "address": 4454, + "value": "0x3f2", + "page": 0 + }, + { + "address": 4455, + "value": "0x3f1", + "page": 0 + }, + { + "address": 4456, + "value": "0x3f0", + "page": 0 + }, + { + "address": 4457, + "value": "0x3ef", + "page": 0 + }, + { + "address": 4458, + "value": "0x3ee", + "page": 0 + }, + { + "address": 4459, + "value": "0x3ed", + "page": 0 + }, + { + "address": 4460, + "value": "0x3ec", + "page": 0 + }, + { + "address": 4461, + "value": "0x3eb", + "page": 0 + }, + { + "address": 4462, + "value": "0x3ea", + "page": 0 + }, + { + "address": 4463, + "value": "0x3e9", + "page": 0 + } + ], + "dynamic_params": null +} diff --git a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/trace b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/trace index d263d0fc..86b63a43 100644 Binary files a/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/trace and b/stwo_cairo_prover/crates/prover/test_data/small_cairo_input/trace differ diff --git a/stwo_cairo_prover/crates/prover_types/src/cpu.rs b/stwo_cairo_prover/crates/prover_types/src/cpu.rs index 2ac45017..40e879fb 100644 --- a/stwo_cairo_prover/crates/prover_types/src/cpu.rs +++ b/stwo_cairo_prover/crates/prover_types/src/cpu.rs @@ -12,7 +12,7 @@ pub const PRIME: u32 = 2_u32.pow(31) - 1; pub trait AlgebraicType: ProverType + Add + Sub + Mul + Div {} impl AlgebraicType for M31 {} impl AlgebraicType for Felt252 {} -impl AlgebraicType for BigUInt {} +impl AlgebraicType for BigUInt {} pub trait NumericType: ProverType + Rem + Shl + Shr + BitAnd + BitOr + BitXor {} impl NumericType for UInt16 {} @@ -560,18 +560,26 @@ impl ProverType for Felt252 { } } +// Length of each modulo builtin word in bits. +pub const MOD_BUILTIN_WORD_BIT_LEN: usize = 96; +// Length of each biguint word in bits. +pub const BIGUINT_BITS_PER_WORD: usize = 12; + +// B is the number of bits in the BigUInt. +// L is the number of 64-bit limbs in the BigUInt. +// F is the number of BIGUINT_BITS_PER_M31-bit limbs in the BigUInt. #[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)] -pub struct BigUInt { +pub struct BigUInt { pub limbs: [u64; L], } -impl Default for BigUInt { +impl Default for BigUInt { fn default() -> Self { Self { limbs: [0; L] } } } -impl ProverType for BigUInt { +impl ProverType for BigUInt { fn calc(&self) -> String { format!("{:?}", self.limbs) } @@ -584,29 +592,26 @@ impl ProverType for BigUInt { } // Convert between BigUInt and Uint for performing field operations. -impl From> for Uint { - fn from(n: BigUInt) -> Uint { +impl From> for Uint { + fn from(n: BigUInt) -> Uint { Uint::from_limbs(n.limbs) } } -impl From> for BigUInt { - fn from(n: Uint) -> BigUInt { +impl From> for BigUInt { + fn from(n: Uint) -> BigUInt { let limbs = n.into_limbs(); BigUInt { limbs } } } -impl From<[u64; L]> for BigUInt { - fn from(limbs: [u64; L]) -> BigUInt { +impl From<[u64; L]> for BigUInt { + fn from(limbs: [u64; L]) -> BigUInt { BigUInt { limbs } } } -// Length of each modulo builtin word in bits. -pub const MOD_BUILTIN_WORD_BIT_LEN: usize = 96; - -impl BigUInt { +impl BigUInt { pub fn from_felt252_array(mod_words: Vec) -> Self { // only takes MODULO_WORD_BIT_LEN from each Felt252 let needed_bits = mod_words.len() * MOD_BUILTIN_WORD_BIT_LEN; @@ -640,28 +645,25 @@ impl BigUInt { Self { limbs } } - pub fn get_u64(&self, index: usize) -> UInt64 { - UInt64 { - value: self.limbs[index], - } - } - - pub fn from_limbs(limbs: Vec) -> Self { - assert!(limbs.len() <= L, "Invalid number of limbs"); - let mut res = [0; L]; - for (index, limb) in limbs.iter().enumerate() { - res[index] = limb.value; - } - Self { limbs: res } - } - - pub fn from_u64(limb: UInt64) -> Self { - let mut limbs = [0; L]; - limbs[0] = limb.value; - Self { limbs } + // Returns the BIGUINT_BITS_PER_WORD-bit word at the given index. + pub fn get_m31(&self, index: usize) -> M31 { + let mask = (1u64 << BIGUINT_BITS_PER_WORD) - 1; + let shift = BIGUINT_BITS_PER_WORD * index; + let low_limb = shift / 64; + let shift_low = shift & 0x3F; + let high_limb = (shift + BIGUINT_BITS_PER_WORD - 1) / 64; + let value = if low_limb == high_limb { + ((self.limbs[low_limb] >> (shift_low)) & mask) as u32 + } else { + (((self.limbs[low_limb] >> (shift_low)) | (self.limbs[high_limb] << (64 - shift_low))) + & mask) as u32 + }; + M31::from_u32_unchecked(value) } - pub fn from_biguint(other: BigUInt) -> Self { + pub fn from_biguint( + other: BigUInt, + ) -> Self { if OL > L && !other.limbs.iter().skip(L).all(|&x| x == 0) { panic!("BigUInt is too big"); } @@ -673,10 +675,10 @@ impl BigUInt { Self { limbs } } - pub fn widening_mul( + pub fn widening_mul( self, - rhs: BigUInt, - ) -> BigUInt { + rhs: BigUInt, + ) -> BigUInt { let self_uint: Uint = self.into(); let rhs_uint: Uint = rhs.into(); @@ -693,9 +695,9 @@ impl BigUInt { } } -impl Add for BigUInt { - type Output = BigUInt; - fn add(self, other: BigUInt) -> BigUInt { +impl Add for BigUInt { + type Output = BigUInt; + fn add(self, other: BigUInt) -> BigUInt { let self_uint: Uint = self.into(); let other_uint: Uint = other.into(); @@ -703,9 +705,9 @@ impl Add for BigUInt { } } -impl Sub for BigUInt { - type Output = BigUInt; - fn sub(self, other: BigUInt) -> BigUInt { +impl Sub for BigUInt { + type Output = BigUInt; + fn sub(self, other: BigUInt) -> BigUInt { let self_uint: Uint = self.into(); let other_uint: Uint = other.into(); @@ -713,9 +715,9 @@ impl Sub for BigUInt { } } -impl Mul for BigUInt { - type Output = BigUInt; - fn mul(self, other: BigUInt) -> BigUInt { +impl Mul for BigUInt { + type Output = BigUInt; + fn mul(self, other: BigUInt) -> BigUInt { let self_uint: Uint = self.into(); let other_uint: Uint = other.into(); @@ -723,9 +725,9 @@ impl Mul for BigUInt { } } -impl Div for BigUInt { - type Output = BigUInt; - fn div(self, other: BigUInt) -> BigUInt { +impl Div for BigUInt { + type Output = BigUInt; + fn div(self, other: BigUInt) -> BigUInt { let self_uint: Uint = self.into(); let other_uint: Uint = other.into(); diff --git a/stwo_cairo_prover/scripts/run_large_test.sh b/stwo_cairo_prover/scripts/run_large_test.sh new file mode 100755 index 00000000..f1f15c20 --- /dev/null +++ b/stwo_cairo_prover/scripts/run_large_test.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +BUCKET_URL="https://storage.googleapis.com/stwo-cairo-testing-artifacts" +DEST_DIR="crates/prover/test_data" +TEST_NAME="test_read_from_large_files" + +# Create the destination directory +mkdir -p "${DEST_DIR}/${TEST_NAME}" + +# Fetch the list of files and download them +curl -s "${BUCKET_URL}" | grep -oP '(?<=).*?(?=)' | while read -r FILE; do + echo "Downloading ${FILE}..." + curl -Lo "${DEST_DIR}/${FILE}" "${BUCKET_URL}/${FILE}" || { + echo "Failed to download ${FILE}" + } +done + +# Run the test +echo "Running the test: ${TEST_NAME}..." +cargo test ${TEST_NAME} -- --ignored|| { + echo "Test failed" + + # Delete the downloaded files + echo "Cleaning up downloaded files..." + rm -rf "${DEST_DIR}/${TEST_NAME}"/* + exit 1 +} + +# Delete the downloaded files +echo "Cleaning up downloaded files..." +rm -rf "${DEST_DIR}/${TEST_NAME}"* + +echo "Done!" diff --git a/stwo_cairo_verifier/.tool-versions b/stwo_cairo_verifier/.tool-versions index 9558a0ae..5e0dcf64 100644 --- a/stwo_cairo_verifier/.tool-versions +++ b/stwo_cairo_verifier/.tool-versions @@ -1,2 +1,2 @@ -scarb nightly-2024-11-19 +scarb nightly-2024-12-14 starknet-foundry 0.33.0 diff --git a/stwo_cairo_verifier/README.md b/stwo_cairo_verifier/README.md index dc1f1e38..66c8d83b 100644 --- a/stwo_cairo_verifier/README.md +++ b/stwo_cairo_verifier/README.md @@ -26,9 +26,9 @@ Modify [`Scarb.toml`](./Scarb.toml) to use [Starknet Foundary](https://github.co ```diff [dev-dependencies] -- cairo_test = "2.8.5" +- cairo_test = "2.9.2" + snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.33.0" } -+ assert_macros = "2.8.5" ++ assert_macros = "2.9.2" + + [scripts] + test = "snforge test --max-n-steps 100000000" diff --git a/stwo_cairo_verifier/Scarb.toml b/stwo_cairo_verifier/Scarb.toml index 440c2fac..45bd8b2c 100644 --- a/stwo_cairo_verifier/Scarb.toml +++ b/stwo_cairo_verifier/Scarb.toml @@ -16,4 +16,4 @@ sort-module-level-items = true bounded_int = { path = "bounded_int" } [dev-dependencies] -cairo_test = "2.8.5" +cairo_test = "2.9.2" diff --git a/stwo_cairo_verifier/src/fri.cairo b/stwo_cairo_verifier/src/fri.cairo index 8bd93f7e..ed4ac5f7 100644 --- a/stwo_cairo_verifier/src/fri.cairo +++ b/stwo_cairo_verifier/src/fri.cairo @@ -54,10 +54,9 @@ pub impl FriVerifierImpl of FriVerifierTrait { fn commit( ref channel: Channel, config: FriConfig, proof: FriProof, column_log_bounds: Span, ) -> Result { - let FriProof { first_layer: first_layer_proof, - inner_layers: mut inner_layer_proofs, - last_layer_poly } = - proof; + let FriProof { + first_layer: first_layer_proof, inner_layers: mut inner_layer_proofs, last_layer_poly, + } = proof; channel.mix_digest(first_layer_proof.commitment); diff --git a/stwo_cairo_verifier/src/lib.cairo b/stwo_cairo_verifier/src/lib.cairo index de7a813a..40e32b5b 100644 --- a/stwo_cairo_verifier/src/lib.cairo +++ b/stwo_cairo_verifier/src/lib.cairo @@ -12,8 +12,6 @@ pub mod verifier; pub use fields::{BaseField, SecureField}; -fn main() {} - /// An array in which each element relates (by index) to a column in the trace. pub type ColumnArray = Array; diff --git a/stwo_cairo_verifier/src/pcs/quotients.cairo b/stwo_cairo_verifier/src/pcs/quotients.cairo index 215cfff5..2f47b8a4 100644 --- a/stwo_cairo_verifier/src/pcs/quotients.cairo +++ b/stwo_cairo_verifier/src/pcs/quotients.cairo @@ -9,7 +9,6 @@ use crate::fields::cm31::{CM31, CM31Impl}; use crate::fields::m31::{M31, UnreducedM31}; use crate::fields::qm31::{PackedUnreducedQM31, PackedUnreducedQM31Impl, QM31, QM31Impl}; use crate::poly::circle::{CanonicCosetImpl, CircleDomainImpl, CircleEvaluationImpl}; -use crate::queries::SubCircleDomainImpl; use crate::utils::{ArrayImpl as ArrayUtilImpl, SpanImpl, bit_reverse_index, pack4}; use crate::verifier::VerificationError; use crate::{ColumnSpan, TreeArray, TreeSpan}; @@ -178,7 +177,8 @@ pub fn fri_answers( let mut answers = array![]; let mut log_size = M31_CIRCLE_LOG_ORDER; - assert_eq!(n_columns_per_tree.len(), 3); + let one_per_tree = [1, 1, 1].span(); + assert_eq!(n_columns_per_tree.len(), one_per_tree.len()); loop { let columns = match columns_per_log_size_rev.next() { Option::Some(columns) => columns, @@ -186,7 +186,7 @@ pub fn fri_answers( }; log_size -= 1; - let n_columns = tree_take_n(ref n_columns_per_tree, [1, 1, 1].span()); + let n_columns = tree_take_n(ref n_columns_per_tree, one_per_tree); if columns.is_empty() { continue; @@ -296,8 +296,9 @@ fn accumulate_row_quotients( for sample_i in 0..batch_size { let (column_index, _) = sample_batch_columns_and_values[sample_i]; let query_eval_at_column = *queried_values_at_row.at(*column_index); - let ComplexConjugateLineCoeffs { alpha_mul_a, alpha_mul_b, alpha_mul_c } = - *line_coeffs[sample_i]; + let ComplexConjugateLineCoeffs { + alpha_mul_a, alpha_mul_b, alpha_mul_c, + } = *line_coeffs[sample_i]; // The numerator is a line equation passing through // (sample_point.y, sample_value), (conj(sample_point), conj(sample_value)) // evaluated at (domain_point.y, value). @@ -503,7 +504,6 @@ mod tests { use crate::fields::m31::m31; use crate::fields::qm31::{PackedUnreducedQM31Impl, qm31}; use crate::poly::circle::{CanonicCosetImpl, CircleDomainImpl, CircleEvaluationImpl}; - use crate::queries::SubCircleDomainImpl; use crate::utils::DictImpl; use super::{ ColumnSampleBatch, ColumnSampleBatchImpl, ComplexConjugateLineCoeffsImpl, PointSample, diff --git a/stwo_cairo_verifier/src/pcs/verifier.cairo b/stwo_cairo_verifier/src/pcs/verifier.cairo index f866d9d4..8854ee41 100644 --- a/stwo_cairo_verifier/src/pcs/verifier.cairo +++ b/stwo_cairo_verifier/src/pcs/verifier.cairo @@ -74,13 +74,14 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { proof: CommitmentSchemeProof, ref channel: Channel, ) -> Result<(), VerificationError> { - let CommitmentSchemeProof { commitments: _, - sampled_values, - decommitments, - queried_values, - proof_of_work_nonce, - fri_proof } = - proof; + let CommitmentSchemeProof { + commitments: _, + sampled_values, + decommitments, + queried_values, + proof_of_work_nonce, + fri_proof, + } = proof; let mut flattened_sampled_values = array![]; diff --git a/stwo_cairo_verifier/src/queries.cairo b/stwo_cairo_verifier/src/queries.cairo index e98f1276..4831b436 100644 --- a/stwo_cairo_verifier/src/queries.cairo +++ b/stwo_cairo_verifier/src/queries.cairo @@ -1,7 +1,6 @@ use crate::channel::{Channel, ChannelTrait}; use crate::circle::CosetImpl; -use crate::poly::circle::{CircleDomain, CircleDomainImpl}; -use super::utils::{ArrayImpl, bit_reverse_index, pow2}; +use super::utils::{ArrayImpl, pow2}; /// An ordered set of query positions. #[derive(Drop, Copy, Debug, PartialEq)] @@ -57,14 +56,6 @@ pub impl QueriesImpl of QueriesImplTrait { } } -/// Represents a circle domain relative to a larger circle domain. The `coset_index` is the bit -/// reversed query index in the larger domain. -#[derive(Drop, Debug, Copy)] -pub struct SubCircleDomain { - pub coset_index: usize, - pub log_size: u32, -} - /// Returns a deduped list of folded query positions. /// /// # Panics @@ -87,34 +78,6 @@ pub fn get_folded_query_positions(mut query_positions: Span, n_folds: u32 folded_positions.span() } -#[generate_trait] -pub impl SubCircleDomainImpl of SubCircleDomainTrait { - /// Calculates the decommitment positions needed for each query given the fri step size. - fn to_decommitment_positions(self: @SubCircleDomain) -> Array { - let sub_circle_size = pow2(*self.log_size); - let start = *self.coset_index * sub_circle_size; - let end = start + sub_circle_size; - let mut res = array![]; - for i in start..end { - res.append(i); - }; - res - } - - /// Returns the represented [CircleDomain]. - fn to_circle_domain(self: @SubCircleDomain, query_domain: CircleDomain) -> CircleDomain { - let index = *self.coset_index * pow2(*self.log_size); - let query = bit_reverse_index(index, query_domain.log_size()); - let initial_index = query_domain.index_at(query); - let half_coset = CosetImpl::new(initial_index, *self.log_size - 1); - CircleDomainImpl::new(half_coset) - } - - fn size(self: @SubCircleDomain) -> usize { - pow2(*self.log_size).into() - } -} - #[cfg(test)] mod test { use crate::channel::ChannelTrait;