From fdbd2f4bb96681ec9ed52054f954988665f616f2 Mon Sep 17 00:00:00 2001 From: Gali Michlevich Date: Sun, 9 Feb 2025 15:40:05 +0200 Subject: [PATCH] Cube252 Component Files --- stwo_cairo_prover/Cargo.lock | 53 + stwo_cairo_prover/crates/prover/Cargo.toml | 1 + .../crates/prover/src/cairo_air/relations.rs | 1 + .../src/components/cube_252/component.rs | 5947 +++++++++++++++++ .../prover/src/components/cube_252/mod.rs | 7 + .../prover/src/components/cube_252/prover.rs | 5914 ++++++++++++++++ .../crates/prover/src/components/mod.rs | 1 + 7 files changed, 11924 insertions(+) create mode 100644 stwo_cairo_prover/crates/prover/src/components/cube_252/component.rs create mode 100644 stwo_cairo_prover/crates/prover/src/components/cube_252/mod.rs create mode 100644 stwo_cairo_prover/crates/prover/src/components/cube_252/prover.rs diff --git a/stwo_cairo_prover/Cargo.lock b/stwo_cairo_prover/Cargo.lock index b5129566b..156713719 100644 --- a/stwo_cairo_prover/Cargo.lock +++ b/stwo_cairo_prover/Cargo.lock @@ -590,6 +590,20 @@ dependencies = [ "typenum", ] +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "derivative" version = "2.2.0" @@ -955,6 +969,16 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + [[package]] name = "log" version = "0.4.25" @@ -1129,6 +1153,19 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + [[package]] name = "paste" version = "1.0.15" @@ -1319,6 +1356,15 @@ dependencies = [ "stwo_cairo_prover", ] +[[package]] +name = "redox_syscall" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +dependencies = [ + "bitflags", +] + [[package]] name = "ref-cast" version = "1.0.23" @@ -1492,6 +1538,12 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + [[package]] name = "semver" version = "0.11.0" @@ -1834,6 +1886,7 @@ dependencies = [ "bytemuck", "cairo-lang-casm", "cairo-vm", + "dashmap", "hex", "itertools 0.12.1", "num-traits", diff --git a/stwo_cairo_prover/crates/prover/Cargo.toml b/stwo_cairo_prover/crates/prover/Cargo.toml index 76118eb9d..66cbe5c0a 100644 --- a/stwo_cairo_prover/crates/prover/Cargo.toml +++ b/stwo_cairo_prover/crates/prover/Cargo.toml @@ -34,6 +34,7 @@ stwo-cairo-serialize = { path = "../cairo-serialize" } stwo-prover.workspace = true thiserror.workspace = true tracing.workspace = true +dashmap = { version = "6.1.0" } [dev-dependencies] cairo-lang-casm.workspace = true diff --git a/stwo_cairo_prover/crates/prover/src/cairo_air/relations.rs b/stwo_cairo_prover/crates/prover/src/cairo_air/relations.rs index 22d331037..cc93771e4 100644 --- a/stwo_cairo_prover/crates/prover/src/cairo_air/relations.rs +++ b/stwo_cairo_prover/crates/prover/src/cairo_air/relations.rs @@ -1,6 +1,7 @@ #![allow(non_camel_case_types)] use stwo_prover::relation; +relation!(Cube252, 20); relation!(MemoryAddressToId, 2); relation!(MemoryIdToBig, 29); relation!(Opcodes, 3); diff --git a/stwo_cairo_prover/crates/prover/src/components/cube_252/component.rs b/stwo_cairo_prover/crates/prover/src/components/cube_252/component.rs new file mode 100644 index 000000000..382230ce6 --- /dev/null +++ b/stwo_cairo_prover/crates/prover/src/components/cube_252/component.rs @@ -0,0 +1,5947 @@ +#![allow(non_camel_case_types)] +#![allow(unused_imports)] +use num_traits::{One, Zero}; +use serde::{Deserialize, Serialize}; +use stwo_cairo_serialize::CairoSerialize; +use stwo_prover::constraint_framework::logup::{LogupAtRow, LookupElements}; +use stwo_prover::constraint_framework::{ + EvalAtRow, FrameworkComponent, FrameworkEval, RelationEntry, +}; +use stwo_prover::core::backend::simd::m31::LOG_N_LANES; +use stwo_prover::core::channel::Channel; +use stwo_prover::core::fields::m31::M31; +use stwo_prover::core::fields::qm31::SecureField; +use stwo_prover::core::fields::secure_column::SECURE_EXTENSION_DEGREE; +use stwo_prover::core::pcs::TreeVec; + +use crate::cairo_air::relations; + +pub struct Eval { + pub claim: Claim, + pub cube_252_lookup_elements: relations::Cube252, + pub range_check_19_lookup_elements: relations::RangeCheck_19, + pub range_check_9_9_lookup_elements: relations::RangeCheck_9_9, +} + +#[derive(Copy, Clone, Serialize, Deserialize, CairoSerialize)] +pub struct Claim { + pub log_size: u32, +} +impl Claim { + pub fn log_sizes(&self) -> TreeVec> { + let trace_log_sizes = vec![self.log_size; 140]; + let interaction_log_sizes = vec![self.log_size; SECURE_EXTENSION_DEGREE * 50]; + let preprocessed_log_sizes = vec![self.log_size]; + TreeVec::new(vec![ + preprocessed_log_sizes, + trace_log_sizes, + interaction_log_sizes, + ]) + } + + pub fn mix_into(&self, channel: &mut impl Channel) { + channel.mix_u64(self.log_size as u64); + } +} + +#[derive(Copy, Clone, Serialize, Deserialize, CairoSerialize)] +pub struct InteractionClaim { + pub claimed_sum: SecureField, +} +impl InteractionClaim { + pub fn mix_into(&self, channel: &mut impl Channel) { + channel.mix_felts(&[self.claimed_sum]); + } +} + +pub type Component = FrameworkComponent; + +impl FrameworkEval for Eval { + fn log_size(&self) -> u32 { + self.claim.log_size + } + + fn max_constraint_log_degree_bound(&self) -> u32 { + self.log_size() + 1 + } + + #[allow(unused_parens)] + #[allow(clippy::double_parens)] + #[allow(non_snake_case)] + fn evaluate(&self, mut eval: E) -> E { + let M31_0 = E::F::from(M31::from(0)); + let M31_1 = E::F::from(M31::from(1)); + let M31_131072 = E::F::from(M31::from(131072)); + let M31_136 = E::F::from(M31::from(136)); + let M31_2 = E::F::from(M31::from(2)); + let M31_256 = E::F::from(M31::from(256)); + let M31_262144 = E::F::from(M31::from(262144)); + let M31_32 = E::F::from(M31::from(32)); + let M31_4 = E::F::from(M31::from(4)); + let M31_512 = E::F::from(M31::from(512)); + let M31_64 = E::F::from(M31::from(64)); + let M31_8 = E::F::from(M31::from(8)); + let M31_8192 = E::F::from(M31::from(8192)); + let input_limb_0_col0 = eval.next_trace_mask(); + let input_limb_1_col1 = eval.next_trace_mask(); + let input_limb_2_col2 = eval.next_trace_mask(); + let input_limb_3_col3 = eval.next_trace_mask(); + let input_limb_4_col4 = eval.next_trace_mask(); + let input_limb_5_col5 = eval.next_trace_mask(); + let input_limb_6_col6 = eval.next_trace_mask(); + let input_limb_7_col7 = eval.next_trace_mask(); + let input_limb_8_col8 = eval.next_trace_mask(); + let input_limb_9_col9 = eval.next_trace_mask(); + let unpacked_limb_0_col10 = eval.next_trace_mask(); + let unpacked_limb_1_col11 = eval.next_trace_mask(); + let unpacked_limb_3_col12 = eval.next_trace_mask(); + let unpacked_limb_4_col13 = eval.next_trace_mask(); + let unpacked_limb_6_col14 = eval.next_trace_mask(); + let unpacked_limb_7_col15 = eval.next_trace_mask(); + let unpacked_limb_9_col16 = eval.next_trace_mask(); + let unpacked_limb_10_col17 = eval.next_trace_mask(); + let unpacked_limb_12_col18 = eval.next_trace_mask(); + let unpacked_limb_13_col19 = eval.next_trace_mask(); + let unpacked_limb_15_col20 = eval.next_trace_mask(); + let unpacked_limb_16_col21 = eval.next_trace_mask(); + let unpacked_limb_18_col22 = eval.next_trace_mask(); + let unpacked_limb_19_col23 = eval.next_trace_mask(); + let unpacked_limb_21_col24 = eval.next_trace_mask(); + let unpacked_limb_22_col25 = eval.next_trace_mask(); + let unpacked_limb_24_col26 = eval.next_trace_mask(); + let unpacked_limb_25_col27 = eval.next_trace_mask(); + let mul_res_limb_0_col28 = eval.next_trace_mask(); + let mul_res_limb_1_col29 = eval.next_trace_mask(); + let mul_res_limb_2_col30 = eval.next_trace_mask(); + let mul_res_limb_3_col31 = eval.next_trace_mask(); + let mul_res_limb_4_col32 = eval.next_trace_mask(); + let mul_res_limb_5_col33 = eval.next_trace_mask(); + let mul_res_limb_6_col34 = eval.next_trace_mask(); + let mul_res_limb_7_col35 = eval.next_trace_mask(); + let mul_res_limb_8_col36 = eval.next_trace_mask(); + let mul_res_limb_9_col37 = eval.next_trace_mask(); + let mul_res_limb_10_col38 = eval.next_trace_mask(); + let mul_res_limb_11_col39 = eval.next_trace_mask(); + let mul_res_limb_12_col40 = eval.next_trace_mask(); + let mul_res_limb_13_col41 = eval.next_trace_mask(); + let mul_res_limb_14_col42 = eval.next_trace_mask(); + let mul_res_limb_15_col43 = eval.next_trace_mask(); + let mul_res_limb_16_col44 = eval.next_trace_mask(); + let mul_res_limb_17_col45 = eval.next_trace_mask(); + let mul_res_limb_18_col46 = eval.next_trace_mask(); + let mul_res_limb_19_col47 = eval.next_trace_mask(); + let mul_res_limb_20_col48 = eval.next_trace_mask(); + let mul_res_limb_21_col49 = eval.next_trace_mask(); + let mul_res_limb_22_col50 = eval.next_trace_mask(); + let mul_res_limb_23_col51 = eval.next_trace_mask(); + let mul_res_limb_24_col52 = eval.next_trace_mask(); + let mul_res_limb_25_col53 = eval.next_trace_mask(); + let mul_res_limb_26_col54 = eval.next_trace_mask(); + let mul_res_limb_27_col55 = eval.next_trace_mask(); + let k_col56 = eval.next_trace_mask(); + let carry_0_col57 = eval.next_trace_mask(); + let carry_1_col58 = eval.next_trace_mask(); + let carry_2_col59 = eval.next_trace_mask(); + let carry_3_col60 = eval.next_trace_mask(); + let carry_4_col61 = eval.next_trace_mask(); + let carry_5_col62 = eval.next_trace_mask(); + let carry_6_col63 = eval.next_trace_mask(); + let carry_7_col64 = eval.next_trace_mask(); + let carry_8_col65 = eval.next_trace_mask(); + let carry_9_col66 = eval.next_trace_mask(); + let carry_10_col67 = eval.next_trace_mask(); + let carry_11_col68 = eval.next_trace_mask(); + let carry_12_col69 = eval.next_trace_mask(); + let carry_13_col70 = eval.next_trace_mask(); + let carry_14_col71 = eval.next_trace_mask(); + let carry_15_col72 = eval.next_trace_mask(); + let carry_16_col73 = eval.next_trace_mask(); + let carry_17_col74 = eval.next_trace_mask(); + let carry_18_col75 = eval.next_trace_mask(); + let carry_19_col76 = eval.next_trace_mask(); + let carry_20_col77 = eval.next_trace_mask(); + let carry_21_col78 = eval.next_trace_mask(); + let carry_22_col79 = eval.next_trace_mask(); + let carry_23_col80 = eval.next_trace_mask(); + let carry_24_col81 = eval.next_trace_mask(); + let carry_25_col82 = eval.next_trace_mask(); + let carry_26_col83 = eval.next_trace_mask(); + let mul_res_limb_0_col84 = eval.next_trace_mask(); + let mul_res_limb_1_col85 = eval.next_trace_mask(); + let mul_res_limb_2_col86 = eval.next_trace_mask(); + let mul_res_limb_3_col87 = eval.next_trace_mask(); + let mul_res_limb_4_col88 = eval.next_trace_mask(); + let mul_res_limb_5_col89 = eval.next_trace_mask(); + let mul_res_limb_6_col90 = eval.next_trace_mask(); + let mul_res_limb_7_col91 = eval.next_trace_mask(); + let mul_res_limb_8_col92 = eval.next_trace_mask(); + let mul_res_limb_9_col93 = eval.next_trace_mask(); + let mul_res_limb_10_col94 = eval.next_trace_mask(); + let mul_res_limb_11_col95 = eval.next_trace_mask(); + let mul_res_limb_12_col96 = eval.next_trace_mask(); + let mul_res_limb_13_col97 = eval.next_trace_mask(); + let mul_res_limb_14_col98 = eval.next_trace_mask(); + let mul_res_limb_15_col99 = eval.next_trace_mask(); + let mul_res_limb_16_col100 = eval.next_trace_mask(); + let mul_res_limb_17_col101 = eval.next_trace_mask(); + let mul_res_limb_18_col102 = eval.next_trace_mask(); + let mul_res_limb_19_col103 = eval.next_trace_mask(); + let mul_res_limb_20_col104 = eval.next_trace_mask(); + let mul_res_limb_21_col105 = eval.next_trace_mask(); + let mul_res_limb_22_col106 = eval.next_trace_mask(); + let mul_res_limb_23_col107 = eval.next_trace_mask(); + let mul_res_limb_24_col108 = eval.next_trace_mask(); + let mul_res_limb_25_col109 = eval.next_trace_mask(); + let mul_res_limb_26_col110 = eval.next_trace_mask(); + let mul_res_limb_27_col111 = eval.next_trace_mask(); + let k_col112 = eval.next_trace_mask(); + let carry_0_col113 = eval.next_trace_mask(); + let carry_1_col114 = eval.next_trace_mask(); + let carry_2_col115 = eval.next_trace_mask(); + let carry_3_col116 = eval.next_trace_mask(); + let carry_4_col117 = eval.next_trace_mask(); + let carry_5_col118 = eval.next_trace_mask(); + let carry_6_col119 = eval.next_trace_mask(); + let carry_7_col120 = eval.next_trace_mask(); + let carry_8_col121 = eval.next_trace_mask(); + let carry_9_col122 = eval.next_trace_mask(); + let carry_10_col123 = eval.next_trace_mask(); + let carry_11_col124 = eval.next_trace_mask(); + let carry_12_col125 = eval.next_trace_mask(); + let carry_13_col126 = eval.next_trace_mask(); + let carry_14_col127 = eval.next_trace_mask(); + let carry_15_col128 = eval.next_trace_mask(); + let carry_16_col129 = eval.next_trace_mask(); + let carry_17_col130 = eval.next_trace_mask(); + let carry_18_col131 = eval.next_trace_mask(); + let carry_19_col132 = eval.next_trace_mask(); + let carry_20_col133 = eval.next_trace_mask(); + let carry_21_col134 = eval.next_trace_mask(); + let carry_22_col135 = eval.next_trace_mask(); + let carry_23_col136 = eval.next_trace_mask(); + let carry_24_col137 = eval.next_trace_mask(); + let carry_25_col138 = eval.next_trace_mask(); + let carry_26_col139 = eval.next_trace_mask(); + let padding = eval.next_trace_mask(); + + eval.add_constraint(padding.clone() * padding.clone() - padding.clone()); + + // Felt 252 Unpack From 27 Range Check Output. + + // Range Check Big Value. + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[unpacked_limb_0_col10.clone(), unpacked_limb_1_col11.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()), + unpacked_limb_3_col12.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_4_col13.clone(), + (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[unpacked_limb_6_col14.clone(), unpacked_limb_7_col15.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()), + unpacked_limb_9_col16.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_10_col17.clone(), + (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_12_col18.clone(), + unpacked_limb_13_col19.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()), + unpacked_limb_15_col20.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_16_col21.clone(), + (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_18_col22.clone(), + unpacked_limb_19_col23.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()), + unpacked_limb_21_col24.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_22_col25.clone(), + (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + unpacked_limb_24_col26.clone(), + unpacked_limb_25_col27.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()), + input_limb_9_col9.clone(), + ], + )); + + // Mul 252. + + // Range Check Big Value. + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_0_col28.clone(), mul_res_limb_1_col29.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_2_col30.clone(), mul_res_limb_3_col31.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_4_col32.clone(), mul_res_limb_5_col33.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_6_col34.clone(), mul_res_limb_7_col35.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_8_col36.clone(), mul_res_limb_9_col37.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_10_col38.clone(), mul_res_limb_11_col39.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_12_col40.clone(), mul_res_limb_13_col41.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_14_col42.clone(), mul_res_limb_15_col43.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_16_col44.clone(), mul_res_limb_17_col45.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_18_col46.clone(), mul_res_limb_19_col47.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_20_col48.clone(), mul_res_limb_21_col49.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_22_col50.clone(), mul_res_limb_23_col51.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_24_col52.clone(), mul_res_limb_25_col53.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_26_col54.clone(), mul_res_limb_27_col55.clone()], + )); + + // Verify Mul 252. + + let conv_tmp_fec87_3 = eval.add_intermediate( + ((M31_0.clone() - mul_res_limb_0_col28.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_4 = eval.add_intermediate( + (((M31_0.clone() - mul_res_limb_1_col29.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_1_col11.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_5 = eval.add_intermediate( + ((((M31_0.clone() - mul_res_limb_2_col30.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_6 = eval.add_intermediate( + (((((M31_0.clone() - mul_res_limb_3_col31.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_3_col12.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_7 = eval.add_intermediate( + ((((((M31_0.clone() - mul_res_limb_4_col32.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_1_col11.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_4_col13.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_8 = eval.add_intermediate( + (((((((M31_0.clone() - mul_res_limb_5_col33.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_9 = eval.add_intermediate( + ((((((((M31_0.clone() - mul_res_limb_6_col34.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_3_col12.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_6_col14.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_10 = eval.add_intermediate( + (((((((((M31_0.clone() - mul_res_limb_7_col35.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_1_col11.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_4_col13.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_7_col15.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_11 = eval.add_intermediate( + ((((((((((M31_0.clone() - mul_res_limb_8_col36.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_12 = eval.add_intermediate( + (((((((((((M31_0.clone() - mul_res_limb_9_col37.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_3_col12.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_6_col14.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_9_col16.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_13 = eval.add_intermediate( + ((((((((((((M31_0.clone() - mul_res_limb_10_col38.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_1_col11.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_4_col13.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_7_col15.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_10_col17.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_14 = eval.add_intermediate( + (((((((((((((M31_0.clone() - mul_res_limb_11_col39.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_15 = eval.add_intermediate( + ((((((((((((((M31_0.clone() - mul_res_limb_12_col40.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_3_col12.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_6_col14.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_9_col16.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_16 = eval.add_intermediate( + (((((((((((((((M31_0.clone() - mul_res_limb_13_col41.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_1_col11.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_4_col13.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_7_col15.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_10_col17.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_17 = eval.add_intermediate( + ((((((((((((((((M31_0.clone() - mul_res_limb_14_col42.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_18 = eval.add_intermediate( + (((((((((((((((((M31_0.clone() - mul_res_limb_15_col43.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_3_col12.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_6_col14.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_9_col16.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_19 = eval.add_intermediate( + ((((((((((((((((((M31_0.clone() - mul_res_limb_16_col44.clone()) + + (unpacked_limb_0_col10.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_1_col11.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_4_col13.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_7_col15.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_10_col17.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_20 = eval.add_intermediate( + (((((((((((((((((((M31_0.clone() - mul_res_limb_17_col45.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_21 = eval.add_intermediate( + ((((((((((((((((((((M31_0.clone() - mul_res_limb_18_col46.clone()) + + (unpacked_limb_0_col10.clone() + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_3_col12.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_6_col14.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_9_col16.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_22 = eval.add_intermediate( + (((((((((((((((((((((M31_0.clone() - mul_res_limb_19_col47.clone()) + + (unpacked_limb_0_col10.clone() + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_1_col11.clone() + * unpacked_limb_18_col22.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_4_col13.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_7_col15.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_10_col17.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_23 = eval.add_intermediate( + ((((((((((((((((((((((M31_0.clone() + - mul_res_limb_20_col48.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() + * unpacked_limb_19_col23.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_24 = eval.add_intermediate( + (((((((((((((((((((((((M31_0.clone() + - mul_res_limb_21_col49.clone()) + + (unpacked_limb_0_col10.clone() + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_3_col12.clone() + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_6_col14.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_9_col16.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_25 = eval.add_intermediate( + ((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_22_col50.clone()) + + (unpacked_limb_0_col10.clone() + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_1_col11.clone() + * unpacked_limb_21_col24.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_4_col13.clone() + * unpacked_limb_18_col22.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_7_col15.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_10_col17.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_26 = eval.add_intermediate( + (((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_23_col51.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() + * unpacked_limb_22_col25.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() + * unpacked_limb_19_col23.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_27 = eval.add_intermediate( + ((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_24_col52.clone()) + + (unpacked_limb_0_col10.clone() + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_3_col12.clone() + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_6_col14.clone() + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_9_col16.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_28 = eval.add_intermediate( + (((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_25_col53.clone()) + + (unpacked_limb_0_col10.clone() + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_1_col11.clone() + * unpacked_limb_24_col26.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_4_col13.clone() + * unpacked_limb_21_col24.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_7_col15.clone() + * unpacked_limb_18_col22.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_10_col17.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_1_col11.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_29 = eval.add_intermediate( + ((((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_26_col54.clone()) + + (unpacked_limb_0_col10.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_1_col11.clone() + * unpacked_limb_25_col27.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() + * unpacked_limb_22_col25.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() + * unpacked_limb_19_col23.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_16_col21.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_1_col11.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_30 = eval.add_intermediate( + (((((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_27_col55.clone()) + + (unpacked_limb_0_col10.clone() + * input_limb_9_col9.clone())) + + (unpacked_limb_1_col11.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() + * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_3_col12.clone() + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_6_col14.clone() + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_9_col16.clone() + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_3_col12.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_1_col11.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_0_col10.clone())), + ); + let conv_tmp_fec87_31 = eval.add_intermediate( + (((((((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_1_col11.clone() + * input_limb_9_col9.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() + * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_3_col12.clone() + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_4_col13.clone() + * unpacked_limb_24_col26.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_7_col15.clone() + * unpacked_limb_21_col24.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_18_col22.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_4_col13.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_3_col12.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_1_col11.clone())), + ); + let conv_tmp_fec87_32 = eval.add_intermediate( + ((((((((((((((((((((((((((M31_0.clone() + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() + * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_3_col12.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_4_col13.clone() + * unpacked_limb_25_col27.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() + * unpacked_limb_22_col25.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_19_col23.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_4_col4.clone() + - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_4_col13.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_3_col12.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_33 = eval.add_intermediate( + (((((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_3_col12.clone() + * input_limb_9_col9.clone())) + + (unpacked_limb_4_col13.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_6_col14.clone() + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_9_col16.clone() + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_18_col22.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_6_col14.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_4_col13.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_3_col12.clone())), + ); + let conv_tmp_fec87_34 = eval.add_intermediate( + ((((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_4_col13.clone() + * input_limb_9_col9.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_6_col14.clone() + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_7_col15.clone() + * unpacked_limb_24_col26.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_21_col24.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_19_col23.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_18_col22.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_7_col15.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_6_col14.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_4_col13.clone())), + ); + let conv_tmp_fec87_35 = eval.add_intermediate( + (((((((((((((((((((((((M31_0.clone() + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_6_col14.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_7_col15.clone() + * unpacked_limb_25_col27.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_22_col25.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_19_col23.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_5_col5.clone() + - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_7_col15.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_6_col14.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_36 = eval.add_intermediate( + ((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_6_col14.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_7_col15.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() + * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_9_col16.clone() + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_21_col24.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_18_col22.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_9_col16.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_7_col15.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_6_col14.clone())), + ); + let conv_tmp_fec87_37 = eval.add_intermediate( + (((((((((((((((((((((M31_0.clone() + + (unpacked_limb_7_col15.clone() * input_limb_9_col9.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_9_col16.clone() + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_24_col26.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_22_col25.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_21_col24.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_19_col23.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_18_col22.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_10_col17.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_9_col16.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_7_col15.clone())), + ); + let conv_tmp_fec87_38 = eval.add_intermediate( + ((((((((((((((((((((M31_0.clone() + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_9_col16.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_10_col17.clone() + * unpacked_limb_25_col27.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_22_col25.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_6_col6.clone() + - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_19_col23.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_10_col17.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_9_col16.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_39 = eval.add_intermediate( + (((((((((((((((((((M31_0.clone() + + (unpacked_limb_9_col16.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_10_col17.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_12_col18.clone() * unpacked_limb_24_col26.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_21_col24.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_18_col22.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_12_col18.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_10_col17.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_9_col16.clone())), + ); + let conv_tmp_fec87_40 = eval.add_intermediate( + ((((((((((((((((((M31_0.clone() + + (unpacked_limb_10_col17.clone() * input_limb_9_col9.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_12_col18.clone() * unpacked_limb_25_col27.clone())) + + (unpacked_limb_13_col19.clone() * unpacked_limb_24_col26.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_22_col25.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_21_col24.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_19_col23.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_18_col22.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_13_col19.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_12_col18.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_10_col17.clone())), + ); + let conv_tmp_fec87_41 = eval.add_intermediate( + (((((((((((((((((M31_0.clone() + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_12_col18.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_13_col19.clone() * unpacked_limb_25_col27.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_7_col7.clone() + - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_22_col25.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_19_col23.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_13_col19.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_12_col18.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_42 = eval.add_intermediate( + ((((((((((((((((M31_0.clone() + + (unpacked_limb_12_col18.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_13_col19.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_15_col20.clone() * unpacked_limb_24_col26.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_21_col24.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_18_col22.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_15_col20.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_13_col19.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_12_col18.clone())), + ); + let conv_tmp_fec87_43 = eval.add_intermediate( + (((((((((((((((M31_0.clone() + + (unpacked_limb_13_col19.clone() * input_limb_9_col9.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_15_col20.clone() * unpacked_limb_25_col27.clone())) + + (unpacked_limb_16_col21.clone() * unpacked_limb_24_col26.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_22_col25.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_21_col24.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_19_col23.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_18_col22.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_16_col21.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_15_col20.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_13_col19.clone())), + ); + let conv_tmp_fec87_44 = eval.add_intermediate( + ((((((((((((((M31_0.clone() + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_15_col20.clone() + * (((input_limb_8_col8.clone() + - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_16_col21.clone() * unpacked_limb_25_col27.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_22_col25.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_19_col23.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_16_col21.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_15_col20.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_45 = eval.add_intermediate( + (((((((((((((M31_0.clone() + + (unpacked_limb_15_col20.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_16_col21.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_18_col22.clone() * unpacked_limb_24_col26.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_21_col24.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_18_col22.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_16_col21.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_15_col20.clone())), + ); + let conv_tmp_fec87_46 = eval.add_intermediate( + ((((((((((((M31_0.clone() + + (unpacked_limb_16_col21.clone() * input_limb_9_col9.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_18_col22.clone() * unpacked_limb_25_col27.clone())) + + (unpacked_limb_19_col23.clone() * unpacked_limb_24_col26.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_22_col25.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_21_col24.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_19_col23.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_18_col22.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_16_col21.clone())), + ); + let conv_tmp_fec87_47 = eval.add_intermediate( + (((((((((((M31_0.clone() + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_18_col22.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_19_col23.clone() * unpacked_limb_25_col27.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_22_col25.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_19_col23.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_18_col22.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_48 = eval.add_intermediate( + ((((((((((M31_0.clone() + + (unpacked_limb_18_col22.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_19_col23.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_21_col24.clone() * unpacked_limb_24_col26.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_21_col24.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_19_col23.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_18_col22.clone())), + ); + let conv_tmp_fec87_49 = eval.add_intermediate( + (((((((((M31_0.clone() + + (unpacked_limb_19_col23.clone() * input_limb_9_col9.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_21_col24.clone() * unpacked_limb_25_col27.clone())) + + (unpacked_limb_22_col25.clone() * unpacked_limb_24_col26.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_22_col25.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_21_col24.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_19_col23.clone())), + ); + let conv_tmp_fec87_50 = eval.add_intermediate( + ((((((((M31_0.clone() + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_21_col24.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_22_col25.clone() * unpacked_limb_25_col27.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_22_col25.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_21_col24.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_51 = eval.add_intermediate( + (((((((M31_0.clone() + + (unpacked_limb_21_col24.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_22_col25.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (unpacked_limb_24_col26.clone() * unpacked_limb_24_col26.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_22_col25.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_21_col24.clone())), + ); + let conv_tmp_fec87_52 = eval.add_intermediate( + ((((((M31_0.clone() + + (unpacked_limb_22_col25.clone() * input_limb_9_col9.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_24_col26.clone() * unpacked_limb_25_col27.clone())) + + (unpacked_limb_25_col27.clone() * unpacked_limb_24_col26.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_22_col25.clone())), + ); + let conv_tmp_fec87_53 = eval.add_intermediate( + (((((M31_0.clone() + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (unpacked_limb_24_col26.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (unpacked_limb_25_col27.clone() * unpacked_limb_25_col27.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_24_col26.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_54 = eval.add_intermediate( + ((((M31_0.clone() + (unpacked_limb_24_col26.clone() * input_limb_9_col9.clone())) + + (unpacked_limb_25_col27.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * unpacked_limb_25_col27.clone())) + + (input_limb_9_col9.clone() * unpacked_limb_24_col26.clone())), + ); + let conv_tmp_fec87_55 = eval.add_intermediate( + (((M31_0.clone() + (unpacked_limb_25_col27.clone() * input_limb_9_col9.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))) + + (input_limb_9_col9.clone() * unpacked_limb_25_col27.clone())), + ); + let conv_tmp_fec87_56 = eval.add_intermediate( + ((M31_0.clone() + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * input_limb_9_col9.clone())) + + (input_limb_9_col9.clone() + * (((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()))), + ); + let conv_tmp_fec87_57 = eval.add_intermediate( + (M31_0.clone() + (input_limb_9_col9.clone() * input_limb_9_col9.clone())), + ); + let conv_mod_tmp_fec87_58 = eval.add_intermediate( + (((M31_0.clone() + (M31_32.clone() * conv_tmp_fec87_3.clone())) + - (M31_4.clone() * conv_tmp_fec87_24.clone())) + + (M31_8.clone() * conv_tmp_fec87_52.clone())), + ); + let conv_mod_tmp_fec87_59 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_3.clone())) + + (M31_32.clone() * conv_tmp_fec87_4.clone())) + - (M31_4.clone() * conv_tmp_fec87_25.clone())) + + (M31_8.clone() * conv_tmp_fec87_53.clone())), + ); + let conv_mod_tmp_fec87_60 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_4.clone())) + + (M31_32.clone() * conv_tmp_fec87_5.clone())) + - (M31_4.clone() * conv_tmp_fec87_26.clone())) + + (M31_8.clone() * conv_tmp_fec87_54.clone())), + ); + let conv_mod_tmp_fec87_61 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_5.clone())) + + (M31_32.clone() * conv_tmp_fec87_6.clone())) + - (M31_4.clone() * conv_tmp_fec87_27.clone())) + + (M31_8.clone() * conv_tmp_fec87_55.clone())), + ); + let conv_mod_tmp_fec87_62 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_6.clone())) + + (M31_32.clone() * conv_tmp_fec87_7.clone())) + - (M31_4.clone() * conv_tmp_fec87_28.clone())) + + (M31_8.clone() * conv_tmp_fec87_56.clone())), + ); + let conv_mod_tmp_fec87_63 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_7.clone())) + + (M31_32.clone() * conv_tmp_fec87_8.clone())) + - (M31_4.clone() * conv_tmp_fec87_29.clone())) + + (M31_8.clone() * conv_tmp_fec87_57.clone())), + ); + let conv_mod_tmp_fec87_64 = eval.add_intermediate( + (((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_8.clone())) + + (M31_32.clone() * conv_tmp_fec87_9.clone())) + - (M31_4.clone() * conv_tmp_fec87_30.clone())), + ); + let conv_mod_tmp_fec87_65 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_3.clone())) + + (M31_1.clone() * conv_tmp_fec87_9.clone())) + + (M31_32.clone() * conv_tmp_fec87_10.clone())) + - (M31_4.clone() * conv_tmp_fec87_31.clone())), + ); + let conv_mod_tmp_fec87_66 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_4.clone())) + + (M31_1.clone() * conv_tmp_fec87_10.clone())) + + (M31_32.clone() * conv_tmp_fec87_11.clone())) + - (M31_4.clone() * conv_tmp_fec87_32.clone())), + ); + let conv_mod_tmp_fec87_67 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_5.clone())) + + (M31_1.clone() * conv_tmp_fec87_11.clone())) + + (M31_32.clone() * conv_tmp_fec87_12.clone())) + - (M31_4.clone() * conv_tmp_fec87_33.clone())), + ); + let conv_mod_tmp_fec87_68 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_6.clone())) + + (M31_1.clone() * conv_tmp_fec87_12.clone())) + + (M31_32.clone() * conv_tmp_fec87_13.clone())) + - (M31_4.clone() * conv_tmp_fec87_34.clone())), + ); + let conv_mod_tmp_fec87_69 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_7.clone())) + + (M31_1.clone() * conv_tmp_fec87_13.clone())) + + (M31_32.clone() * conv_tmp_fec87_14.clone())) + - (M31_4.clone() * conv_tmp_fec87_35.clone())), + ); + let conv_mod_tmp_fec87_70 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_8.clone())) + + (M31_1.clone() * conv_tmp_fec87_14.clone())) + + (M31_32.clone() * conv_tmp_fec87_15.clone())) + - (M31_4.clone() * conv_tmp_fec87_36.clone())), + ); + let conv_mod_tmp_fec87_71 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_9.clone())) + + (M31_1.clone() * conv_tmp_fec87_15.clone())) + + (M31_32.clone() * conv_tmp_fec87_16.clone())) + - (M31_4.clone() * conv_tmp_fec87_37.clone())), + ); + let conv_mod_tmp_fec87_72 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_10.clone())) + + (M31_1.clone() * conv_tmp_fec87_16.clone())) + + (M31_32.clone() * conv_tmp_fec87_17.clone())) + - (M31_4.clone() * conv_tmp_fec87_38.clone())), + ); + let conv_mod_tmp_fec87_73 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_11.clone())) + + (M31_1.clone() * conv_tmp_fec87_17.clone())) + + (M31_32.clone() * conv_tmp_fec87_18.clone())) + - (M31_4.clone() * conv_tmp_fec87_39.clone())), + ); + let conv_mod_tmp_fec87_74 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_12.clone())) + + (M31_1.clone() * conv_tmp_fec87_18.clone())) + + (M31_32.clone() * conv_tmp_fec87_19.clone())) + - (M31_4.clone() * conv_tmp_fec87_40.clone())), + ); + let conv_mod_tmp_fec87_75 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_13.clone())) + + (M31_1.clone() * conv_tmp_fec87_19.clone())) + + (M31_32.clone() * conv_tmp_fec87_20.clone())) + - (M31_4.clone() * conv_tmp_fec87_41.clone())), + ); + let conv_mod_tmp_fec87_76 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_14.clone())) + + (M31_1.clone() * conv_tmp_fec87_20.clone())) + + (M31_32.clone() * conv_tmp_fec87_21.clone())) + - (M31_4.clone() * conv_tmp_fec87_42.clone())), + ); + let conv_mod_tmp_fec87_77 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_15.clone())) + + (M31_1.clone() * conv_tmp_fec87_21.clone())) + + (M31_32.clone() * conv_tmp_fec87_22.clone())) + - (M31_4.clone() * conv_tmp_fec87_43.clone())), + ); + let conv_mod_tmp_fec87_78 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_16.clone())) + + (M31_1.clone() * conv_tmp_fec87_22.clone())) + + (M31_32.clone() * conv_tmp_fec87_23.clone())) + - (M31_4.clone() * conv_tmp_fec87_44.clone())), + ); + let conv_mod_tmp_fec87_79 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_17.clone())) + + (M31_1.clone() * conv_tmp_fec87_23.clone())) + - (M31_4.clone() * conv_tmp_fec87_45.clone())) + + (M31_64.clone() * conv_tmp_fec87_52.clone())), + ); + let conv_mod_tmp_fec87_80 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_18.clone())) + - (M31_4.clone() * conv_tmp_fec87_46.clone())) + + (M31_2.clone() * conv_tmp_fec87_52.clone())) + + (M31_64.clone() * conv_tmp_fec87_53.clone())), + ); + let conv_mod_tmp_fec87_81 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_19.clone())) + - (M31_4.clone() * conv_tmp_fec87_47.clone())) + + (M31_2.clone() * conv_tmp_fec87_53.clone())) + + (M31_64.clone() * conv_tmp_fec87_54.clone())), + ); + let conv_mod_tmp_fec87_82 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_20.clone())) + - (M31_4.clone() * conv_tmp_fec87_48.clone())) + + (M31_2.clone() * conv_tmp_fec87_54.clone())) + + (M31_64.clone() * conv_tmp_fec87_55.clone())), + ); + let conv_mod_tmp_fec87_83 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_21.clone())) + - (M31_4.clone() * conv_tmp_fec87_49.clone())) + + (M31_2.clone() * conv_tmp_fec87_55.clone())) + + (M31_64.clone() * conv_tmp_fec87_56.clone())), + ); + let conv_mod_tmp_fec87_84 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_22.clone())) + - (M31_4.clone() * conv_tmp_fec87_50.clone())) + + (M31_2.clone() * conv_tmp_fec87_56.clone())) + + (M31_64.clone() * conv_tmp_fec87_57.clone())), + ); + let conv_mod_tmp_fec87_85 = eval.add_intermediate( + (((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_23.clone())) + - (M31_4.clone() * conv_tmp_fec87_51.clone())) + + (M31_2.clone() * conv_tmp_fec87_57.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(k_col56.clone() + M31_262144.clone())], + )); + + eval.add_constraint( + ((carry_0_col57.clone() * M31_512.clone()) + - ((conv_mod_tmp_fec87_58.clone() - (M31_1.clone() * k_col56.clone())) + + M31_0.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_0_col57.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_1_col58.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_59.clone() + carry_0_col57.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_1_col58.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_2_col59.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_60.clone() + carry_1_col58.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_2_col59.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_3_col60.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_61.clone() + carry_2_col59.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_3_col60.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_4_col61.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_62.clone() + carry_3_col60.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_4_col61.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_5_col62.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_63.clone() + carry_4_col61.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_5_col62.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_6_col63.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_64.clone() + carry_5_col62.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_6_col63.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_7_col64.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_65.clone() + carry_6_col63.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_7_col64.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_8_col65.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_66.clone() + carry_7_col64.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_8_col65.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_9_col66.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_67.clone() + carry_8_col65.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_9_col66.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_10_col67.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_68.clone() + carry_9_col66.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_10_col67.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_11_col68.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_69.clone() + carry_10_col67.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_11_col68.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_12_col69.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_70.clone() + carry_11_col68.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_12_col69.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_13_col70.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_71.clone() + carry_12_col69.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_13_col70.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_14_col71.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_72.clone() + carry_13_col70.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_14_col71.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_15_col72.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_73.clone() + carry_14_col71.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_15_col72.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_16_col73.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_74.clone() + carry_15_col72.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_16_col73.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_17_col74.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_75.clone() + carry_16_col73.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_17_col74.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_18_col75.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_76.clone() + carry_17_col74.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_18_col75.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_19_col76.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_77.clone() + carry_18_col75.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_19_col76.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_20_col77.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_78.clone() + carry_19_col76.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_20_col77.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_21_col78.clone() * M31_512.clone()) + - ((conv_mod_tmp_fec87_79.clone() - (M31_136.clone() * k_col56.clone())) + + carry_20_col77.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_21_col78.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_22_col79.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_80.clone() + carry_21_col78.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_22_col79.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_23_col80.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_81.clone() + carry_22_col79.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_23_col80.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_24_col81.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_82.clone() + carry_23_col80.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_24_col81.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_25_col82.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_83.clone() + carry_24_col81.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_25_col82.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_26_col83.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_84.clone() + carry_25_col82.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_26_col83.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((conv_mod_tmp_fec87_85.clone() - (M31_256.clone() * k_col56.clone())) + + carry_26_col83.clone()), + ); + + // Mul 252. + + // Range Check Big Value. + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_0_col84.clone(), mul_res_limb_1_col85.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_2_col86.clone(), mul_res_limb_3_col87.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_4_col88.clone(), mul_res_limb_5_col89.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_6_col90.clone(), mul_res_limb_7_col91.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_8_col92.clone(), mul_res_limb_9_col93.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_10_col94.clone(), mul_res_limb_11_col95.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_12_col96.clone(), mul_res_limb_13_col97.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[mul_res_limb_14_col98.clone(), mul_res_limb_15_col99.clone()], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + mul_res_limb_16_col100.clone(), + mul_res_limb_17_col101.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + mul_res_limb_18_col102.clone(), + mul_res_limb_19_col103.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + mul_res_limb_20_col104.clone(), + mul_res_limb_21_col105.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + mul_res_limb_22_col106.clone(), + mul_res_limb_23_col107.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + mul_res_limb_24_col108.clone(), + mul_res_limb_25_col109.clone(), + ], + )); + + eval.add_to_relation(RelationEntry::new( + &self.range_check_9_9_lookup_elements, + E::EF::one(), + &[ + mul_res_limb_26_col110.clone(), + mul_res_limb_27_col111.clone(), + ], + )); + + // Verify Mul 252. + + let conv_tmp_fec87_88 = eval.add_intermediate( + ((M31_0.clone() - mul_res_limb_0_col84.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_89 = eval.add_intermediate( + (((M31_0.clone() - mul_res_limb_1_col85.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_90 = eval.add_intermediate( + ((((M31_0.clone() - mul_res_limb_2_col86.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_91 = eval.add_intermediate( + (((((M31_0.clone() - mul_res_limb_3_col87.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_92 = eval.add_intermediate( + ((((((M31_0.clone() - mul_res_limb_4_col88.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_93 = eval.add_intermediate( + (((((((M31_0.clone() - mul_res_limb_5_col89.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_94 = eval.add_intermediate( + ((((((((M31_0.clone() - mul_res_limb_6_col90.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_95 = eval.add_intermediate( + (((((((((M31_0.clone() - mul_res_limb_7_col91.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_96 = eval.add_intermediate( + ((((((((((M31_0.clone() - mul_res_limb_8_col92.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_97 = eval.add_intermediate( + (((((((((((M31_0.clone() - mul_res_limb_9_col93.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_98 = eval.add_intermediate( + ((((((((((((M31_0.clone() - mul_res_limb_10_col94.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_99 = eval.add_intermediate( + (((((((((((((M31_0.clone() - mul_res_limb_11_col95.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_100 = eval.add_intermediate( + ((((((((((((((M31_0.clone() - mul_res_limb_12_col96.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_101 = eval.add_intermediate( + (((((((((((((((M31_0.clone() - mul_res_limb_13_col97.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_102 = eval.add_intermediate( + ((((((((((((((((M31_0.clone() - mul_res_limb_14_col98.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_103 = eval.add_intermediate( + (((((((((((((((((M31_0.clone() - mul_res_limb_15_col99.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_104 = eval.add_intermediate( + ((((((((((((((((((M31_0.clone() - mul_res_limb_16_col100.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_105 = eval.add_intermediate( + (((((((((((((((((((M31_0.clone() - mul_res_limb_17_col101.clone()) + + (unpacked_limb_0_col10.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_0_col0.clone() - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_106 = eval.add_intermediate( + ((((((((((((((((((((M31_0.clone() - mul_res_limb_18_col102.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_1_col11.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_107 = eval.add_intermediate( + (((((((((((((((((((((M31_0.clone() + - mul_res_limb_19_col103.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_18_col46.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_108 = eval.add_intermediate( + ((((((((((((((((((((((M31_0.clone() + - mul_res_limb_20_col104.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_19_col47.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_3_col12.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_1_col1.clone() - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_109 = eval.add_intermediate( + (((((((((((((((((((((((M31_0.clone() + - mul_res_limb_21_col105.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_20_col48.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_4_col13.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_110 = eval.add_intermediate( + ((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_22_col106.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_21_col49.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_18_col46.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_111 = eval.add_intermediate( + (((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_23_col107.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_22_col50.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_19_col47.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_6_col14.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_2_col2.clone() - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_112 = eval.add_intermediate( + ((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_24_col108.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_23_col51.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_20_col48.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_7_col15.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_113 = eval.add_intermediate( + (((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_25_col109.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_24_col52.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_21_col49.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_18_col46.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_1_col29.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_114 = eval.add_intermediate( + ((((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_26_col110.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_25_col53.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_22_col50.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_19_col47.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_9_col16.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_10_col17.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_3_col3.clone() - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_2_col30.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_1_col29.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_115 = eval.add_intermediate( + (((((((((((((((((((((((((((((M31_0.clone() + - mul_res_limb_27_col111.clone()) + + (unpacked_limb_0_col10.clone() + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_1_col11.clone() + * mul_res_limb_26_col54.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() + * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_23_col51.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_20_col48.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_17_col45.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_3_col31.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_2_col30.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_1_col29.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_0_col28.clone())), + ); + let conv_tmp_fec87_116 = eval.add_intermediate( + (((((((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_1_col11.clone() + * mul_res_limb_27_col55.clone())) + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() + * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_24_col52.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_21_col49.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_18_col46.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_4_col32.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_3_col31.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_2_col30.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_1_col29.clone())), + ); + let conv_tmp_fec87_117 = eval.add_intermediate( + ((((((((((((((((((((((((((M31_0.clone() + + ((((input_limb_0_col0.clone() + - unpacked_limb_0_col10.clone()) + - (unpacked_limb_1_col11.clone() + * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_3_col12.clone() + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_25_col53.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_22_col50.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_19_col47.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_5_col33.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_4_col32.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_3_col31.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_2_col30.clone())), + ); + let conv_tmp_fec87_118 = eval.add_intermediate( + (((((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_3_col12.clone() + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_4_col13.clone() + * mul_res_limb_26_col54.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_23_col51.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_20_col48.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_18_col46.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_6_col34.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_5_col33.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_4_col32.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_3_col31.clone())), + ); + let conv_tmp_fec87_119 = eval.add_intermediate( + ((((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_4_col13.clone() + * mul_res_limb_27_col55.clone())) + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_24_col52.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_21_col49.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_19_col47.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_18_col46.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_7_col35.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_6_col34.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_5_col33.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_4_col32.clone())), + ); + let conv_tmp_fec87_120 = eval.add_intermediate( + (((((((((((((((((((((((M31_0.clone() + + ((((input_limb_1_col1.clone() + - unpacked_limb_3_col12.clone()) + - (unpacked_limb_4_col13.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_6_col14.clone() + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_25_col53.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_22_col50.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_20_col48.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_19_col47.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_8_col36.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_7_col35.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_6_col34.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_5_col33.clone())), + ); + let conv_tmp_fec87_121 = eval.add_intermediate( + ((((((((((((((((((((((M31_0.clone() + + (unpacked_limb_6_col14.clone() + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_7_col15.clone() + * mul_res_limb_26_col54.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_23_col51.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_21_col49.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_20_col48.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_18_col46.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_9_col37.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_8_col36.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_7_col35.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_6_col34.clone())), + ); + let conv_tmp_fec87_122 = eval.add_intermediate( + (((((((((((((((((((((M31_0.clone() + + (unpacked_limb_7_col15.clone() + * mul_res_limb_27_col55.clone())) + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_24_col52.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_22_col50.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_21_col49.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_19_col47.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_18_col46.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_10_col38.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_9_col37.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_8_col36.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_7_col35.clone())), + ); + let conv_tmp_fec87_123 = eval.add_intermediate( + ((((((((((((((((((((M31_0.clone() + + ((((input_limb_2_col2.clone() + - unpacked_limb_6_col14.clone()) + - (unpacked_limb_7_col15.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_9_col16.clone() + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_25_col53.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_23_col51.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_22_col50.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_20_col48.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_19_col47.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_11_col39.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_10_col38.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_9_col37.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_8_col36.clone())), + ); + let conv_tmp_fec87_124 = eval.add_intermediate( + (((((((((((((((((((M31_0.clone() + + (unpacked_limb_9_col16.clone() + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_10_col17.clone() + * mul_res_limb_26_col54.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_24_col52.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_23_col51.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_21_col49.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_20_col48.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_18_col46.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_12_col40.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_11_col39.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_10_col38.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_9_col37.clone())), + ); + let conv_tmp_fec87_125 = eval.add_intermediate( + ((((((((((((((((((M31_0.clone() + + (unpacked_limb_10_col17.clone() + * mul_res_limb_27_col55.clone())) + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_25_col53.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_24_col52.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_22_col50.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_21_col49.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_19_col47.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_18_col46.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_13_col41.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_12_col40.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_11_col39.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_10_col38.clone())), + ); + let conv_tmp_fec87_126 = eval.add_intermediate( + (((((((((((((((((M31_0.clone() + + ((((input_limb_3_col3.clone() + - unpacked_limb_9_col16.clone()) + - (unpacked_limb_10_col17.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_12_col18.clone() * mul_res_limb_26_col54.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_25_col53.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_23_col51.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_22_col50.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_20_col48.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_19_col47.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_14_col42.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_13_col41.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_12_col40.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_11_col39.clone())), + ); + let conv_tmp_fec87_127 = eval.add_intermediate( + ((((((((((((((((M31_0.clone() + + (unpacked_limb_12_col18.clone() * mul_res_limb_27_col55.clone())) + + (unpacked_limb_13_col19.clone() * mul_res_limb_26_col54.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_24_col52.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_23_col51.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_21_col49.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_20_col48.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_18_col46.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_15_col43.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_14_col42.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_13_col41.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_12_col40.clone())), + ); + let conv_tmp_fec87_128 = eval.add_intermediate( + (((((((((((((((M31_0.clone() + + (unpacked_limb_13_col19.clone() * mul_res_limb_27_col55.clone())) + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_25_col53.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_24_col52.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_22_col50.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_21_col49.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_19_col47.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_18_col46.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_16_col44.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_15_col43.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_14_col42.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_13_col41.clone())), + ); + let conv_tmp_fec87_129 = eval.add_intermediate( + ((((((((((((((M31_0.clone() + + ((((input_limb_4_col4.clone() - unpacked_limb_12_col18.clone()) + - (unpacked_limb_13_col19.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_15_col20.clone() * mul_res_limb_26_col54.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_25_col53.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_23_col51.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_22_col50.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_20_col48.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_19_col47.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_17_col45.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_16_col44.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_15_col43.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_14_col42.clone())), + ); + let conv_tmp_fec87_130 = eval.add_intermediate( + (((((((((((((M31_0.clone() + + (unpacked_limb_15_col20.clone() * mul_res_limb_27_col55.clone())) + + (unpacked_limb_16_col21.clone() * mul_res_limb_26_col54.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_24_col52.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_23_col51.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_21_col49.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_20_col48.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_18_col46.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_17_col45.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_16_col44.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_15_col43.clone())), + ); + let conv_tmp_fec87_131 = eval.add_intermediate( + ((((((((((((M31_0.clone() + + (unpacked_limb_16_col21.clone() * mul_res_limb_27_col55.clone())) + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_25_col53.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_24_col52.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_22_col50.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_21_col49.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_19_col47.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_18_col46.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_17_col45.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_16_col44.clone())), + ); + let conv_tmp_fec87_132 = eval.add_intermediate( + (((((((((((M31_0.clone() + + ((((input_limb_5_col5.clone() - unpacked_limb_15_col20.clone()) + - (unpacked_limb_16_col21.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_18_col22.clone() * mul_res_limb_26_col54.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_25_col53.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_23_col51.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_22_col50.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_20_col48.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_19_col47.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_18_col46.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_17_col45.clone())), + ); + let conv_tmp_fec87_133 = eval.add_intermediate( + ((((((((((M31_0.clone() + + (unpacked_limb_18_col22.clone() * mul_res_limb_27_col55.clone())) + + (unpacked_limb_19_col23.clone() * mul_res_limb_26_col54.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_24_col52.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_23_col51.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_21_col49.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_20_col48.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_19_col47.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_18_col46.clone())), + ); + let conv_tmp_fec87_134 = eval.add_intermediate( + (((((((((M31_0.clone() + + (unpacked_limb_19_col23.clone() * mul_res_limb_27_col55.clone())) + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_25_col53.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_24_col52.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_22_col50.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_21_col49.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_20_col48.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_19_col47.clone())), + ); + let conv_tmp_fec87_135 = eval.add_intermediate( + ((((((((M31_0.clone() + + ((((input_limb_6_col6.clone() - unpacked_limb_18_col22.clone()) + - (unpacked_limb_19_col23.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_21_col24.clone() * mul_res_limb_26_col54.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_25_col53.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_23_col51.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_22_col50.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_21_col49.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_20_col48.clone())), + ); + let conv_tmp_fec87_136 = eval.add_intermediate( + (((((((M31_0.clone() + + (unpacked_limb_21_col24.clone() * mul_res_limb_27_col55.clone())) + + (unpacked_limb_22_col25.clone() * mul_res_limb_26_col54.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_24_col52.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_23_col51.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_22_col50.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_21_col49.clone())), + ); + let conv_tmp_fec87_137 = eval.add_intermediate( + ((((((M31_0.clone() + + (unpacked_limb_22_col25.clone() * mul_res_limb_27_col55.clone())) + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_25_col53.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_24_col52.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_23_col51.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_22_col50.clone())), + ); + let conv_tmp_fec87_138 = eval.add_intermediate( + (((((M31_0.clone() + + ((((input_limb_7_col7.clone() - unpacked_limb_21_col24.clone()) + - (unpacked_limb_22_col25.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (unpacked_limb_24_col26.clone() * mul_res_limb_26_col54.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_25_col53.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_24_col52.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_23_col51.clone())), + ); + let conv_tmp_fec87_139 = eval.add_intermediate( + ((((M31_0.clone() + + (unpacked_limb_24_col26.clone() * mul_res_limb_27_col55.clone())) + + (unpacked_limb_25_col27.clone() * mul_res_limb_26_col54.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_25_col53.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_24_col52.clone())), + ); + let conv_tmp_fec87_140 = eval.add_intermediate( + (((M31_0.clone() + (unpacked_limb_25_col27.clone() * mul_res_limb_27_col55.clone())) + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_26_col54.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_25_col53.clone())), + ); + let conv_tmp_fec87_141 = eval.add_intermediate( + ((M31_0.clone() + + ((((input_limb_8_col8.clone() - unpacked_limb_24_col26.clone()) + - (unpacked_limb_25_col27.clone() * M31_512.clone())) + * M31_8192.clone()) + * mul_res_limb_27_col55.clone())) + + (input_limb_9_col9.clone() * mul_res_limb_26_col54.clone())), + ); + let conv_tmp_fec87_142 = eval.add_intermediate( + (M31_0.clone() + (input_limb_9_col9.clone() * mul_res_limb_27_col55.clone())), + ); + let conv_mod_tmp_fec87_143 = eval.add_intermediate( + (((M31_0.clone() + (M31_32.clone() * conv_tmp_fec87_88.clone())) + - (M31_4.clone() * conv_tmp_fec87_109.clone())) + + (M31_8.clone() * conv_tmp_fec87_137.clone())), + ); + let conv_mod_tmp_fec87_144 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_88.clone())) + + (M31_32.clone() * conv_tmp_fec87_89.clone())) + - (M31_4.clone() * conv_tmp_fec87_110.clone())) + + (M31_8.clone() * conv_tmp_fec87_138.clone())), + ); + let conv_mod_tmp_fec87_145 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_89.clone())) + + (M31_32.clone() * conv_tmp_fec87_90.clone())) + - (M31_4.clone() * conv_tmp_fec87_111.clone())) + + (M31_8.clone() * conv_tmp_fec87_139.clone())), + ); + let conv_mod_tmp_fec87_146 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_90.clone())) + + (M31_32.clone() * conv_tmp_fec87_91.clone())) + - (M31_4.clone() * conv_tmp_fec87_112.clone())) + + (M31_8.clone() * conv_tmp_fec87_140.clone())), + ); + let conv_mod_tmp_fec87_147 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_91.clone())) + + (M31_32.clone() * conv_tmp_fec87_92.clone())) + - (M31_4.clone() * conv_tmp_fec87_113.clone())) + + (M31_8.clone() * conv_tmp_fec87_141.clone())), + ); + let conv_mod_tmp_fec87_148 = eval.add_intermediate( + ((((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_92.clone())) + + (M31_32.clone() * conv_tmp_fec87_93.clone())) + - (M31_4.clone() * conv_tmp_fec87_114.clone())) + + (M31_8.clone() * conv_tmp_fec87_142.clone())), + ); + let conv_mod_tmp_fec87_149 = eval.add_intermediate( + (((M31_0.clone() + (M31_1.clone() * conv_tmp_fec87_93.clone())) + + (M31_32.clone() * conv_tmp_fec87_94.clone())) + - (M31_4.clone() * conv_tmp_fec87_115.clone())), + ); + let conv_mod_tmp_fec87_150 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_88.clone())) + + (M31_1.clone() * conv_tmp_fec87_94.clone())) + + (M31_32.clone() * conv_tmp_fec87_95.clone())) + - (M31_4.clone() * conv_tmp_fec87_116.clone())), + ); + let conv_mod_tmp_fec87_151 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_89.clone())) + + (M31_1.clone() * conv_tmp_fec87_95.clone())) + + (M31_32.clone() * conv_tmp_fec87_96.clone())) + - (M31_4.clone() * conv_tmp_fec87_117.clone())), + ); + let conv_mod_tmp_fec87_152 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_90.clone())) + + (M31_1.clone() * conv_tmp_fec87_96.clone())) + + (M31_32.clone() * conv_tmp_fec87_97.clone())) + - (M31_4.clone() * conv_tmp_fec87_118.clone())), + ); + let conv_mod_tmp_fec87_153 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_91.clone())) + + (M31_1.clone() * conv_tmp_fec87_97.clone())) + + (M31_32.clone() * conv_tmp_fec87_98.clone())) + - (M31_4.clone() * conv_tmp_fec87_119.clone())), + ); + let conv_mod_tmp_fec87_154 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_92.clone())) + + (M31_1.clone() * conv_tmp_fec87_98.clone())) + + (M31_32.clone() * conv_tmp_fec87_99.clone())) + - (M31_4.clone() * conv_tmp_fec87_120.clone())), + ); + let conv_mod_tmp_fec87_155 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_93.clone())) + + (M31_1.clone() * conv_tmp_fec87_99.clone())) + + (M31_32.clone() * conv_tmp_fec87_100.clone())) + - (M31_4.clone() * conv_tmp_fec87_121.clone())), + ); + let conv_mod_tmp_fec87_156 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_94.clone())) + + (M31_1.clone() * conv_tmp_fec87_100.clone())) + + (M31_32.clone() * conv_tmp_fec87_101.clone())) + - (M31_4.clone() * conv_tmp_fec87_122.clone())), + ); + let conv_mod_tmp_fec87_157 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_95.clone())) + + (M31_1.clone() * conv_tmp_fec87_101.clone())) + + (M31_32.clone() * conv_tmp_fec87_102.clone())) + - (M31_4.clone() * conv_tmp_fec87_123.clone())), + ); + let conv_mod_tmp_fec87_158 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_96.clone())) + + (M31_1.clone() * conv_tmp_fec87_102.clone())) + + (M31_32.clone() * conv_tmp_fec87_103.clone())) + - (M31_4.clone() * conv_tmp_fec87_124.clone())), + ); + let conv_mod_tmp_fec87_159 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_97.clone())) + + (M31_1.clone() * conv_tmp_fec87_103.clone())) + + (M31_32.clone() * conv_tmp_fec87_104.clone())) + - (M31_4.clone() * conv_tmp_fec87_125.clone())), + ); + let conv_mod_tmp_fec87_160 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_98.clone())) + + (M31_1.clone() * conv_tmp_fec87_104.clone())) + + (M31_32.clone() * conv_tmp_fec87_105.clone())) + - (M31_4.clone() * conv_tmp_fec87_126.clone())), + ); + let conv_mod_tmp_fec87_161 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_99.clone())) + + (M31_1.clone() * conv_tmp_fec87_105.clone())) + + (M31_32.clone() * conv_tmp_fec87_106.clone())) + - (M31_4.clone() * conv_tmp_fec87_127.clone())), + ); + let conv_mod_tmp_fec87_162 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_100.clone())) + + (M31_1.clone() * conv_tmp_fec87_106.clone())) + + (M31_32.clone() * conv_tmp_fec87_107.clone())) + - (M31_4.clone() * conv_tmp_fec87_128.clone())), + ); + let conv_mod_tmp_fec87_163 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_101.clone())) + + (M31_1.clone() * conv_tmp_fec87_107.clone())) + + (M31_32.clone() * conv_tmp_fec87_108.clone())) + - (M31_4.clone() * conv_tmp_fec87_129.clone())), + ); + let conv_mod_tmp_fec87_164 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_102.clone())) + + (M31_1.clone() * conv_tmp_fec87_108.clone())) + - (M31_4.clone() * conv_tmp_fec87_130.clone())) + + (M31_64.clone() * conv_tmp_fec87_137.clone())), + ); + let conv_mod_tmp_fec87_165 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_103.clone())) + - (M31_4.clone() * conv_tmp_fec87_131.clone())) + + (M31_2.clone() * conv_tmp_fec87_137.clone())) + + (M31_64.clone() * conv_tmp_fec87_138.clone())), + ); + let conv_mod_tmp_fec87_166 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_104.clone())) + - (M31_4.clone() * conv_tmp_fec87_132.clone())) + + (M31_2.clone() * conv_tmp_fec87_138.clone())) + + (M31_64.clone() * conv_tmp_fec87_139.clone())), + ); + let conv_mod_tmp_fec87_167 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_105.clone())) + - (M31_4.clone() * conv_tmp_fec87_133.clone())) + + (M31_2.clone() * conv_tmp_fec87_139.clone())) + + (M31_64.clone() * conv_tmp_fec87_140.clone())), + ); + let conv_mod_tmp_fec87_168 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_106.clone())) + - (M31_4.clone() * conv_tmp_fec87_134.clone())) + + (M31_2.clone() * conv_tmp_fec87_140.clone())) + + (M31_64.clone() * conv_tmp_fec87_141.clone())), + ); + let conv_mod_tmp_fec87_169 = eval.add_intermediate( + ((((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_107.clone())) + - (M31_4.clone() * conv_tmp_fec87_135.clone())) + + (M31_2.clone() * conv_tmp_fec87_141.clone())) + + (M31_64.clone() * conv_tmp_fec87_142.clone())), + ); + let conv_mod_tmp_fec87_170 = eval.add_intermediate( + (((M31_0.clone() + (M31_2.clone() * conv_tmp_fec87_108.clone())) + - (M31_4.clone() * conv_tmp_fec87_136.clone())) + + (M31_2.clone() * conv_tmp_fec87_142.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(k_col112.clone() + M31_262144.clone())], + )); + + eval.add_constraint( + ((carry_0_col113.clone() * M31_512.clone()) + - ((conv_mod_tmp_fec87_143.clone() - (M31_1.clone() * k_col112.clone())) + + M31_0.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_0_col113.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_1_col114.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_144.clone() + carry_0_col113.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_1_col114.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_2_col115.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_145.clone() + carry_1_col114.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_2_col115.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_3_col116.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_146.clone() + carry_2_col115.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_3_col116.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_4_col117.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_147.clone() + carry_3_col116.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_4_col117.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_5_col118.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_148.clone() + carry_4_col117.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_5_col118.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_6_col119.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_149.clone() + carry_5_col118.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_6_col119.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_7_col120.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_150.clone() + carry_6_col119.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_7_col120.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_8_col121.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_151.clone() + carry_7_col120.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_8_col121.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_9_col122.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_152.clone() + carry_8_col121.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_9_col122.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_10_col123.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_153.clone() + carry_9_col122.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_10_col123.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_11_col124.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_154.clone() + carry_10_col123.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_11_col124.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_12_col125.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_155.clone() + carry_11_col124.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_12_col125.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_13_col126.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_156.clone() + carry_12_col125.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_13_col126.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_14_col127.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_157.clone() + carry_13_col126.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_14_col127.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_15_col128.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_158.clone() + carry_14_col127.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_15_col128.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_16_col129.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_159.clone() + carry_15_col128.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_16_col129.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_17_col130.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_160.clone() + carry_16_col129.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_17_col130.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_18_col131.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_161.clone() + carry_17_col130.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_18_col131.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_19_col132.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_162.clone() + carry_18_col131.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_19_col132.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_20_col133.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_163.clone() + carry_19_col132.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_20_col133.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_21_col134.clone() * M31_512.clone()) + - ((conv_mod_tmp_fec87_164.clone() - (M31_136.clone() * k_col112.clone())) + + carry_20_col133.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_21_col134.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_22_col135.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_165.clone() + carry_21_col134.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_22_col135.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_23_col136.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_166.clone() + carry_22_col135.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_23_col136.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_24_col137.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_167.clone() + carry_23_col136.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_24_col137.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_25_col138.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_168.clone() + carry_24_col137.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_25_col138.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((carry_26_col139.clone() * M31_512.clone()) + - (conv_mod_tmp_fec87_169.clone() + carry_25_col138.clone())), + ); + eval.add_to_relation(RelationEntry::new( + &self.range_check_19_lookup_elements, + E::EF::one(), + &[(carry_26_col139.clone() + M31_131072.clone())], + )); + + eval.add_constraint( + ((conv_mod_tmp_fec87_170.clone() - (M31_256.clone() * k_col112.clone())) + + carry_26_col139.clone()), + ); + + eval.add_to_relation(RelationEntry::new( + &self.cube_252_lookup_elements, + -E::EF::from(padding.clone()), + &[ + input_limb_0_col0.clone(), + input_limb_1_col1.clone(), + input_limb_2_col2.clone(), + input_limb_3_col3.clone(), + input_limb_4_col4.clone(), + input_limb_5_col5.clone(), + input_limb_6_col6.clone(), + input_limb_7_col7.clone(), + input_limb_8_col8.clone(), + input_limb_9_col9.clone(), + ((mul_res_limb_0_col84.clone() + (mul_res_limb_1_col85.clone() * M31_512.clone())) + + (mul_res_limb_2_col86.clone() * M31_262144.clone())), + ((mul_res_limb_3_col87.clone() + (mul_res_limb_4_col88.clone() * M31_512.clone())) + + (mul_res_limb_5_col89.clone() * M31_262144.clone())), + ((mul_res_limb_6_col90.clone() + (mul_res_limb_7_col91.clone() * M31_512.clone())) + + (mul_res_limb_8_col92.clone() * M31_262144.clone())), + ((mul_res_limb_9_col93.clone() + + (mul_res_limb_10_col94.clone() * M31_512.clone())) + + (mul_res_limb_11_col95.clone() * M31_262144.clone())), + ((mul_res_limb_12_col96.clone() + + (mul_res_limb_13_col97.clone() * M31_512.clone())) + + (mul_res_limb_14_col98.clone() * M31_262144.clone())), + ((mul_res_limb_15_col99.clone() + + (mul_res_limb_16_col100.clone() * M31_512.clone())) + + (mul_res_limb_17_col101.clone() * M31_262144.clone())), + ((mul_res_limb_18_col102.clone() + + (mul_res_limb_19_col103.clone() * M31_512.clone())) + + (mul_res_limb_20_col104.clone() * M31_262144.clone())), + ((mul_res_limb_21_col105.clone() + + (mul_res_limb_22_col106.clone() * M31_512.clone())) + + (mul_res_limb_23_col107.clone() * M31_262144.clone())), + ((mul_res_limb_24_col108.clone() + + (mul_res_limb_25_col109.clone() * M31_512.clone())) + + (mul_res_limb_26_col110.clone() * M31_262144.clone())), + mul_res_limb_27_col111.clone(), + ], + )); + + eval.finalize_logup_in_pairs(); + eval + } +} diff --git a/stwo_cairo_prover/crates/prover/src/components/cube_252/mod.rs b/stwo_cairo_prover/crates/prover/src/components/cube_252/mod.rs new file mode 100644 index 000000000..727b015e0 --- /dev/null +++ b/stwo_cairo_prover/crates/prover/src/components/cube_252/mod.rs @@ -0,0 +1,7 @@ +// TODO(Gali): remove unused. +#![allow(unused)] +pub mod component; +pub mod prover; + +pub use component::{Claim, Component, Eval, InteractionClaim}; +pub use prover::{ClaimGenerator, InteractionClaimGenerator}; diff --git a/stwo_cairo_prover/crates/prover/src/components/cube_252/prover.rs b/stwo_cairo_prover/crates/prover/src/components/cube_252/prover.rs new file mode 100644 index 000000000..5f15e266a --- /dev/null +++ b/stwo_cairo_prover/crates/prover/src/components/cube_252/prover.rs @@ -0,0 +1,5914 @@ +#![allow(unused_parens)] +use dashmap::DashMap; +use itertools::Itertools; +use stwo_prover::core::backend::simd::column::BaseColumn; +use stwo_prover::core::utils::bit_reverse_coset_to_circle_domain_order; + +use super::component::{Claim, InteractionClaim}; +use crate::components::prelude::proving::*; +use crate::components::{range_check_19, range_check_9_9}; + +pub type InputType = Felt252Width27; +pub type PackedInputType = PackedFelt252Width27; +const N_TRACE_COLUMNS: usize = 141; + +#[derive(Default)] +pub struct ClaimGenerator { + pub inputs: Vec, +} +impl ClaimGenerator { + pub fn new() -> Self { + Self { inputs: Vec::new() } + } + + pub fn write_trace( + mut self, + tree_builder: &mut TreeBuilder<'_, '_, SimdBackend, MC>, + range_check_19_state: &range_check_19::ClaimGenerator, + range_check_9_9_state: &range_check_9_9::ClaimGenerator, + ) -> (Claim, InteractionClaimGenerator) + where + SimdBackend: BackendForChannel, + { + let n_rows = self.inputs.len(); + assert_ne!(n_rows, 0); + let size = std::cmp::max(n_rows.next_power_of_two(), N_LANES); + let log_size = size.ilog2(); + self.inputs.resize(size, *self.inputs.first().unwrap()); + let packed_inputs = pack_values(&self.inputs); + + let (trace, lookup_data) = write_trace_simd( + n_rows, + packed_inputs, + range_check_19_state, + range_check_9_9_state, + ); + + tree_builder.extend_evals(trace.to_evals()); + + ( + Claim { log_size }, + InteractionClaimGenerator { + n_rows, + lookup_data, + }, + ) + } + + pub fn add_input(&mut self, input: &InputType) { + self.inputs.push(*input); + } + + pub fn add_inputs(&mut self, inputs: &[InputType]) { + self.inputs.extend_from_slice(inputs); + } +} + +#[allow(clippy::useless_conversion)] +#[allow(unused_variables)] +#[allow(clippy::double_parens)] +#[allow(non_snake_case)] +fn write_trace_simd( + n_rows: usize, + inputs: Vec, + range_check_19_state: &range_check_19::ClaimGenerator, + range_check_9_9_state: &range_check_9_9::ClaimGenerator, +) -> (ComponentTrace, LookupData) { + let log_n_packed_rows = inputs.len().ilog2(); + let log_size = log_n_packed_rows + LOG_N_LANES; + let (mut trace, mut lookup_data) = unsafe { + ( + ComponentTrace::::uninitialized(log_size), + LookupData::uninitialized(log_n_packed_rows), + ) + }; + + let M31_0 = PackedM31::broadcast(M31::from(0)); + let M31_1 = PackedM31::broadcast(M31::from(1)); + let M31_131072 = PackedM31::broadcast(M31::from(131072)); + let M31_134217728 = PackedM31::broadcast(M31::from(134217728)); + let M31_136 = PackedM31::broadcast(M31::from(136)); + let M31_2 = PackedM31::broadcast(M31::from(2)); + let M31_262144 = PackedM31::broadcast(M31::from(262144)); + let M31_32 = PackedM31::broadcast(M31::from(32)); + let M31_4 = PackedM31::broadcast(M31::from(4)); + let M31_4194304 = PackedM31::broadcast(M31::from(4194304)); + let M31_512 = PackedM31::broadcast(M31::from(512)); + let M31_64 = PackedM31::broadcast(M31::from(64)); + let M31_65536 = PackedM31::broadcast(M31::from(65536)); + let M31_8 = PackedM31::broadcast(M31::from(8)); + let M31_8192 = PackedM31::broadcast(M31::from(8192)); + let UInt32_262143 = PackedUInt32::broadcast(UInt32::from(262143)); + let UInt32_511 = PackedUInt32::broadcast(UInt32::from(511)); + let UInt32_65536 = PackedUInt32::broadcast(UInt32::from(65536)); + let UInt32_9 = PackedUInt32::broadcast(UInt32::from(9)); + let padding_col = Enabler::new(n_rows); + + trace + .par_iter_mut() + .enumerate() + .zip(inputs.into_par_iter()) + .zip(lookup_data.par_iter_mut()) + .for_each(|(((row_index, row), cube_252_input), lookup_data)| { + let input_tmp_fec87_0 = cube_252_input; + let input_limb_0_col0 = input_tmp_fec87_0.get_m31(0); + *row[0] = input_limb_0_col0; + let input_limb_1_col1 = input_tmp_fec87_0.get_m31(1); + *row[1] = input_limb_1_col1; + let input_limb_2_col2 = input_tmp_fec87_0.get_m31(2); + *row[2] = input_limb_2_col2; + let input_limb_3_col3 = input_tmp_fec87_0.get_m31(3); + *row[3] = input_limb_3_col3; + let input_limb_4_col4 = input_tmp_fec87_0.get_m31(4); + *row[4] = input_limb_4_col4; + let input_limb_5_col5 = input_tmp_fec87_0.get_m31(5); + *row[5] = input_limb_5_col5; + let input_limb_6_col6 = input_tmp_fec87_0.get_m31(6); + *row[6] = input_limb_6_col6; + let input_limb_7_col7 = input_tmp_fec87_0.get_m31(7); + *row[7] = input_limb_7_col7; + let input_limb_8_col8 = input_tmp_fec87_0.get_m31(8); + *row[8] = input_limb_8_col8; + let input_limb_9_col9 = input_tmp_fec87_0.get_m31(9); + *row[9] = input_limb_9_col9; + + // Felt 252 Unpack From 27 Range Check Output. + + let input_as_felt252_tmp_fec87_1 = + PackedFelt252::from_packed_felt252width27(input_tmp_fec87_0); + let unpacked_limb_0_col10 = input_as_felt252_tmp_fec87_1.get_m31(0); + *row[10] = unpacked_limb_0_col10; + let unpacked_limb_1_col11 = input_as_felt252_tmp_fec87_1.get_m31(1); + *row[11] = unpacked_limb_1_col11; + let unpacked_limb_3_col12 = input_as_felt252_tmp_fec87_1.get_m31(3); + *row[12] = unpacked_limb_3_col12; + let unpacked_limb_4_col13 = input_as_felt252_tmp_fec87_1.get_m31(4); + *row[13] = unpacked_limb_4_col13; + let unpacked_limb_6_col14 = input_as_felt252_tmp_fec87_1.get_m31(6); + *row[14] = unpacked_limb_6_col14; + let unpacked_limb_7_col15 = input_as_felt252_tmp_fec87_1.get_m31(7); + *row[15] = unpacked_limb_7_col15; + let unpacked_limb_9_col16 = input_as_felt252_tmp_fec87_1.get_m31(9); + *row[16] = unpacked_limb_9_col16; + let unpacked_limb_10_col17 = input_as_felt252_tmp_fec87_1.get_m31(10); + *row[17] = unpacked_limb_10_col17; + let unpacked_limb_12_col18 = input_as_felt252_tmp_fec87_1.get_m31(12); + *row[18] = unpacked_limb_12_col18; + let unpacked_limb_13_col19 = input_as_felt252_tmp_fec87_1.get_m31(13); + *row[19] = unpacked_limb_13_col19; + let unpacked_limb_15_col20 = input_as_felt252_tmp_fec87_1.get_m31(15); + *row[20] = unpacked_limb_15_col20; + let unpacked_limb_16_col21 = input_as_felt252_tmp_fec87_1.get_m31(16); + *row[21] = unpacked_limb_16_col21; + let unpacked_limb_18_col22 = input_as_felt252_tmp_fec87_1.get_m31(18); + *row[22] = unpacked_limb_18_col22; + let unpacked_limb_19_col23 = input_as_felt252_tmp_fec87_1.get_m31(19); + *row[23] = unpacked_limb_19_col23; + let unpacked_limb_21_col24 = input_as_felt252_tmp_fec87_1.get_m31(21); + *row[24] = unpacked_limb_21_col24; + let unpacked_limb_22_col25 = input_as_felt252_tmp_fec87_1.get_m31(22); + *row[25] = unpacked_limb_22_col25; + let unpacked_limb_24_col26 = input_as_felt252_tmp_fec87_1.get_m31(24); + *row[26] = unpacked_limb_24_col26; + let unpacked_limb_25_col27 = input_as_felt252_tmp_fec87_1.get_m31(25); + *row[27] = unpacked_limb_25_col27; + + // Range Check Big Value. + + let range_check_9_9_inputs_0 = [unpacked_limb_0_col10, unpacked_limb_1_col11].unpack(); + *lookup_data.range_check_9_9_0 = [unpacked_limb_0_col10, unpacked_limb_1_col11]; + let range_check_9_9_inputs_1 = [ + ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)), + unpacked_limb_3_col12, + ] + .unpack(); + *lookup_data.range_check_9_9_1 = [ + ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)), + unpacked_limb_3_col12, + ]; + let range_check_9_9_inputs_2 = [ + unpacked_limb_4_col13, + ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)), + ] + .unpack(); + *lookup_data.range_check_9_9_2 = [ + unpacked_limb_4_col13, + ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)), + ]; + let range_check_9_9_inputs_3 = [unpacked_limb_6_col14, unpacked_limb_7_col15].unpack(); + *lookup_data.range_check_9_9_3 = [unpacked_limb_6_col14, unpacked_limb_7_col15]; + let range_check_9_9_inputs_4 = [ + ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)), + unpacked_limb_9_col16, + ] + .unpack(); + *lookup_data.range_check_9_9_4 = [ + ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)), + unpacked_limb_9_col16, + ]; + let range_check_9_9_inputs_5 = [ + unpacked_limb_10_col17, + ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)), + ] + .unpack(); + *lookup_data.range_check_9_9_5 = [ + unpacked_limb_10_col17, + ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)), + ]; + let range_check_9_9_inputs_6 = + [unpacked_limb_12_col18, unpacked_limb_13_col19].unpack(); + *lookup_data.range_check_9_9_6 = [unpacked_limb_12_col18, unpacked_limb_13_col19]; + let range_check_9_9_inputs_7 = [ + ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)), + unpacked_limb_15_col20, + ] + .unpack(); + *lookup_data.range_check_9_9_7 = [ + ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)), + unpacked_limb_15_col20, + ]; + let range_check_9_9_inputs_8 = [ + unpacked_limb_16_col21, + ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)), + ] + .unpack(); + *lookup_data.range_check_9_9_8 = [ + unpacked_limb_16_col21, + ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)), + ]; + let range_check_9_9_inputs_9 = + [unpacked_limb_18_col22, unpacked_limb_19_col23].unpack(); + *lookup_data.range_check_9_9_9 = [unpacked_limb_18_col22, unpacked_limb_19_col23]; + let range_check_9_9_inputs_10 = [ + ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)), + unpacked_limb_21_col24, + ] + .unpack(); + *lookup_data.range_check_9_9_10 = [ + ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)), + unpacked_limb_21_col24, + ]; + let range_check_9_9_inputs_11 = [ + unpacked_limb_22_col25, + ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)), + ] + .unpack(); + *lookup_data.range_check_9_9_11 = [ + unpacked_limb_22_col25, + ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)), + ]; + let range_check_9_9_inputs_12 = + [unpacked_limb_24_col26, unpacked_limb_25_col27].unpack(); + *lookup_data.range_check_9_9_12 = [unpacked_limb_24_col26, unpacked_limb_25_col27]; + let range_check_9_9_inputs_13 = [ + ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)), + input_limb_9_col9, + ] + .unpack(); + *lookup_data.range_check_9_9_13 = [ + ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)), + input_limb_9_col9, + ]; + + // Mul 252. + + let mul_res_tmp_fec87_2 = ((PackedFelt252::from_limbs([ + unpacked_limb_0_col10, + unpacked_limb_1_col11, + ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)), + unpacked_limb_3_col12, + unpacked_limb_4_col13, + ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)), + unpacked_limb_6_col14, + unpacked_limb_7_col15, + ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)), + unpacked_limb_9_col16, + unpacked_limb_10_col17, + ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)), + unpacked_limb_12_col18, + unpacked_limb_13_col19, + ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)), + unpacked_limb_15_col20, + unpacked_limb_16_col21, + ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)), + unpacked_limb_18_col22, + unpacked_limb_19_col23, + ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)), + unpacked_limb_21_col24, + unpacked_limb_22_col25, + ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)), + unpacked_limb_24_col26, + unpacked_limb_25_col27, + ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)), + input_limb_9_col9, + ])) * (PackedFelt252::from_limbs([ + unpacked_limb_0_col10, + unpacked_limb_1_col11, + ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)), + unpacked_limb_3_col12, + unpacked_limb_4_col13, + ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)), + unpacked_limb_6_col14, + unpacked_limb_7_col15, + ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)), + unpacked_limb_9_col16, + unpacked_limb_10_col17, + ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)), + unpacked_limb_12_col18, + unpacked_limb_13_col19, + ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)), + unpacked_limb_15_col20, + unpacked_limb_16_col21, + ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)), + unpacked_limb_18_col22, + unpacked_limb_19_col23, + ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)), + unpacked_limb_21_col24, + unpacked_limb_22_col25, + ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)), + unpacked_limb_24_col26, + unpacked_limb_25_col27, + ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)), + input_limb_9_col9, + ]))); + let mul_res_limb_0_col28 = mul_res_tmp_fec87_2.get_m31(0); + *row[28] = mul_res_limb_0_col28; + let mul_res_limb_1_col29 = mul_res_tmp_fec87_2.get_m31(1); + *row[29] = mul_res_limb_1_col29; + let mul_res_limb_2_col30 = mul_res_tmp_fec87_2.get_m31(2); + *row[30] = mul_res_limb_2_col30; + let mul_res_limb_3_col31 = mul_res_tmp_fec87_2.get_m31(3); + *row[31] = mul_res_limb_3_col31; + let mul_res_limb_4_col32 = mul_res_tmp_fec87_2.get_m31(4); + *row[32] = mul_res_limb_4_col32; + let mul_res_limb_5_col33 = mul_res_tmp_fec87_2.get_m31(5); + *row[33] = mul_res_limb_5_col33; + let mul_res_limb_6_col34 = mul_res_tmp_fec87_2.get_m31(6); + *row[34] = mul_res_limb_6_col34; + let mul_res_limb_7_col35 = mul_res_tmp_fec87_2.get_m31(7); + *row[35] = mul_res_limb_7_col35; + let mul_res_limb_8_col36 = mul_res_tmp_fec87_2.get_m31(8); + *row[36] = mul_res_limb_8_col36; + let mul_res_limb_9_col37 = mul_res_tmp_fec87_2.get_m31(9); + *row[37] = mul_res_limb_9_col37; + let mul_res_limb_10_col38 = mul_res_tmp_fec87_2.get_m31(10); + *row[38] = mul_res_limb_10_col38; + let mul_res_limb_11_col39 = mul_res_tmp_fec87_2.get_m31(11); + *row[39] = mul_res_limb_11_col39; + let mul_res_limb_12_col40 = mul_res_tmp_fec87_2.get_m31(12); + *row[40] = mul_res_limb_12_col40; + let mul_res_limb_13_col41 = mul_res_tmp_fec87_2.get_m31(13); + *row[41] = mul_res_limb_13_col41; + let mul_res_limb_14_col42 = mul_res_tmp_fec87_2.get_m31(14); + *row[42] = mul_res_limb_14_col42; + let mul_res_limb_15_col43 = mul_res_tmp_fec87_2.get_m31(15); + *row[43] = mul_res_limb_15_col43; + let mul_res_limb_16_col44 = mul_res_tmp_fec87_2.get_m31(16); + *row[44] = mul_res_limb_16_col44; + let mul_res_limb_17_col45 = mul_res_tmp_fec87_2.get_m31(17); + *row[45] = mul_res_limb_17_col45; + let mul_res_limb_18_col46 = mul_res_tmp_fec87_2.get_m31(18); + *row[46] = mul_res_limb_18_col46; + let mul_res_limb_19_col47 = mul_res_tmp_fec87_2.get_m31(19); + *row[47] = mul_res_limb_19_col47; + let mul_res_limb_20_col48 = mul_res_tmp_fec87_2.get_m31(20); + *row[48] = mul_res_limb_20_col48; + let mul_res_limb_21_col49 = mul_res_tmp_fec87_2.get_m31(21); + *row[49] = mul_res_limb_21_col49; + let mul_res_limb_22_col50 = mul_res_tmp_fec87_2.get_m31(22); + *row[50] = mul_res_limb_22_col50; + let mul_res_limb_23_col51 = mul_res_tmp_fec87_2.get_m31(23); + *row[51] = mul_res_limb_23_col51; + let mul_res_limb_24_col52 = mul_res_tmp_fec87_2.get_m31(24); + *row[52] = mul_res_limb_24_col52; + let mul_res_limb_25_col53 = mul_res_tmp_fec87_2.get_m31(25); + *row[53] = mul_res_limb_25_col53; + let mul_res_limb_26_col54 = mul_res_tmp_fec87_2.get_m31(26); + *row[54] = mul_res_limb_26_col54; + let mul_res_limb_27_col55 = mul_res_tmp_fec87_2.get_m31(27); + *row[55] = mul_res_limb_27_col55; + + // Range Check Big Value. + + let range_check_9_9_inputs_14 = [mul_res_limb_0_col28, mul_res_limb_1_col29].unpack(); + *lookup_data.range_check_9_9_14 = [mul_res_limb_0_col28, mul_res_limb_1_col29]; + let range_check_9_9_inputs_15 = [mul_res_limb_2_col30, mul_res_limb_3_col31].unpack(); + *lookup_data.range_check_9_9_15 = [mul_res_limb_2_col30, mul_res_limb_3_col31]; + let range_check_9_9_inputs_16 = [mul_res_limb_4_col32, mul_res_limb_5_col33].unpack(); + *lookup_data.range_check_9_9_16 = [mul_res_limb_4_col32, mul_res_limb_5_col33]; + let range_check_9_9_inputs_17 = [mul_res_limb_6_col34, mul_res_limb_7_col35].unpack(); + *lookup_data.range_check_9_9_17 = [mul_res_limb_6_col34, mul_res_limb_7_col35]; + let range_check_9_9_inputs_18 = [mul_res_limb_8_col36, mul_res_limb_9_col37].unpack(); + *lookup_data.range_check_9_9_18 = [mul_res_limb_8_col36, mul_res_limb_9_col37]; + let range_check_9_9_inputs_19 = [mul_res_limb_10_col38, mul_res_limb_11_col39].unpack(); + *lookup_data.range_check_9_9_19 = [mul_res_limb_10_col38, mul_res_limb_11_col39]; + let range_check_9_9_inputs_20 = [mul_res_limb_12_col40, mul_res_limb_13_col41].unpack(); + *lookup_data.range_check_9_9_20 = [mul_res_limb_12_col40, mul_res_limb_13_col41]; + let range_check_9_9_inputs_21 = [mul_res_limb_14_col42, mul_res_limb_15_col43].unpack(); + *lookup_data.range_check_9_9_21 = [mul_res_limb_14_col42, mul_res_limb_15_col43]; + let range_check_9_9_inputs_22 = [mul_res_limb_16_col44, mul_res_limb_17_col45].unpack(); + *lookup_data.range_check_9_9_22 = [mul_res_limb_16_col44, mul_res_limb_17_col45]; + let range_check_9_9_inputs_23 = [mul_res_limb_18_col46, mul_res_limb_19_col47].unpack(); + *lookup_data.range_check_9_9_23 = [mul_res_limb_18_col46, mul_res_limb_19_col47]; + let range_check_9_9_inputs_24 = [mul_res_limb_20_col48, mul_res_limb_21_col49].unpack(); + *lookup_data.range_check_9_9_24 = [mul_res_limb_20_col48, mul_res_limb_21_col49]; + let range_check_9_9_inputs_25 = [mul_res_limb_22_col50, mul_res_limb_23_col51].unpack(); + *lookup_data.range_check_9_9_25 = [mul_res_limb_22_col50, mul_res_limb_23_col51]; + let range_check_9_9_inputs_26 = [mul_res_limb_24_col52, mul_res_limb_25_col53].unpack(); + *lookup_data.range_check_9_9_26 = [mul_res_limb_24_col52, mul_res_limb_25_col53]; + let range_check_9_9_inputs_27 = [mul_res_limb_26_col54, mul_res_limb_27_col55].unpack(); + *lookup_data.range_check_9_9_27 = [mul_res_limb_26_col54, mul_res_limb_27_col55]; + + // Verify Mul 252. + + let conv_tmp_fec87_3 = (((M31_0) - (mul_res_limb_0_col28)) + + ((unpacked_limb_0_col10) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_4 = ((((M31_0) - (mul_res_limb_1_col29)) + + ((unpacked_limb_0_col10) * (unpacked_limb_1_col11))) + + ((unpacked_limb_1_col11) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_5 = (((((M31_0) - (mul_res_limb_2_col30)) + + ((unpacked_limb_0_col10) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_1_col11))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_6 = ((((((M31_0) - (mul_res_limb_3_col31)) + + ((unpacked_limb_0_col10) * (unpacked_limb_3_col12))) + + ((unpacked_limb_1_col11) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_3_col12) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_7 = (((((((M31_0) - (mul_res_limb_4_col32)) + + ((unpacked_limb_0_col10) * (unpacked_limb_4_col13))) + + ((unpacked_limb_1_col11) * (unpacked_limb_3_col12))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_1_col11))) + + ((unpacked_limb_4_col13) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_8 = ((((((((M31_0) - (mul_res_limb_5_col33)) + + ((unpacked_limb_0_col10) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_4_col13))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_3_col12) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_1_col11))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_9 = (((((((((M31_0) - (mul_res_limb_6_col34)) + + ((unpacked_limb_0_col10) * (unpacked_limb_6_col14))) + + ((unpacked_limb_1_col11) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_3_col12) * (unpacked_limb_3_col12))) + + ((unpacked_limb_4_col13) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_6_col14) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_10 = ((((((((((M31_0) - (mul_res_limb_7_col35)) + + ((unpacked_limb_0_col10) * (unpacked_limb_7_col15))) + + ((unpacked_limb_1_col11) * (unpacked_limb_6_col14))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_4_col13))) + + ((unpacked_limb_4_col13) * (unpacked_limb_3_col12))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_1_col11))) + + ((unpacked_limb_7_col15) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_11 = (((((((((((M31_0) - (mul_res_limb_8_col36)) + + ((unpacked_limb_0_col10) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_7_col15))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_3_col12) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_4_col13))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_6_col14) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_1_col11))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_12 = ((((((((((((M31_0) - (mul_res_limb_9_col37)) + + ((unpacked_limb_0_col10) * (unpacked_limb_9_col16))) + + ((unpacked_limb_1_col11) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_3_col12) * (unpacked_limb_6_col14))) + + ((unpacked_limb_4_col13) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_6_col14) * (unpacked_limb_3_col12))) + + ((unpacked_limb_7_col15) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_9_col16) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_13 = (((((((((((((M31_0) - (mul_res_limb_10_col38)) + + ((unpacked_limb_0_col10) * (unpacked_limb_10_col17))) + + ((unpacked_limb_1_col11) * (unpacked_limb_9_col16))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_7_col15))) + + ((unpacked_limb_4_col13) * (unpacked_limb_6_col14))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_4_col13))) + + ((unpacked_limb_7_col15) * (unpacked_limb_3_col12))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_1_col11))) + + ((unpacked_limb_10_col17) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_14 = ((((((((((((((M31_0) - (mul_res_limb_11_col39)) + + ((unpacked_limb_0_col10) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_10_col17))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_3_col12) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_7_col15))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_6_col14) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_4_col13))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_9_col16) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_1_col11))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_15 = (((((((((((((((M31_0) - (mul_res_limb_12_col40)) + + ((unpacked_limb_0_col10) * (unpacked_limb_12_col18))) + + ((unpacked_limb_1_col11) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_3_col12) * (unpacked_limb_9_col16))) + + ((unpacked_limb_4_col13) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_6_col14) * (unpacked_limb_6_col14))) + + ((unpacked_limb_7_col15) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_9_col16) * (unpacked_limb_3_col12))) + + ((unpacked_limb_10_col17) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_12_col18) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_16 = ((((((((((((((((M31_0) - (mul_res_limb_13_col41)) + + ((unpacked_limb_0_col10) * (unpacked_limb_13_col19))) + + ((unpacked_limb_1_col11) * (unpacked_limb_12_col18))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_10_col17))) + + ((unpacked_limb_4_col13) * (unpacked_limb_9_col16))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_7_col15))) + + ((unpacked_limb_7_col15) * (unpacked_limb_6_col14))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_4_col13))) + + ((unpacked_limb_10_col17) * (unpacked_limb_3_col12))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_1_col11))) + + ((unpacked_limb_13_col19) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_17 = (((((((((((((((((M31_0) + - (mul_res_limb_14_col42)) + + ((unpacked_limb_0_col10) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_13_col19))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_3_col12) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_10_col17))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_6_col14) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_7_col15))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_9_col16) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_4_col13))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_12_col18) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_1_col11))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_18 = ((((((((((((((((((M31_0) + - (mul_res_limb_15_col43)) + + ((unpacked_limb_0_col10) * (unpacked_limb_15_col20))) + + ((unpacked_limb_1_col11) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_3_col12) * (unpacked_limb_12_col18))) + + ((unpacked_limb_4_col13) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_6_col14) * (unpacked_limb_9_col16))) + + ((unpacked_limb_7_col15) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_9_col16) * (unpacked_limb_6_col14))) + + ((unpacked_limb_10_col17) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_12_col18) * (unpacked_limb_3_col12))) + + ((unpacked_limb_13_col19) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_15_col20) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_19 = (((((((((((((((((((M31_0) + - (mul_res_limb_16_col44)) + + ((unpacked_limb_0_col10) * (unpacked_limb_16_col21))) + + ((unpacked_limb_1_col11) * (unpacked_limb_15_col20))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_13_col19))) + + ((unpacked_limb_4_col13) * (unpacked_limb_12_col18))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_10_col17))) + + ((unpacked_limb_7_col15) * (unpacked_limb_9_col16))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_7_col15))) + + ((unpacked_limb_10_col17) * (unpacked_limb_6_col14))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_4_col13))) + + ((unpacked_limb_13_col19) * (unpacked_limb_3_col12))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_1_col11))) + + ((unpacked_limb_16_col21) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_20 = ((((((((((((((((((((M31_0) + - (mul_res_limb_17_col45)) + + ((unpacked_limb_0_col10) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_16_col21))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_3_col12) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_13_col19))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_6_col14) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_10_col17))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_9_col16) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_7_col15))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_12_col18) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_4_col13))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_15_col20) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_1_col11))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_21 = (((((((((((((((((((((M31_0) + - (mul_res_limb_18_col46)) + + ((unpacked_limb_0_col10) * (unpacked_limb_18_col22))) + + ((unpacked_limb_1_col11) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_3_col12) * (unpacked_limb_15_col20))) + + ((unpacked_limb_4_col13) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_6_col14) * (unpacked_limb_12_col18))) + + ((unpacked_limb_7_col15) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_9_col16) * (unpacked_limb_9_col16))) + + ((unpacked_limb_10_col17) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_12_col18) * (unpacked_limb_6_col14))) + + ((unpacked_limb_13_col19) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_15_col20) * (unpacked_limb_3_col12))) + + ((unpacked_limb_16_col21) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_18_col22) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_22 = ((((((((((((((((((((((M31_0) + - (mul_res_limb_19_col47)) + + ((unpacked_limb_0_col10) * (unpacked_limb_19_col23))) + + ((unpacked_limb_1_col11) * (unpacked_limb_18_col22))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_16_col21))) + + ((unpacked_limb_4_col13) * (unpacked_limb_15_col20))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_13_col19))) + + ((unpacked_limb_7_col15) * (unpacked_limb_12_col18))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_10_col17))) + + ((unpacked_limb_10_col17) * (unpacked_limb_9_col16))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_7_col15))) + + ((unpacked_limb_13_col19) * (unpacked_limb_6_col14))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_4_col13))) + + ((unpacked_limb_16_col21) * (unpacked_limb_3_col12))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_1_col11))) + + ((unpacked_limb_19_col23) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_23 = (((((((((((((((((((((((M31_0) + - (mul_res_limb_20_col48)) + + ((unpacked_limb_0_col10) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_19_col23))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_3_col12) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_16_col21))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_6_col14) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_13_col19))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_9_col16) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_10_col17))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_12_col18) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_7_col15))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_15_col20) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_4_col13))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_18_col22) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_1_col11))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_24 = ((((((((((((((((((((((((M31_0) + - (mul_res_limb_21_col49)) + + ((unpacked_limb_0_col10) * (unpacked_limb_21_col24))) + + ((unpacked_limb_1_col11) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_3_col12) * (unpacked_limb_18_col22))) + + ((unpacked_limb_4_col13) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_6_col14) * (unpacked_limb_15_col20))) + + ((unpacked_limb_7_col15) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_9_col16) * (unpacked_limb_12_col18))) + + ((unpacked_limb_10_col17) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_12_col18) * (unpacked_limb_9_col16))) + + ((unpacked_limb_13_col19) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_15_col20) * (unpacked_limb_6_col14))) + + ((unpacked_limb_16_col21) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_18_col22) * (unpacked_limb_3_col12))) + + ((unpacked_limb_19_col23) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_21_col24) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_25 = (((((((((((((((((((((((((M31_0) + - (mul_res_limb_22_col50)) + + ((unpacked_limb_0_col10) * (unpacked_limb_22_col25))) + + ((unpacked_limb_1_col11) * (unpacked_limb_21_col24))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_19_col23))) + + ((unpacked_limb_4_col13) * (unpacked_limb_18_col22))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_16_col21))) + + ((unpacked_limb_7_col15) * (unpacked_limb_15_col20))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_13_col19))) + + ((unpacked_limb_10_col17) * (unpacked_limb_12_col18))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_10_col17))) + + ((unpacked_limb_13_col19) * (unpacked_limb_9_col16))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_7_col15))) + + ((unpacked_limb_16_col21) * (unpacked_limb_6_col14))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_4_col13))) + + ((unpacked_limb_19_col23) * (unpacked_limb_3_col12))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_1_col11))) + + ((unpacked_limb_22_col25) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_26 = ((((((((((((((((((((((((((M31_0) + - (mul_res_limb_23_col51)) + + ((unpacked_limb_0_col10) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_22_col25))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_3_col12) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_19_col23))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_6_col14) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_16_col21))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_9_col16) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_13_col19))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_12_col18) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_10_col17))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_15_col20) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_7_col15))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_18_col22) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_4_col13))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_21_col24) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_1_col11))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_27 = (((((((((((((((((((((((((((M31_0) + - (mul_res_limb_24_col52)) + + ((unpacked_limb_0_col10) * (unpacked_limb_24_col26))) + + ((unpacked_limb_1_col11) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_3_col12) * (unpacked_limb_21_col24))) + + ((unpacked_limb_4_col13) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_6_col14) * (unpacked_limb_18_col22))) + + ((unpacked_limb_7_col15) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_9_col16) * (unpacked_limb_15_col20))) + + ((unpacked_limb_10_col17) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_12_col18) * (unpacked_limb_12_col18))) + + ((unpacked_limb_13_col19) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_15_col20) * (unpacked_limb_9_col16))) + + ((unpacked_limb_16_col21) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_18_col22) * (unpacked_limb_6_col14))) + + ((unpacked_limb_19_col23) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_21_col24) * (unpacked_limb_3_col12))) + + ((unpacked_limb_22_col25) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((unpacked_limb_24_col26) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_28 = ((((((((((((((((((((((((((((M31_0) + - (mul_res_limb_25_col53)) + + ((unpacked_limb_0_col10) * (unpacked_limb_25_col27))) + + ((unpacked_limb_1_col11) * (unpacked_limb_24_col26))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_22_col25))) + + ((unpacked_limb_4_col13) * (unpacked_limb_21_col24))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_19_col23))) + + ((unpacked_limb_7_col15) * (unpacked_limb_18_col22))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_16_col21))) + + ((unpacked_limb_10_col17) * (unpacked_limb_15_col20))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_13_col19))) + + ((unpacked_limb_13_col19) * (unpacked_limb_12_col18))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_10_col17))) + + ((unpacked_limb_16_col21) * (unpacked_limb_9_col16))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_7_col15))) + + ((unpacked_limb_19_col23) * (unpacked_limb_6_col14))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_4_col13))) + + ((unpacked_limb_22_col25) * (unpacked_limb_3_col12))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_1_col11))) + + ((unpacked_limb_25_col27) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_29 = (((((((((((((((((((((((((((((M31_0) + - (mul_res_limb_26_col54)) + + ((unpacked_limb_0_col10) + * ((((input_limb_8_col8) + - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_1_col11) * (unpacked_limb_25_col27))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_3_col12) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_22_col25))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_6_col14) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_19_col23))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_9_col16) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_16_col21))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_12_col18) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_13_col19))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_15_col20) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_10_col17))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_18_col22) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_7_col15))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_21_col24) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_4_col13))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((unpacked_limb_24_col26) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_1_col11))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_0_col10))); + let conv_tmp_fec87_30 = ((((((((((((((((((((((((((((((M31_0) + - (mul_res_limb_27_col55)) + + ((unpacked_limb_0_col10) * (input_limb_9_col9))) + + ((unpacked_limb_1_col11) + * ((((input_limb_8_col8) + - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_3_col12) * (unpacked_limb_24_col26))) + + ((unpacked_limb_4_col13) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_6_col14) * (unpacked_limb_21_col24))) + + ((unpacked_limb_7_col15) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_9_col16) * (unpacked_limb_18_col22))) + + ((unpacked_limb_10_col17) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_12_col18) * (unpacked_limb_15_col20))) + + ((unpacked_limb_13_col19) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_15_col20) * (unpacked_limb_12_col18))) + + ((unpacked_limb_16_col21) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_18_col22) * (unpacked_limb_9_col16))) + + ((unpacked_limb_19_col23) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_21_col24) * (unpacked_limb_6_col14))) + + ((unpacked_limb_22_col25) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((unpacked_limb_24_col26) * (unpacked_limb_3_col12))) + + ((unpacked_limb_25_col27) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_1_col11))) + + ((input_limb_9_col9) * (unpacked_limb_0_col10))); + let conv_tmp_fec87_31 = ((((((((((((((((((((((((((((M31_0) + + ((unpacked_limb_1_col11) * (input_limb_9_col9))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) + - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_3_col12) * (unpacked_limb_25_col27))) + + ((unpacked_limb_4_col13) * (unpacked_limb_24_col26))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_22_col25))) + + ((unpacked_limb_7_col15) * (unpacked_limb_21_col24))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_19_col23))) + + ((unpacked_limb_10_col17) * (unpacked_limb_18_col22))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_16_col21))) + + ((unpacked_limb_13_col19) * (unpacked_limb_15_col20))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_13_col19))) + + ((unpacked_limb_16_col21) * (unpacked_limb_12_col18))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_10_col17))) + + ((unpacked_limb_19_col23) * (unpacked_limb_9_col16))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_7_col15))) + + ((unpacked_limb_22_col25) * (unpacked_limb_6_col14))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_4_col13))) + + ((unpacked_limb_25_col27) * (unpacked_limb_3_col12))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_1_col11))); + let conv_tmp_fec87_32 = (((((((((((((((((((((((((((M31_0) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_3_col12) + * ((((input_limb_8_col8) + - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_4_col13) * (unpacked_limb_25_col27))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_6_col14) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_22_col25))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_9_col16) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_19_col23))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_12_col18) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_16_col21))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_15_col20) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_13_col19))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_18_col22) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_10_col17))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_21_col24) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_7_col15))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((unpacked_limb_24_col26) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_4_col13))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_3_col12))) + + ((input_limb_9_col9) + * ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_33 = ((((((((((((((((((((((((((M31_0) + + ((unpacked_limb_3_col12) * (input_limb_9_col9))) + + ((unpacked_limb_4_col13) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_6_col14) * (unpacked_limb_24_col26))) + + ((unpacked_limb_7_col15) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_9_col16) * (unpacked_limb_21_col24))) + + ((unpacked_limb_10_col17) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_12_col18) * (unpacked_limb_18_col22))) + + ((unpacked_limb_13_col19) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_15_col20) * (unpacked_limb_15_col20))) + + ((unpacked_limb_16_col21) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_18_col22) * (unpacked_limb_12_col18))) + + ((unpacked_limb_19_col23) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_21_col24) * (unpacked_limb_9_col16))) + + ((unpacked_limb_22_col25) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((unpacked_limb_24_col26) * (unpacked_limb_6_col14))) + + ((unpacked_limb_25_col27) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_4_col13))) + + ((input_limb_9_col9) * (unpacked_limb_3_col12))); + let conv_tmp_fec87_34 = (((((((((((((((((((((((((M31_0) + + ((unpacked_limb_4_col13) * (input_limb_9_col9))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_6_col14) * (unpacked_limb_25_col27))) + + ((unpacked_limb_7_col15) * (unpacked_limb_24_col26))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_22_col25))) + + ((unpacked_limb_10_col17) * (unpacked_limb_21_col24))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_19_col23))) + + ((unpacked_limb_13_col19) * (unpacked_limb_18_col22))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_16_col21))) + + ((unpacked_limb_16_col21) * (unpacked_limb_15_col20))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_13_col19))) + + ((unpacked_limb_19_col23) * (unpacked_limb_12_col18))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_10_col17))) + + ((unpacked_limb_22_col25) * (unpacked_limb_9_col16))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_7_col15))) + + ((unpacked_limb_25_col27) * (unpacked_limb_6_col14))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_4_col13))); + let conv_tmp_fec87_35 = ((((((((((((((((((((((((M31_0) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_6_col14) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_7_col15) * (unpacked_limb_25_col27))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_9_col16) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_22_col25))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_12_col18) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_19_col23))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_15_col20) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_16_col21))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_18_col22) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_13_col19))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_21_col24) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_10_col17))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((unpacked_limb_24_col26) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_7_col15))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_6_col14))) + + ((input_limb_9_col9) + * ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_36 = (((((((((((((((((((((((M31_0) + + ((unpacked_limb_6_col14) * (input_limb_9_col9))) + + ((unpacked_limb_7_col15) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_9_col16) * (unpacked_limb_24_col26))) + + ((unpacked_limb_10_col17) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_12_col18) * (unpacked_limb_21_col24))) + + ((unpacked_limb_13_col19) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_15_col20) * (unpacked_limb_18_col22))) + + ((unpacked_limb_16_col21) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_18_col22) * (unpacked_limb_15_col20))) + + ((unpacked_limb_19_col23) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_21_col24) * (unpacked_limb_12_col18))) + + ((unpacked_limb_22_col25) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((unpacked_limb_24_col26) * (unpacked_limb_9_col16))) + + ((unpacked_limb_25_col27) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_7_col15))) + + ((input_limb_9_col9) * (unpacked_limb_6_col14))); + let conv_tmp_fec87_37 = ((((((((((((((((((((((M31_0) + + ((unpacked_limb_7_col15) * (input_limb_9_col9))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_9_col16) * (unpacked_limb_25_col27))) + + ((unpacked_limb_10_col17) * (unpacked_limb_24_col26))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_22_col25))) + + ((unpacked_limb_13_col19) * (unpacked_limb_21_col24))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_19_col23))) + + ((unpacked_limb_16_col21) * (unpacked_limb_18_col22))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_16_col21))) + + ((unpacked_limb_19_col23) * (unpacked_limb_15_col20))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_13_col19))) + + ((unpacked_limb_22_col25) * (unpacked_limb_12_col18))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_10_col17))) + + ((unpacked_limb_25_col27) * (unpacked_limb_9_col16))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_7_col15))); + let conv_tmp_fec87_38 = (((((((((((((((((((((M31_0) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_9_col16) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_10_col17) * (unpacked_limb_25_col27))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_12_col18) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_22_col25))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_15_col20) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_19_col23))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_18_col22) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_16_col21))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_21_col24) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_13_col19))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((unpacked_limb_24_col26) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_10_col17))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_9_col16))) + + ((input_limb_9_col9) + * ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_39 = ((((((((((((((((((((M31_0) + + ((unpacked_limb_9_col16) * (input_limb_9_col9))) + + ((unpacked_limb_10_col17) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_12_col18) * (unpacked_limb_24_col26))) + + ((unpacked_limb_13_col19) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_15_col20) * (unpacked_limb_21_col24))) + + ((unpacked_limb_16_col21) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_18_col22) * (unpacked_limb_18_col22))) + + ((unpacked_limb_19_col23) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_21_col24) * (unpacked_limb_15_col20))) + + ((unpacked_limb_22_col25) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((unpacked_limb_24_col26) * (unpacked_limb_12_col18))) + + ((unpacked_limb_25_col27) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_10_col17))) + + ((input_limb_9_col9) * (unpacked_limb_9_col16))); + let conv_tmp_fec87_40 = (((((((((((((((((((M31_0) + + ((unpacked_limb_10_col17) * (input_limb_9_col9))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_12_col18) * (unpacked_limb_25_col27))) + + ((unpacked_limb_13_col19) * (unpacked_limb_24_col26))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_22_col25))) + + ((unpacked_limb_16_col21) * (unpacked_limb_21_col24))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_19_col23))) + + ((unpacked_limb_19_col23) * (unpacked_limb_18_col22))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_16_col21))) + + ((unpacked_limb_22_col25) * (unpacked_limb_15_col20))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_13_col19))) + + ((unpacked_limb_25_col27) * (unpacked_limb_12_col18))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_10_col17))); + let conv_tmp_fec87_41 = ((((((((((((((((((M31_0) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_12_col18) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_13_col19) * (unpacked_limb_25_col27))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_15_col20) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_22_col25))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_18_col22) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_19_col23))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_21_col24) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_16_col21))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((unpacked_limb_24_col26) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_13_col19))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_12_col18))) + + ((input_limb_9_col9) + * ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_42 = (((((((((((((((((M31_0) + + ((unpacked_limb_12_col18) * (input_limb_9_col9))) + + ((unpacked_limb_13_col19) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_15_col20) * (unpacked_limb_24_col26))) + + ((unpacked_limb_16_col21) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_18_col22) * (unpacked_limb_21_col24))) + + ((unpacked_limb_19_col23) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_21_col24) * (unpacked_limb_18_col22))) + + ((unpacked_limb_22_col25) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((unpacked_limb_24_col26) * (unpacked_limb_15_col20))) + + ((unpacked_limb_25_col27) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_13_col19))) + + ((input_limb_9_col9) * (unpacked_limb_12_col18))); + let conv_tmp_fec87_43 = ((((((((((((((((M31_0) + + ((unpacked_limb_13_col19) * (input_limb_9_col9))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_15_col20) * (unpacked_limb_25_col27))) + + ((unpacked_limb_16_col21) * (unpacked_limb_24_col26))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_22_col25))) + + ((unpacked_limb_19_col23) * (unpacked_limb_21_col24))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_19_col23))) + + ((unpacked_limb_22_col25) * (unpacked_limb_18_col22))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_16_col21))) + + ((unpacked_limb_25_col27) * (unpacked_limb_15_col20))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_13_col19))); + let conv_tmp_fec87_44 = (((((((((((((((M31_0) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_15_col20) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_16_col21) * (unpacked_limb_25_col27))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_18_col22) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_22_col25))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_21_col24) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_19_col23))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((unpacked_limb_24_col26) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_16_col21))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_15_col20))) + + ((input_limb_9_col9) + * ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_45 = ((((((((((((((M31_0) + + ((unpacked_limb_15_col20) * (input_limb_9_col9))) + + ((unpacked_limb_16_col21) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_18_col22) * (unpacked_limb_24_col26))) + + ((unpacked_limb_19_col23) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_21_col24) * (unpacked_limb_21_col24))) + + ((unpacked_limb_22_col25) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((unpacked_limb_24_col26) * (unpacked_limb_18_col22))) + + ((unpacked_limb_25_col27) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_16_col21))) + + ((input_limb_9_col9) * (unpacked_limb_15_col20))); + let conv_tmp_fec87_46 = (((((((((((((M31_0) + + ((unpacked_limb_16_col21) * (input_limb_9_col9))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_18_col22) * (unpacked_limb_25_col27))) + + ((unpacked_limb_19_col23) * (unpacked_limb_24_col26))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_22_col25))) + + ((unpacked_limb_22_col25) * (unpacked_limb_21_col24))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_19_col23))) + + ((unpacked_limb_25_col27) * (unpacked_limb_18_col22))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_16_col21))); + let conv_tmp_fec87_47 = ((((((((((((M31_0) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_18_col22) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_19_col23) * (unpacked_limb_25_col27))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_21_col24) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_22_col25))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((unpacked_limb_24_col26) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_19_col23))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_18_col22))) + + ((input_limb_9_col9) + * ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_48 = (((((((((((M31_0) + + ((unpacked_limb_18_col22) * (input_limb_9_col9))) + + ((unpacked_limb_19_col23) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_21_col24) * (unpacked_limb_24_col26))) + + ((unpacked_limb_22_col25) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((unpacked_limb_24_col26) * (unpacked_limb_21_col24))) + + ((unpacked_limb_25_col27) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_19_col23))) + + ((input_limb_9_col9) * (unpacked_limb_18_col22))); + let conv_tmp_fec87_49 = ((((((((((M31_0) + + ((unpacked_limb_19_col23) * (input_limb_9_col9))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_21_col24) * (unpacked_limb_25_col27))) + + ((unpacked_limb_22_col25) * (unpacked_limb_24_col26))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_22_col25))) + + ((unpacked_limb_25_col27) * (unpacked_limb_21_col24))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_19_col23))); + let conv_tmp_fec87_50 = (((((((((M31_0) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_21_col24) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_22_col25) * (unpacked_limb_25_col27))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((unpacked_limb_24_col26) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_22_col25))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_21_col24))) + + ((input_limb_9_col9) + * ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_51 = ((((((((M31_0) + + ((unpacked_limb_21_col24) * (input_limb_9_col9))) + + ((unpacked_limb_22_col25) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((unpacked_limb_24_col26) * (unpacked_limb_24_col26))) + + ((unpacked_limb_25_col27) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_22_col25))) + + ((input_limb_9_col9) * (unpacked_limb_21_col24))); + let conv_tmp_fec87_52 = (((((((M31_0) + + ((unpacked_limb_22_col25) * (input_limb_9_col9))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_24_col26) * (unpacked_limb_25_col27))) + + ((unpacked_limb_25_col27) * (unpacked_limb_24_col26))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_22_col25))); + let conv_tmp_fec87_53 = ((((((M31_0) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((unpacked_limb_24_col26) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((unpacked_limb_25_col27) * (unpacked_limb_25_col27))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_24_col26))) + + ((input_limb_9_col9) + * ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_54 = (((((M31_0) + + ((unpacked_limb_24_col26) * (input_limb_9_col9))) + + ((unpacked_limb_25_col27) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (unpacked_limb_25_col27))) + + ((input_limb_9_col9) * (unpacked_limb_24_col26))); + let conv_tmp_fec87_55 = ((((M31_0) + + ((unpacked_limb_25_col27) * (input_limb_9_col9))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))) + + ((input_limb_9_col9) * (unpacked_limb_25_col27))); + let conv_tmp_fec87_56 = (((M31_0) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (input_limb_9_col9))) + + ((input_limb_9_col9) + * ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)))); + let conv_tmp_fec87_57 = ((M31_0) + ((input_limb_9_col9) * (input_limb_9_col9))); + let conv_mod_tmp_fec87_58 = ((((M31_0) + ((M31_32) * (conv_tmp_fec87_3))) + - ((M31_4) * (conv_tmp_fec87_24))) + + ((M31_8) * (conv_tmp_fec87_52))); + let conv_mod_tmp_fec87_59 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_3))) + + ((M31_32) * (conv_tmp_fec87_4))) + - ((M31_4) * (conv_tmp_fec87_25))) + + ((M31_8) * (conv_tmp_fec87_53))); + let conv_mod_tmp_fec87_60 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_4))) + + ((M31_32) * (conv_tmp_fec87_5))) + - ((M31_4) * (conv_tmp_fec87_26))) + + ((M31_8) * (conv_tmp_fec87_54))); + let conv_mod_tmp_fec87_61 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_5))) + + ((M31_32) * (conv_tmp_fec87_6))) + - ((M31_4) * (conv_tmp_fec87_27))) + + ((M31_8) * (conv_tmp_fec87_55))); + let conv_mod_tmp_fec87_62 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_6))) + + ((M31_32) * (conv_tmp_fec87_7))) + - ((M31_4) * (conv_tmp_fec87_28))) + + ((M31_8) * (conv_tmp_fec87_56))); + let conv_mod_tmp_fec87_63 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_7))) + + ((M31_32) * (conv_tmp_fec87_8))) + - ((M31_4) * (conv_tmp_fec87_29))) + + ((M31_8) * (conv_tmp_fec87_57))); + let conv_mod_tmp_fec87_64 = ((((M31_0) + ((M31_1) * (conv_tmp_fec87_8))) + + ((M31_32) * (conv_tmp_fec87_9))) + - ((M31_4) * (conv_tmp_fec87_30))); + let conv_mod_tmp_fec87_65 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_3))) + + ((M31_1) * (conv_tmp_fec87_9))) + + ((M31_32) * (conv_tmp_fec87_10))) + - ((M31_4) * (conv_tmp_fec87_31))); + let conv_mod_tmp_fec87_66 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_4))) + + ((M31_1) * (conv_tmp_fec87_10))) + + ((M31_32) * (conv_tmp_fec87_11))) + - ((M31_4) * (conv_tmp_fec87_32))); + let conv_mod_tmp_fec87_67 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_5))) + + ((M31_1) * (conv_tmp_fec87_11))) + + ((M31_32) * (conv_tmp_fec87_12))) + - ((M31_4) * (conv_tmp_fec87_33))); + let conv_mod_tmp_fec87_68 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_6))) + + ((M31_1) * (conv_tmp_fec87_12))) + + ((M31_32) * (conv_tmp_fec87_13))) + - ((M31_4) * (conv_tmp_fec87_34))); + let conv_mod_tmp_fec87_69 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_7))) + + ((M31_1) * (conv_tmp_fec87_13))) + + ((M31_32) * (conv_tmp_fec87_14))) + - ((M31_4) * (conv_tmp_fec87_35))); + let conv_mod_tmp_fec87_70 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_8))) + + ((M31_1) * (conv_tmp_fec87_14))) + + ((M31_32) * (conv_tmp_fec87_15))) + - ((M31_4) * (conv_tmp_fec87_36))); + let conv_mod_tmp_fec87_71 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_9))) + + ((M31_1) * (conv_tmp_fec87_15))) + + ((M31_32) * (conv_tmp_fec87_16))) + - ((M31_4) * (conv_tmp_fec87_37))); + let conv_mod_tmp_fec87_72 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_10))) + + ((M31_1) * (conv_tmp_fec87_16))) + + ((M31_32) * (conv_tmp_fec87_17))) + - ((M31_4) * (conv_tmp_fec87_38))); + let conv_mod_tmp_fec87_73 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_11))) + + ((M31_1) * (conv_tmp_fec87_17))) + + ((M31_32) * (conv_tmp_fec87_18))) + - ((M31_4) * (conv_tmp_fec87_39))); + let conv_mod_tmp_fec87_74 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_12))) + + ((M31_1) * (conv_tmp_fec87_18))) + + ((M31_32) * (conv_tmp_fec87_19))) + - ((M31_4) * (conv_tmp_fec87_40))); + let conv_mod_tmp_fec87_75 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_13))) + + ((M31_1) * (conv_tmp_fec87_19))) + + ((M31_32) * (conv_tmp_fec87_20))) + - ((M31_4) * (conv_tmp_fec87_41))); + let conv_mod_tmp_fec87_76 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_14))) + + ((M31_1) * (conv_tmp_fec87_20))) + + ((M31_32) * (conv_tmp_fec87_21))) + - ((M31_4) * (conv_tmp_fec87_42))); + let conv_mod_tmp_fec87_77 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_15))) + + ((M31_1) * (conv_tmp_fec87_21))) + + ((M31_32) * (conv_tmp_fec87_22))) + - ((M31_4) * (conv_tmp_fec87_43))); + let conv_mod_tmp_fec87_78 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_16))) + + ((M31_1) * (conv_tmp_fec87_22))) + + ((M31_32) * (conv_tmp_fec87_23))) + - ((M31_4) * (conv_tmp_fec87_44))); + let conv_mod_tmp_fec87_79 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_17))) + + ((M31_1) * (conv_tmp_fec87_23))) + - ((M31_4) * (conv_tmp_fec87_45))) + + ((M31_64) * (conv_tmp_fec87_52))); + let conv_mod_tmp_fec87_80 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_18))) + - ((M31_4) * (conv_tmp_fec87_46))) + + ((M31_2) * (conv_tmp_fec87_52))) + + ((M31_64) * (conv_tmp_fec87_53))); + let conv_mod_tmp_fec87_81 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_19))) + - ((M31_4) * (conv_tmp_fec87_47))) + + ((M31_2) * (conv_tmp_fec87_53))) + + ((M31_64) * (conv_tmp_fec87_54))); + let conv_mod_tmp_fec87_82 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_20))) + - ((M31_4) * (conv_tmp_fec87_48))) + + ((M31_2) * (conv_tmp_fec87_54))) + + ((M31_64) * (conv_tmp_fec87_55))); + let conv_mod_tmp_fec87_83 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_21))) + - ((M31_4) * (conv_tmp_fec87_49))) + + ((M31_2) * (conv_tmp_fec87_55))) + + ((M31_64) * (conv_tmp_fec87_56))); + let conv_mod_tmp_fec87_84 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_22))) + - ((M31_4) * (conv_tmp_fec87_50))) + + ((M31_2) * (conv_tmp_fec87_56))) + + ((M31_64) * (conv_tmp_fec87_57))); + let conv_mod_tmp_fec87_85 = ((((M31_0) + ((M31_2) * (conv_tmp_fec87_23))) + - ((M31_4) * (conv_tmp_fec87_51))) + + ((M31_2) * (conv_tmp_fec87_57))); + let k_mod_2_18_biased_tmp_fec87_86 = + ((((PackedUInt32::from_m31(((conv_mod_tmp_fec87_58) + (M31_134217728)))) + + (((PackedUInt32::from_m31(((conv_mod_tmp_fec87_59) + (M31_134217728)))) + & (UInt32_511)) + << (UInt32_9))) + + (UInt32_65536)) + & (UInt32_262143)); + let k_col56 = ((k_mod_2_18_biased_tmp_fec87_86.low().as_m31()) + + (((k_mod_2_18_biased_tmp_fec87_86.high().as_m31()) - (M31_1)) * (M31_65536))); + *row[56] = k_col56; + let range_check_19_inputs_0 = [((k_col56) + (M31_262144))].unpack(); + *lookup_data.range_check_19_0 = [((k_col56) + (M31_262144))]; + let carry_0_col57 = + ((((conv_mod_tmp_fec87_58) - ((M31_1) * (k_col56))) + (M31_0)) * (M31_4194304)); + *row[57] = carry_0_col57; + let range_check_19_inputs_1 = [((carry_0_col57) + (M31_131072))].unpack(); + *lookup_data.range_check_19_1 = [((carry_0_col57) + (M31_131072))]; + let carry_1_col58 = (((conv_mod_tmp_fec87_59) + (carry_0_col57)) * (M31_4194304)); + *row[58] = carry_1_col58; + let range_check_19_inputs_2 = [((carry_1_col58) + (M31_131072))].unpack(); + *lookup_data.range_check_19_2 = [((carry_1_col58) + (M31_131072))]; + let carry_2_col59 = (((conv_mod_tmp_fec87_60) + (carry_1_col58)) * (M31_4194304)); + *row[59] = carry_2_col59; + let range_check_19_inputs_3 = [((carry_2_col59) + (M31_131072))].unpack(); + *lookup_data.range_check_19_3 = [((carry_2_col59) + (M31_131072))]; + let carry_3_col60 = (((conv_mod_tmp_fec87_61) + (carry_2_col59)) * (M31_4194304)); + *row[60] = carry_3_col60; + let range_check_19_inputs_4 = [((carry_3_col60) + (M31_131072))].unpack(); + *lookup_data.range_check_19_4 = [((carry_3_col60) + (M31_131072))]; + let carry_4_col61 = (((conv_mod_tmp_fec87_62) + (carry_3_col60)) * (M31_4194304)); + *row[61] = carry_4_col61; + let range_check_19_inputs_5 = [((carry_4_col61) + (M31_131072))].unpack(); + *lookup_data.range_check_19_5 = [((carry_4_col61) + (M31_131072))]; + let carry_5_col62 = (((conv_mod_tmp_fec87_63) + (carry_4_col61)) * (M31_4194304)); + *row[62] = carry_5_col62; + let range_check_19_inputs_6 = [((carry_5_col62) + (M31_131072))].unpack(); + *lookup_data.range_check_19_6 = [((carry_5_col62) + (M31_131072))]; + let carry_6_col63 = (((conv_mod_tmp_fec87_64) + (carry_5_col62)) * (M31_4194304)); + *row[63] = carry_6_col63; + let range_check_19_inputs_7 = [((carry_6_col63) + (M31_131072))].unpack(); + *lookup_data.range_check_19_7 = [((carry_6_col63) + (M31_131072))]; + let carry_7_col64 = (((conv_mod_tmp_fec87_65) + (carry_6_col63)) * (M31_4194304)); + *row[64] = carry_7_col64; + let range_check_19_inputs_8 = [((carry_7_col64) + (M31_131072))].unpack(); + *lookup_data.range_check_19_8 = [((carry_7_col64) + (M31_131072))]; + let carry_8_col65 = (((conv_mod_tmp_fec87_66) + (carry_7_col64)) * (M31_4194304)); + *row[65] = carry_8_col65; + let range_check_19_inputs_9 = [((carry_8_col65) + (M31_131072))].unpack(); + *lookup_data.range_check_19_9 = [((carry_8_col65) + (M31_131072))]; + let carry_9_col66 = (((conv_mod_tmp_fec87_67) + (carry_8_col65)) * (M31_4194304)); + *row[66] = carry_9_col66; + let range_check_19_inputs_10 = [((carry_9_col66) + (M31_131072))].unpack(); + *lookup_data.range_check_19_10 = [((carry_9_col66) + (M31_131072))]; + let carry_10_col67 = (((conv_mod_tmp_fec87_68) + (carry_9_col66)) * (M31_4194304)); + *row[67] = carry_10_col67; + let range_check_19_inputs_11 = [((carry_10_col67) + (M31_131072))].unpack(); + *lookup_data.range_check_19_11 = [((carry_10_col67) + (M31_131072))]; + let carry_11_col68 = (((conv_mod_tmp_fec87_69) + (carry_10_col67)) * (M31_4194304)); + *row[68] = carry_11_col68; + let range_check_19_inputs_12 = [((carry_11_col68) + (M31_131072))].unpack(); + *lookup_data.range_check_19_12 = [((carry_11_col68) + (M31_131072))]; + let carry_12_col69 = (((conv_mod_tmp_fec87_70) + (carry_11_col68)) * (M31_4194304)); + *row[69] = carry_12_col69; + let range_check_19_inputs_13 = [((carry_12_col69) + (M31_131072))].unpack(); + *lookup_data.range_check_19_13 = [((carry_12_col69) + (M31_131072))]; + let carry_13_col70 = (((conv_mod_tmp_fec87_71) + (carry_12_col69)) * (M31_4194304)); + *row[70] = carry_13_col70; + let range_check_19_inputs_14 = [((carry_13_col70) + (M31_131072))].unpack(); + *lookup_data.range_check_19_14 = [((carry_13_col70) + (M31_131072))]; + let carry_14_col71 = (((conv_mod_tmp_fec87_72) + (carry_13_col70)) * (M31_4194304)); + *row[71] = carry_14_col71; + let range_check_19_inputs_15 = [((carry_14_col71) + (M31_131072))].unpack(); + *lookup_data.range_check_19_15 = [((carry_14_col71) + (M31_131072))]; + let carry_15_col72 = (((conv_mod_tmp_fec87_73) + (carry_14_col71)) * (M31_4194304)); + *row[72] = carry_15_col72; + let range_check_19_inputs_16 = [((carry_15_col72) + (M31_131072))].unpack(); + *lookup_data.range_check_19_16 = [((carry_15_col72) + (M31_131072))]; + let carry_16_col73 = (((conv_mod_tmp_fec87_74) + (carry_15_col72)) * (M31_4194304)); + *row[73] = carry_16_col73; + let range_check_19_inputs_17 = [((carry_16_col73) + (M31_131072))].unpack(); + *lookup_data.range_check_19_17 = [((carry_16_col73) + (M31_131072))]; + let carry_17_col74 = (((conv_mod_tmp_fec87_75) + (carry_16_col73)) * (M31_4194304)); + *row[74] = carry_17_col74; + let range_check_19_inputs_18 = [((carry_17_col74) + (M31_131072))].unpack(); + *lookup_data.range_check_19_18 = [((carry_17_col74) + (M31_131072))]; + let carry_18_col75 = (((conv_mod_tmp_fec87_76) + (carry_17_col74)) * (M31_4194304)); + *row[75] = carry_18_col75; + let range_check_19_inputs_19 = [((carry_18_col75) + (M31_131072))].unpack(); + *lookup_data.range_check_19_19 = [((carry_18_col75) + (M31_131072))]; + let carry_19_col76 = (((conv_mod_tmp_fec87_77) + (carry_18_col75)) * (M31_4194304)); + *row[76] = carry_19_col76; + let range_check_19_inputs_20 = [((carry_19_col76) + (M31_131072))].unpack(); + *lookup_data.range_check_19_20 = [((carry_19_col76) + (M31_131072))]; + let carry_20_col77 = (((conv_mod_tmp_fec87_78) + (carry_19_col76)) * (M31_4194304)); + *row[77] = carry_20_col77; + let range_check_19_inputs_21 = [((carry_20_col77) + (M31_131072))].unpack(); + *lookup_data.range_check_19_21 = [((carry_20_col77) + (M31_131072))]; + let carry_21_col78 = ((((conv_mod_tmp_fec87_79) - ((M31_136) * (k_col56))) + + (carry_20_col77)) + * (M31_4194304)); + *row[78] = carry_21_col78; + let range_check_19_inputs_22 = [((carry_21_col78) + (M31_131072))].unpack(); + *lookup_data.range_check_19_22 = [((carry_21_col78) + (M31_131072))]; + let carry_22_col79 = (((conv_mod_tmp_fec87_80) + (carry_21_col78)) * (M31_4194304)); + *row[79] = carry_22_col79; + let range_check_19_inputs_23 = [((carry_22_col79) + (M31_131072))].unpack(); + *lookup_data.range_check_19_23 = [((carry_22_col79) + (M31_131072))]; + let carry_23_col80 = (((conv_mod_tmp_fec87_81) + (carry_22_col79)) * (M31_4194304)); + *row[80] = carry_23_col80; + let range_check_19_inputs_24 = [((carry_23_col80) + (M31_131072))].unpack(); + *lookup_data.range_check_19_24 = [((carry_23_col80) + (M31_131072))]; + let carry_24_col81 = (((conv_mod_tmp_fec87_82) + (carry_23_col80)) * (M31_4194304)); + *row[81] = carry_24_col81; + let range_check_19_inputs_25 = [((carry_24_col81) + (M31_131072))].unpack(); + *lookup_data.range_check_19_25 = [((carry_24_col81) + (M31_131072))]; + let carry_25_col82 = (((conv_mod_tmp_fec87_83) + (carry_24_col81)) * (M31_4194304)); + *row[82] = carry_25_col82; + let range_check_19_inputs_26 = [((carry_25_col82) + (M31_131072))].unpack(); + *lookup_data.range_check_19_26 = [((carry_25_col82) + (M31_131072))]; + let carry_26_col83 = (((conv_mod_tmp_fec87_84) + (carry_25_col82)) * (M31_4194304)); + *row[83] = carry_26_col83; + let range_check_19_inputs_27 = [((carry_26_col83) + (M31_131072))].unpack(); + *lookup_data.range_check_19_27 = [((carry_26_col83) + (M31_131072))]; + + // Mul 252. + + let mul_res_tmp_fec87_87 = ((PackedFelt252::from_limbs([ + unpacked_limb_0_col10, + unpacked_limb_1_col11, + ((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)), + unpacked_limb_3_col12, + unpacked_limb_4_col13, + ((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)), + unpacked_limb_6_col14, + unpacked_limb_7_col15, + ((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)), + unpacked_limb_9_col16, + unpacked_limb_10_col17, + ((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)), + unpacked_limb_12_col18, + unpacked_limb_13_col19, + ((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)), + unpacked_limb_15_col20, + unpacked_limb_16_col21, + ((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)), + unpacked_limb_18_col22, + unpacked_limb_19_col23, + ((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)), + unpacked_limb_21_col24, + unpacked_limb_22_col25, + ((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)), + unpacked_limb_24_col26, + unpacked_limb_25_col27, + ((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)), + input_limb_9_col9, + ])) * (mul_res_tmp_fec87_2)); + let mul_res_limb_0_col84 = mul_res_tmp_fec87_87.get_m31(0); + *row[84] = mul_res_limb_0_col84; + let mul_res_limb_1_col85 = mul_res_tmp_fec87_87.get_m31(1); + *row[85] = mul_res_limb_1_col85; + let mul_res_limb_2_col86 = mul_res_tmp_fec87_87.get_m31(2); + *row[86] = mul_res_limb_2_col86; + let mul_res_limb_3_col87 = mul_res_tmp_fec87_87.get_m31(3); + *row[87] = mul_res_limb_3_col87; + let mul_res_limb_4_col88 = mul_res_tmp_fec87_87.get_m31(4); + *row[88] = mul_res_limb_4_col88; + let mul_res_limb_5_col89 = mul_res_tmp_fec87_87.get_m31(5); + *row[89] = mul_res_limb_5_col89; + let mul_res_limb_6_col90 = mul_res_tmp_fec87_87.get_m31(6); + *row[90] = mul_res_limb_6_col90; + let mul_res_limb_7_col91 = mul_res_tmp_fec87_87.get_m31(7); + *row[91] = mul_res_limb_7_col91; + let mul_res_limb_8_col92 = mul_res_tmp_fec87_87.get_m31(8); + *row[92] = mul_res_limb_8_col92; + let mul_res_limb_9_col93 = mul_res_tmp_fec87_87.get_m31(9); + *row[93] = mul_res_limb_9_col93; + let mul_res_limb_10_col94 = mul_res_tmp_fec87_87.get_m31(10); + *row[94] = mul_res_limb_10_col94; + let mul_res_limb_11_col95 = mul_res_tmp_fec87_87.get_m31(11); + *row[95] = mul_res_limb_11_col95; + let mul_res_limb_12_col96 = mul_res_tmp_fec87_87.get_m31(12); + *row[96] = mul_res_limb_12_col96; + let mul_res_limb_13_col97 = mul_res_tmp_fec87_87.get_m31(13); + *row[97] = mul_res_limb_13_col97; + let mul_res_limb_14_col98 = mul_res_tmp_fec87_87.get_m31(14); + *row[98] = mul_res_limb_14_col98; + let mul_res_limb_15_col99 = mul_res_tmp_fec87_87.get_m31(15); + *row[99] = mul_res_limb_15_col99; + let mul_res_limb_16_col100 = mul_res_tmp_fec87_87.get_m31(16); + *row[100] = mul_res_limb_16_col100; + let mul_res_limb_17_col101 = mul_res_tmp_fec87_87.get_m31(17); + *row[101] = mul_res_limb_17_col101; + let mul_res_limb_18_col102 = mul_res_tmp_fec87_87.get_m31(18); + *row[102] = mul_res_limb_18_col102; + let mul_res_limb_19_col103 = mul_res_tmp_fec87_87.get_m31(19); + *row[103] = mul_res_limb_19_col103; + let mul_res_limb_20_col104 = mul_res_tmp_fec87_87.get_m31(20); + *row[104] = mul_res_limb_20_col104; + let mul_res_limb_21_col105 = mul_res_tmp_fec87_87.get_m31(21); + *row[105] = mul_res_limb_21_col105; + let mul_res_limb_22_col106 = mul_res_tmp_fec87_87.get_m31(22); + *row[106] = mul_res_limb_22_col106; + let mul_res_limb_23_col107 = mul_res_tmp_fec87_87.get_m31(23); + *row[107] = mul_res_limb_23_col107; + let mul_res_limb_24_col108 = mul_res_tmp_fec87_87.get_m31(24); + *row[108] = mul_res_limb_24_col108; + let mul_res_limb_25_col109 = mul_res_tmp_fec87_87.get_m31(25); + *row[109] = mul_res_limb_25_col109; + let mul_res_limb_26_col110 = mul_res_tmp_fec87_87.get_m31(26); + *row[110] = mul_res_limb_26_col110; + let mul_res_limb_27_col111 = mul_res_tmp_fec87_87.get_m31(27); + *row[111] = mul_res_limb_27_col111; + + // Range Check Big Value. + + let range_check_9_9_inputs_28 = [mul_res_limb_0_col84, mul_res_limb_1_col85].unpack(); + *lookup_data.range_check_9_9_28 = [mul_res_limb_0_col84, mul_res_limb_1_col85]; + let range_check_9_9_inputs_29 = [mul_res_limb_2_col86, mul_res_limb_3_col87].unpack(); + *lookup_data.range_check_9_9_29 = [mul_res_limb_2_col86, mul_res_limb_3_col87]; + let range_check_9_9_inputs_30 = [mul_res_limb_4_col88, mul_res_limb_5_col89].unpack(); + *lookup_data.range_check_9_9_30 = [mul_res_limb_4_col88, mul_res_limb_5_col89]; + let range_check_9_9_inputs_31 = [mul_res_limb_6_col90, mul_res_limb_7_col91].unpack(); + *lookup_data.range_check_9_9_31 = [mul_res_limb_6_col90, mul_res_limb_7_col91]; + let range_check_9_9_inputs_32 = [mul_res_limb_8_col92, mul_res_limb_9_col93].unpack(); + *lookup_data.range_check_9_9_32 = [mul_res_limb_8_col92, mul_res_limb_9_col93]; + let range_check_9_9_inputs_33 = [mul_res_limb_10_col94, mul_res_limb_11_col95].unpack(); + *lookup_data.range_check_9_9_33 = [mul_res_limb_10_col94, mul_res_limb_11_col95]; + let range_check_9_9_inputs_34 = [mul_res_limb_12_col96, mul_res_limb_13_col97].unpack(); + *lookup_data.range_check_9_9_34 = [mul_res_limb_12_col96, mul_res_limb_13_col97]; + let range_check_9_9_inputs_35 = [mul_res_limb_14_col98, mul_res_limb_15_col99].unpack(); + *lookup_data.range_check_9_9_35 = [mul_res_limb_14_col98, mul_res_limb_15_col99]; + let range_check_9_9_inputs_36 = + [mul_res_limb_16_col100, mul_res_limb_17_col101].unpack(); + *lookup_data.range_check_9_9_36 = [mul_res_limb_16_col100, mul_res_limb_17_col101]; + let range_check_9_9_inputs_37 = + [mul_res_limb_18_col102, mul_res_limb_19_col103].unpack(); + *lookup_data.range_check_9_9_37 = [mul_res_limb_18_col102, mul_res_limb_19_col103]; + let range_check_9_9_inputs_38 = + [mul_res_limb_20_col104, mul_res_limb_21_col105].unpack(); + *lookup_data.range_check_9_9_38 = [mul_res_limb_20_col104, mul_res_limb_21_col105]; + let range_check_9_9_inputs_39 = + [mul_res_limb_22_col106, mul_res_limb_23_col107].unpack(); + *lookup_data.range_check_9_9_39 = [mul_res_limb_22_col106, mul_res_limb_23_col107]; + let range_check_9_9_inputs_40 = + [mul_res_limb_24_col108, mul_res_limb_25_col109].unpack(); + *lookup_data.range_check_9_9_40 = [mul_res_limb_24_col108, mul_res_limb_25_col109]; + let range_check_9_9_inputs_41 = + [mul_res_limb_26_col110, mul_res_limb_27_col111].unpack(); + *lookup_data.range_check_9_9_41 = [mul_res_limb_26_col110, mul_res_limb_27_col111]; + + // Verify Mul 252. + + let conv_tmp_fec87_88 = (((M31_0) - (mul_res_limb_0_col84)) + + ((unpacked_limb_0_col10) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_89 = ((((M31_0) - (mul_res_limb_1_col85)) + + ((unpacked_limb_0_col10) * (mul_res_limb_1_col29))) + + ((unpacked_limb_1_col11) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_90 = (((((M31_0) - (mul_res_limb_2_col86)) + + ((unpacked_limb_0_col10) * (mul_res_limb_2_col30))) + + ((unpacked_limb_1_col11) * (mul_res_limb_1_col29))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_91 = ((((((M31_0) - (mul_res_limb_3_col87)) + + ((unpacked_limb_0_col10) * (mul_res_limb_3_col31))) + + ((unpacked_limb_1_col11) * (mul_res_limb_2_col30))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_3_col12) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_92 = (((((((M31_0) - (mul_res_limb_4_col88)) + + ((unpacked_limb_0_col10) * (mul_res_limb_4_col32))) + + ((unpacked_limb_1_col11) * (mul_res_limb_3_col31))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_3_col12) * (mul_res_limb_1_col29))) + + ((unpacked_limb_4_col13) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_93 = ((((((((M31_0) - (mul_res_limb_5_col89)) + + ((unpacked_limb_0_col10) * (mul_res_limb_5_col33))) + + ((unpacked_limb_1_col11) * (mul_res_limb_4_col32))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_3_col12) * (mul_res_limb_2_col30))) + + ((unpacked_limb_4_col13) * (mul_res_limb_1_col29))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_94 = (((((((((M31_0) - (mul_res_limb_6_col90)) + + ((unpacked_limb_0_col10) * (mul_res_limb_6_col34))) + + ((unpacked_limb_1_col11) * (mul_res_limb_5_col33))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_3_col12) * (mul_res_limb_3_col31))) + + ((unpacked_limb_4_col13) * (mul_res_limb_2_col30))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_6_col14) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_95 = ((((((((((M31_0) - (mul_res_limb_7_col91)) + + ((unpacked_limb_0_col10) * (mul_res_limb_7_col35))) + + ((unpacked_limb_1_col11) * (mul_res_limb_6_col34))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_3_col12) * (mul_res_limb_4_col32))) + + ((unpacked_limb_4_col13) * (mul_res_limb_3_col31))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_6_col14) * (mul_res_limb_1_col29))) + + ((unpacked_limb_7_col15) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_96 = (((((((((((M31_0) - (mul_res_limb_8_col92)) + + ((unpacked_limb_0_col10) * (mul_res_limb_8_col36))) + + ((unpacked_limb_1_col11) * (mul_res_limb_7_col35))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_3_col12) * (mul_res_limb_5_col33))) + + ((unpacked_limb_4_col13) * (mul_res_limb_4_col32))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_6_col14) * (mul_res_limb_2_col30))) + + ((unpacked_limb_7_col15) * (mul_res_limb_1_col29))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_97 = ((((((((((((M31_0) - (mul_res_limb_9_col93)) + + ((unpacked_limb_0_col10) * (mul_res_limb_9_col37))) + + ((unpacked_limb_1_col11) * (mul_res_limb_8_col36))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_3_col12) * (mul_res_limb_6_col34))) + + ((unpacked_limb_4_col13) * (mul_res_limb_5_col33))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_6_col14) * (mul_res_limb_3_col31))) + + ((unpacked_limb_7_col15) * (mul_res_limb_2_col30))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_9_col16) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_98 = (((((((((((((M31_0) - (mul_res_limb_10_col94)) + + ((unpacked_limb_0_col10) * (mul_res_limb_10_col38))) + + ((unpacked_limb_1_col11) * (mul_res_limb_9_col37))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_3_col12) * (mul_res_limb_7_col35))) + + ((unpacked_limb_4_col13) * (mul_res_limb_6_col34))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_6_col14) * (mul_res_limb_4_col32))) + + ((unpacked_limb_7_col15) * (mul_res_limb_3_col31))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_9_col16) * (mul_res_limb_1_col29))) + + ((unpacked_limb_10_col17) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_99 = ((((((((((((((M31_0) - (mul_res_limb_11_col95)) + + ((unpacked_limb_0_col10) * (mul_res_limb_11_col39))) + + ((unpacked_limb_1_col11) * (mul_res_limb_10_col38))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_3_col12) * (mul_res_limb_8_col36))) + + ((unpacked_limb_4_col13) * (mul_res_limb_7_col35))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_6_col14) * (mul_res_limb_5_col33))) + + ((unpacked_limb_7_col15) * (mul_res_limb_4_col32))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_9_col16) * (mul_res_limb_2_col30))) + + ((unpacked_limb_10_col17) * (mul_res_limb_1_col29))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_100 = (((((((((((((((M31_0) - (mul_res_limb_12_col96)) + + ((unpacked_limb_0_col10) * (mul_res_limb_12_col40))) + + ((unpacked_limb_1_col11) * (mul_res_limb_11_col39))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_3_col12) * (mul_res_limb_9_col37))) + + ((unpacked_limb_4_col13) * (mul_res_limb_8_col36))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_6_col14) * (mul_res_limb_6_col34))) + + ((unpacked_limb_7_col15) * (mul_res_limb_5_col33))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_9_col16) * (mul_res_limb_3_col31))) + + ((unpacked_limb_10_col17) * (mul_res_limb_2_col30))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_12_col18) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_101 = ((((((((((((((((M31_0) + - (mul_res_limb_13_col97)) + + ((unpacked_limb_0_col10) * (mul_res_limb_13_col41))) + + ((unpacked_limb_1_col11) * (mul_res_limb_12_col40))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_3_col12) * (mul_res_limb_10_col38))) + + ((unpacked_limb_4_col13) * (mul_res_limb_9_col37))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_6_col14) * (mul_res_limb_7_col35))) + + ((unpacked_limb_7_col15) * (mul_res_limb_6_col34))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_9_col16) * (mul_res_limb_4_col32))) + + ((unpacked_limb_10_col17) * (mul_res_limb_3_col31))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_12_col18) * (mul_res_limb_1_col29))) + + ((unpacked_limb_13_col19) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_102 = (((((((((((((((((M31_0) + - (mul_res_limb_14_col98)) + + ((unpacked_limb_0_col10) * (mul_res_limb_14_col42))) + + ((unpacked_limb_1_col11) * (mul_res_limb_13_col41))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_3_col12) * (mul_res_limb_11_col39))) + + ((unpacked_limb_4_col13) * (mul_res_limb_10_col38))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_6_col14) * (mul_res_limb_8_col36))) + + ((unpacked_limb_7_col15) * (mul_res_limb_7_col35))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_9_col16) * (mul_res_limb_5_col33))) + + ((unpacked_limb_10_col17) * (mul_res_limb_4_col32))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_12_col18) * (mul_res_limb_2_col30))) + + ((unpacked_limb_13_col19) * (mul_res_limb_1_col29))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_103 = ((((((((((((((((((M31_0) + - (mul_res_limb_15_col99)) + + ((unpacked_limb_0_col10) * (mul_res_limb_15_col43))) + + ((unpacked_limb_1_col11) * (mul_res_limb_14_col42))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_3_col12) * (mul_res_limb_12_col40))) + + ((unpacked_limb_4_col13) * (mul_res_limb_11_col39))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_6_col14) * (mul_res_limb_9_col37))) + + ((unpacked_limb_7_col15) * (mul_res_limb_8_col36))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_9_col16) * (mul_res_limb_6_col34))) + + ((unpacked_limb_10_col17) * (mul_res_limb_5_col33))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_12_col18) * (mul_res_limb_3_col31))) + + ((unpacked_limb_13_col19) * (mul_res_limb_2_col30))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_15_col20) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_104 = (((((((((((((((((((M31_0) + - (mul_res_limb_16_col100)) + + ((unpacked_limb_0_col10) * (mul_res_limb_16_col44))) + + ((unpacked_limb_1_col11) * (mul_res_limb_15_col43))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_3_col12) * (mul_res_limb_13_col41))) + + ((unpacked_limb_4_col13) * (mul_res_limb_12_col40))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_6_col14) * (mul_res_limb_10_col38))) + + ((unpacked_limb_7_col15) * (mul_res_limb_9_col37))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_9_col16) * (mul_res_limb_7_col35))) + + ((unpacked_limb_10_col17) * (mul_res_limb_6_col34))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_12_col18) * (mul_res_limb_4_col32))) + + ((unpacked_limb_13_col19) * (mul_res_limb_3_col31))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_15_col20) * (mul_res_limb_1_col29))) + + ((unpacked_limb_16_col21) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_105 = ((((((((((((((((((((M31_0) + - (mul_res_limb_17_col101)) + + ((unpacked_limb_0_col10) * (mul_res_limb_17_col45))) + + ((unpacked_limb_1_col11) * (mul_res_limb_16_col44))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_3_col12) * (mul_res_limb_14_col42))) + + ((unpacked_limb_4_col13) * (mul_res_limb_13_col41))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_6_col14) * (mul_res_limb_11_col39))) + + ((unpacked_limb_7_col15) * (mul_res_limb_10_col38))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_9_col16) * (mul_res_limb_8_col36))) + + ((unpacked_limb_10_col17) * (mul_res_limb_7_col35))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_12_col18) * (mul_res_limb_5_col33))) + + ((unpacked_limb_13_col19) * (mul_res_limb_4_col32))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_15_col20) * (mul_res_limb_2_col30))) + + ((unpacked_limb_16_col21) * (mul_res_limb_1_col29))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_106 = (((((((((((((((((((((M31_0) + - (mul_res_limb_18_col102)) + + ((unpacked_limb_0_col10) * (mul_res_limb_18_col46))) + + ((unpacked_limb_1_col11) * (mul_res_limb_17_col45))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_3_col12) * (mul_res_limb_15_col43))) + + ((unpacked_limb_4_col13) * (mul_res_limb_14_col42))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_6_col14) * (mul_res_limb_12_col40))) + + ((unpacked_limb_7_col15) * (mul_res_limb_11_col39))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_9_col16) * (mul_res_limb_9_col37))) + + ((unpacked_limb_10_col17) * (mul_res_limb_8_col36))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_12_col18) * (mul_res_limb_6_col34))) + + ((unpacked_limb_13_col19) * (mul_res_limb_5_col33))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_15_col20) * (mul_res_limb_3_col31))) + + ((unpacked_limb_16_col21) * (mul_res_limb_2_col30))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_18_col22) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_107 = ((((((((((((((((((((((M31_0) + - (mul_res_limb_19_col103)) + + ((unpacked_limb_0_col10) * (mul_res_limb_19_col47))) + + ((unpacked_limb_1_col11) * (mul_res_limb_18_col46))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_3_col12) * (mul_res_limb_16_col44))) + + ((unpacked_limb_4_col13) * (mul_res_limb_15_col43))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_6_col14) * (mul_res_limb_13_col41))) + + ((unpacked_limb_7_col15) * (mul_res_limb_12_col40))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_9_col16) * (mul_res_limb_10_col38))) + + ((unpacked_limb_10_col17) * (mul_res_limb_9_col37))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_12_col18) * (mul_res_limb_7_col35))) + + ((unpacked_limb_13_col19) * (mul_res_limb_6_col34))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_15_col20) * (mul_res_limb_4_col32))) + + ((unpacked_limb_16_col21) * (mul_res_limb_3_col31))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_18_col22) * (mul_res_limb_1_col29))) + + ((unpacked_limb_19_col23) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_108 = (((((((((((((((((((((((M31_0) + - (mul_res_limb_20_col104)) + + ((unpacked_limb_0_col10) * (mul_res_limb_20_col48))) + + ((unpacked_limb_1_col11) * (mul_res_limb_19_col47))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_3_col12) * (mul_res_limb_17_col45))) + + ((unpacked_limb_4_col13) * (mul_res_limb_16_col44))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_6_col14) * (mul_res_limb_14_col42))) + + ((unpacked_limb_7_col15) * (mul_res_limb_13_col41))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_9_col16) * (mul_res_limb_11_col39))) + + ((unpacked_limb_10_col17) * (mul_res_limb_10_col38))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_12_col18) * (mul_res_limb_8_col36))) + + ((unpacked_limb_13_col19) * (mul_res_limb_7_col35))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_15_col20) * (mul_res_limb_5_col33))) + + ((unpacked_limb_16_col21) * (mul_res_limb_4_col32))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_18_col22) * (mul_res_limb_2_col30))) + + ((unpacked_limb_19_col23) * (mul_res_limb_1_col29))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_109 = ((((((((((((((((((((((((M31_0) + - (mul_res_limb_21_col105)) + + ((unpacked_limb_0_col10) * (mul_res_limb_21_col49))) + + ((unpacked_limb_1_col11) * (mul_res_limb_20_col48))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_3_col12) * (mul_res_limb_18_col46))) + + ((unpacked_limb_4_col13) * (mul_res_limb_17_col45))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_6_col14) * (mul_res_limb_15_col43))) + + ((unpacked_limb_7_col15) * (mul_res_limb_14_col42))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_9_col16) * (mul_res_limb_12_col40))) + + ((unpacked_limb_10_col17) * (mul_res_limb_11_col39))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_12_col18) * (mul_res_limb_9_col37))) + + ((unpacked_limb_13_col19) * (mul_res_limb_8_col36))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_15_col20) * (mul_res_limb_6_col34))) + + ((unpacked_limb_16_col21) * (mul_res_limb_5_col33))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_18_col22) * (mul_res_limb_3_col31))) + + ((unpacked_limb_19_col23) * (mul_res_limb_2_col30))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_21_col24) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_110 = (((((((((((((((((((((((((M31_0) + - (mul_res_limb_22_col106)) + + ((unpacked_limb_0_col10) * (mul_res_limb_22_col50))) + + ((unpacked_limb_1_col11) * (mul_res_limb_21_col49))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_3_col12) * (mul_res_limb_19_col47))) + + ((unpacked_limb_4_col13) * (mul_res_limb_18_col46))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_6_col14) * (mul_res_limb_16_col44))) + + ((unpacked_limb_7_col15) * (mul_res_limb_15_col43))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_9_col16) * (mul_res_limb_13_col41))) + + ((unpacked_limb_10_col17) * (mul_res_limb_12_col40))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_12_col18) * (mul_res_limb_10_col38))) + + ((unpacked_limb_13_col19) * (mul_res_limb_9_col37))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_15_col20) * (mul_res_limb_7_col35))) + + ((unpacked_limb_16_col21) * (mul_res_limb_6_col34))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_18_col22) * (mul_res_limb_4_col32))) + + ((unpacked_limb_19_col23) * (mul_res_limb_3_col31))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_21_col24) * (mul_res_limb_1_col29))) + + ((unpacked_limb_22_col25) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_111 = ((((((((((((((((((((((((((M31_0) + - (mul_res_limb_23_col107)) + + ((unpacked_limb_0_col10) * (mul_res_limb_23_col51))) + + ((unpacked_limb_1_col11) * (mul_res_limb_22_col50))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_3_col12) * (mul_res_limb_20_col48))) + + ((unpacked_limb_4_col13) * (mul_res_limb_19_col47))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_6_col14) * (mul_res_limb_17_col45))) + + ((unpacked_limb_7_col15) * (mul_res_limb_16_col44))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_9_col16) * (mul_res_limb_14_col42))) + + ((unpacked_limb_10_col17) * (mul_res_limb_13_col41))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_12_col18) * (mul_res_limb_11_col39))) + + ((unpacked_limb_13_col19) * (mul_res_limb_10_col38))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_15_col20) * (mul_res_limb_8_col36))) + + ((unpacked_limb_16_col21) * (mul_res_limb_7_col35))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_18_col22) * (mul_res_limb_5_col33))) + + ((unpacked_limb_19_col23) * (mul_res_limb_4_col32))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_21_col24) * (mul_res_limb_2_col30))) + + ((unpacked_limb_22_col25) * (mul_res_limb_1_col29))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_112 = (((((((((((((((((((((((((((M31_0) + - (mul_res_limb_24_col108)) + + ((unpacked_limb_0_col10) * (mul_res_limb_24_col52))) + + ((unpacked_limb_1_col11) * (mul_res_limb_23_col51))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_3_col12) * (mul_res_limb_21_col49))) + + ((unpacked_limb_4_col13) * (mul_res_limb_20_col48))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_6_col14) * (mul_res_limb_18_col46))) + + ((unpacked_limb_7_col15) * (mul_res_limb_17_col45))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_9_col16) * (mul_res_limb_15_col43))) + + ((unpacked_limb_10_col17) * (mul_res_limb_14_col42))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_12_col18) * (mul_res_limb_12_col40))) + + ((unpacked_limb_13_col19) * (mul_res_limb_11_col39))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_15_col20) * (mul_res_limb_9_col37))) + + ((unpacked_limb_16_col21) * (mul_res_limb_8_col36))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_18_col22) * (mul_res_limb_6_col34))) + + ((unpacked_limb_19_col23) * (mul_res_limb_5_col33))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_21_col24) * (mul_res_limb_3_col31))) + + ((unpacked_limb_22_col25) * (mul_res_limb_2_col30))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((unpacked_limb_24_col26) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_113 = ((((((((((((((((((((((((((((M31_0) + - (mul_res_limb_25_col109)) + + ((unpacked_limb_0_col10) * (mul_res_limb_25_col53))) + + ((unpacked_limb_1_col11) * (mul_res_limb_24_col52))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_3_col12) * (mul_res_limb_22_col50))) + + ((unpacked_limb_4_col13) * (mul_res_limb_21_col49))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_6_col14) * (mul_res_limb_19_col47))) + + ((unpacked_limb_7_col15) * (mul_res_limb_18_col46))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_9_col16) * (mul_res_limb_16_col44))) + + ((unpacked_limb_10_col17) * (mul_res_limb_15_col43))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_12_col18) * (mul_res_limb_13_col41))) + + ((unpacked_limb_13_col19) * (mul_res_limb_12_col40))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_15_col20) * (mul_res_limb_10_col38))) + + ((unpacked_limb_16_col21) * (mul_res_limb_9_col37))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_18_col22) * (mul_res_limb_7_col35))) + + ((unpacked_limb_19_col23) * (mul_res_limb_6_col34))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_21_col24) * (mul_res_limb_4_col32))) + + ((unpacked_limb_22_col25) * (mul_res_limb_3_col31))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((unpacked_limb_24_col26) * (mul_res_limb_1_col29))) + + ((unpacked_limb_25_col27) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_114 = (((((((((((((((((((((((((((((M31_0) + - (mul_res_limb_26_col110)) + + ((unpacked_limb_0_col10) * (mul_res_limb_26_col54))) + + ((unpacked_limb_1_col11) * (mul_res_limb_25_col53))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_3_col12) * (mul_res_limb_23_col51))) + + ((unpacked_limb_4_col13) * (mul_res_limb_22_col50))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_6_col14) * (mul_res_limb_20_col48))) + + ((unpacked_limb_7_col15) * (mul_res_limb_19_col47))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_9_col16) * (mul_res_limb_17_col45))) + + ((unpacked_limb_10_col17) * (mul_res_limb_16_col44))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_12_col18) * (mul_res_limb_14_col42))) + + ((unpacked_limb_13_col19) * (mul_res_limb_13_col41))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_15_col20) * (mul_res_limb_11_col39))) + + ((unpacked_limb_16_col21) * (mul_res_limb_10_col38))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_18_col22) * (mul_res_limb_8_col36))) + + ((unpacked_limb_19_col23) * (mul_res_limb_7_col35))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_21_col24) * (mul_res_limb_5_col33))) + + ((unpacked_limb_22_col25) * (mul_res_limb_4_col32))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((unpacked_limb_24_col26) * (mul_res_limb_2_col30))) + + ((unpacked_limb_25_col27) * (mul_res_limb_1_col29))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_0_col28))); + let conv_tmp_fec87_115 = ((((((((((((((((((((((((((((((M31_0) + - (mul_res_limb_27_col111)) + + ((unpacked_limb_0_col10) * (mul_res_limb_27_col55))) + + ((unpacked_limb_1_col11) * (mul_res_limb_26_col54))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_3_col12) * (mul_res_limb_24_col52))) + + ((unpacked_limb_4_col13) * (mul_res_limb_23_col51))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_6_col14) * (mul_res_limb_21_col49))) + + ((unpacked_limb_7_col15) * (mul_res_limb_20_col48))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_9_col16) * (mul_res_limb_18_col46))) + + ((unpacked_limb_10_col17) * (mul_res_limb_17_col45))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_12_col18) * (mul_res_limb_15_col43))) + + ((unpacked_limb_13_col19) * (mul_res_limb_14_col42))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_15_col20) * (mul_res_limb_12_col40))) + + ((unpacked_limb_16_col21) * (mul_res_limb_11_col39))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_18_col22) * (mul_res_limb_9_col37))) + + ((unpacked_limb_19_col23) * (mul_res_limb_8_col36))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_21_col24) * (mul_res_limb_6_col34))) + + ((unpacked_limb_22_col25) * (mul_res_limb_5_col33))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((unpacked_limb_24_col26) * (mul_res_limb_3_col31))) + + ((unpacked_limb_25_col27) * (mul_res_limb_2_col30))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_1_col29))) + + ((input_limb_9_col9) * (mul_res_limb_0_col28))); + let conv_tmp_fec87_116 = ((((((((((((((((((((((((((((M31_0) + + ((unpacked_limb_1_col11) * (mul_res_limb_27_col55))) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_3_col12) * (mul_res_limb_25_col53))) + + ((unpacked_limb_4_col13) * (mul_res_limb_24_col52))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_6_col14) * (mul_res_limb_22_col50))) + + ((unpacked_limb_7_col15) * (mul_res_limb_21_col49))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_9_col16) * (mul_res_limb_19_col47))) + + ((unpacked_limb_10_col17) * (mul_res_limb_18_col46))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_12_col18) * (mul_res_limb_16_col44))) + + ((unpacked_limb_13_col19) * (mul_res_limb_15_col43))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_15_col20) * (mul_res_limb_13_col41))) + + ((unpacked_limb_16_col21) * (mul_res_limb_12_col40))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_18_col22) * (mul_res_limb_10_col38))) + + ((unpacked_limb_19_col23) * (mul_res_limb_9_col37))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_21_col24) * (mul_res_limb_7_col35))) + + ((unpacked_limb_22_col25) * (mul_res_limb_6_col34))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((unpacked_limb_24_col26) * (mul_res_limb_4_col32))) + + ((unpacked_limb_25_col27) * (mul_res_limb_3_col31))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_2_col30))) + + ((input_limb_9_col9) * (mul_res_limb_1_col29))); + let conv_tmp_fec87_117 = (((((((((((((((((((((((((((M31_0) + + (((((input_limb_0_col0) - (unpacked_limb_0_col10)) + - ((unpacked_limb_1_col11) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_3_col12) * (mul_res_limb_26_col54))) + + ((unpacked_limb_4_col13) * (mul_res_limb_25_col53))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_6_col14) * (mul_res_limb_23_col51))) + + ((unpacked_limb_7_col15) * (mul_res_limb_22_col50))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_9_col16) * (mul_res_limb_20_col48))) + + ((unpacked_limb_10_col17) * (mul_res_limb_19_col47))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_12_col18) * (mul_res_limb_17_col45))) + + ((unpacked_limb_13_col19) * (mul_res_limb_16_col44))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_15_col20) * (mul_res_limb_14_col42))) + + ((unpacked_limb_16_col21) * (mul_res_limb_13_col41))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_18_col22) * (mul_res_limb_11_col39))) + + ((unpacked_limb_19_col23) * (mul_res_limb_10_col38))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_21_col24) * (mul_res_limb_8_col36))) + + ((unpacked_limb_22_col25) * (mul_res_limb_7_col35))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((unpacked_limb_24_col26) * (mul_res_limb_5_col33))) + + ((unpacked_limb_25_col27) * (mul_res_limb_4_col32))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_3_col31))) + + ((input_limb_9_col9) * (mul_res_limb_2_col30))); + let conv_tmp_fec87_118 = ((((((((((((((((((((((((((M31_0) + + ((unpacked_limb_3_col12) * (mul_res_limb_27_col55))) + + ((unpacked_limb_4_col13) * (mul_res_limb_26_col54))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_6_col14) * (mul_res_limb_24_col52))) + + ((unpacked_limb_7_col15) * (mul_res_limb_23_col51))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_9_col16) * (mul_res_limb_21_col49))) + + ((unpacked_limb_10_col17) * (mul_res_limb_20_col48))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_12_col18) * (mul_res_limb_18_col46))) + + ((unpacked_limb_13_col19) * (mul_res_limb_17_col45))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_15_col20) * (mul_res_limb_15_col43))) + + ((unpacked_limb_16_col21) * (mul_res_limb_14_col42))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_18_col22) * (mul_res_limb_12_col40))) + + ((unpacked_limb_19_col23) * (mul_res_limb_11_col39))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_21_col24) * (mul_res_limb_9_col37))) + + ((unpacked_limb_22_col25) * (mul_res_limb_8_col36))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((unpacked_limb_24_col26) * (mul_res_limb_6_col34))) + + ((unpacked_limb_25_col27) * (mul_res_limb_5_col33))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_4_col32))) + + ((input_limb_9_col9) * (mul_res_limb_3_col31))); + let conv_tmp_fec87_119 = (((((((((((((((((((((((((M31_0) + + ((unpacked_limb_4_col13) * (mul_res_limb_27_col55))) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_6_col14) * (mul_res_limb_25_col53))) + + ((unpacked_limb_7_col15) * (mul_res_limb_24_col52))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_9_col16) * (mul_res_limb_22_col50))) + + ((unpacked_limb_10_col17) * (mul_res_limb_21_col49))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_12_col18) * (mul_res_limb_19_col47))) + + ((unpacked_limb_13_col19) * (mul_res_limb_18_col46))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_15_col20) * (mul_res_limb_16_col44))) + + ((unpacked_limb_16_col21) * (mul_res_limb_15_col43))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_18_col22) * (mul_res_limb_13_col41))) + + ((unpacked_limb_19_col23) * (mul_res_limb_12_col40))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_21_col24) * (mul_res_limb_10_col38))) + + ((unpacked_limb_22_col25) * (mul_res_limb_9_col37))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((unpacked_limb_24_col26) * (mul_res_limb_7_col35))) + + ((unpacked_limb_25_col27) * (mul_res_limb_6_col34))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_5_col33))) + + ((input_limb_9_col9) * (mul_res_limb_4_col32))); + let conv_tmp_fec87_120 = ((((((((((((((((((((((((M31_0) + + (((((input_limb_1_col1) - (unpacked_limb_3_col12)) + - ((unpacked_limb_4_col13) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_6_col14) * (mul_res_limb_26_col54))) + + ((unpacked_limb_7_col15) * (mul_res_limb_25_col53))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_9_col16) * (mul_res_limb_23_col51))) + + ((unpacked_limb_10_col17) * (mul_res_limb_22_col50))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_12_col18) * (mul_res_limb_20_col48))) + + ((unpacked_limb_13_col19) * (mul_res_limb_19_col47))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_15_col20) * (mul_res_limb_17_col45))) + + ((unpacked_limb_16_col21) * (mul_res_limb_16_col44))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_18_col22) * (mul_res_limb_14_col42))) + + ((unpacked_limb_19_col23) * (mul_res_limb_13_col41))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_21_col24) * (mul_res_limb_11_col39))) + + ((unpacked_limb_22_col25) * (mul_res_limb_10_col38))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((unpacked_limb_24_col26) * (mul_res_limb_8_col36))) + + ((unpacked_limb_25_col27) * (mul_res_limb_7_col35))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_6_col34))) + + ((input_limb_9_col9) * (mul_res_limb_5_col33))); + let conv_tmp_fec87_121 = (((((((((((((((((((((((M31_0) + + ((unpacked_limb_6_col14) * (mul_res_limb_27_col55))) + + ((unpacked_limb_7_col15) * (mul_res_limb_26_col54))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_9_col16) * (mul_res_limb_24_col52))) + + ((unpacked_limb_10_col17) * (mul_res_limb_23_col51))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_12_col18) * (mul_res_limb_21_col49))) + + ((unpacked_limb_13_col19) * (mul_res_limb_20_col48))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_15_col20) * (mul_res_limb_18_col46))) + + ((unpacked_limb_16_col21) * (mul_res_limb_17_col45))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_18_col22) * (mul_res_limb_15_col43))) + + ((unpacked_limb_19_col23) * (mul_res_limb_14_col42))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_21_col24) * (mul_res_limb_12_col40))) + + ((unpacked_limb_22_col25) * (mul_res_limb_11_col39))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((unpacked_limb_24_col26) * (mul_res_limb_9_col37))) + + ((unpacked_limb_25_col27) * (mul_res_limb_8_col36))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_7_col35))) + + ((input_limb_9_col9) * (mul_res_limb_6_col34))); + let conv_tmp_fec87_122 = ((((((((((((((((((((((M31_0) + + ((unpacked_limb_7_col15) * (mul_res_limb_27_col55))) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_9_col16) * (mul_res_limb_25_col53))) + + ((unpacked_limb_10_col17) * (mul_res_limb_24_col52))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_12_col18) * (mul_res_limb_22_col50))) + + ((unpacked_limb_13_col19) * (mul_res_limb_21_col49))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_15_col20) * (mul_res_limb_19_col47))) + + ((unpacked_limb_16_col21) * (mul_res_limb_18_col46))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_18_col22) * (mul_res_limb_16_col44))) + + ((unpacked_limb_19_col23) * (mul_res_limb_15_col43))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_21_col24) * (mul_res_limb_13_col41))) + + ((unpacked_limb_22_col25) * (mul_res_limb_12_col40))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((unpacked_limb_24_col26) * (mul_res_limb_10_col38))) + + ((unpacked_limb_25_col27) * (mul_res_limb_9_col37))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_8_col36))) + + ((input_limb_9_col9) * (mul_res_limb_7_col35))); + let conv_tmp_fec87_123 = (((((((((((((((((((((M31_0) + + (((((input_limb_2_col2) - (unpacked_limb_6_col14)) + - ((unpacked_limb_7_col15) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_9_col16) * (mul_res_limb_26_col54))) + + ((unpacked_limb_10_col17) * (mul_res_limb_25_col53))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_12_col18) * (mul_res_limb_23_col51))) + + ((unpacked_limb_13_col19) * (mul_res_limb_22_col50))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_15_col20) * (mul_res_limb_20_col48))) + + ((unpacked_limb_16_col21) * (mul_res_limb_19_col47))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_18_col22) * (mul_res_limb_17_col45))) + + ((unpacked_limb_19_col23) * (mul_res_limb_16_col44))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_21_col24) * (mul_res_limb_14_col42))) + + ((unpacked_limb_22_col25) * (mul_res_limb_13_col41))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((unpacked_limb_24_col26) * (mul_res_limb_11_col39))) + + ((unpacked_limb_25_col27) * (mul_res_limb_10_col38))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_9_col37))) + + ((input_limb_9_col9) * (mul_res_limb_8_col36))); + let conv_tmp_fec87_124 = ((((((((((((((((((((M31_0) + + ((unpacked_limb_9_col16) * (mul_res_limb_27_col55))) + + ((unpacked_limb_10_col17) * (mul_res_limb_26_col54))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_12_col18) * (mul_res_limb_24_col52))) + + ((unpacked_limb_13_col19) * (mul_res_limb_23_col51))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_15_col20) * (mul_res_limb_21_col49))) + + ((unpacked_limb_16_col21) * (mul_res_limb_20_col48))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_18_col22) * (mul_res_limb_18_col46))) + + ((unpacked_limb_19_col23) * (mul_res_limb_17_col45))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_21_col24) * (mul_res_limb_15_col43))) + + ((unpacked_limb_22_col25) * (mul_res_limb_14_col42))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((unpacked_limb_24_col26) * (mul_res_limb_12_col40))) + + ((unpacked_limb_25_col27) * (mul_res_limb_11_col39))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_10_col38))) + + ((input_limb_9_col9) * (mul_res_limb_9_col37))); + let conv_tmp_fec87_125 = (((((((((((((((((((M31_0) + + ((unpacked_limb_10_col17) * (mul_res_limb_27_col55))) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_12_col18) * (mul_res_limb_25_col53))) + + ((unpacked_limb_13_col19) * (mul_res_limb_24_col52))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_15_col20) * (mul_res_limb_22_col50))) + + ((unpacked_limb_16_col21) * (mul_res_limb_21_col49))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_18_col22) * (mul_res_limb_19_col47))) + + ((unpacked_limb_19_col23) * (mul_res_limb_18_col46))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_21_col24) * (mul_res_limb_16_col44))) + + ((unpacked_limb_22_col25) * (mul_res_limb_15_col43))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((unpacked_limb_24_col26) * (mul_res_limb_13_col41))) + + ((unpacked_limb_25_col27) * (mul_res_limb_12_col40))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_11_col39))) + + ((input_limb_9_col9) * (mul_res_limb_10_col38))); + let conv_tmp_fec87_126 = ((((((((((((((((((M31_0) + + (((((input_limb_3_col3) - (unpacked_limb_9_col16)) + - ((unpacked_limb_10_col17) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_12_col18) * (mul_res_limb_26_col54))) + + ((unpacked_limb_13_col19) * (mul_res_limb_25_col53))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_15_col20) * (mul_res_limb_23_col51))) + + ((unpacked_limb_16_col21) * (mul_res_limb_22_col50))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_18_col22) * (mul_res_limb_20_col48))) + + ((unpacked_limb_19_col23) * (mul_res_limb_19_col47))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_21_col24) * (mul_res_limb_17_col45))) + + ((unpacked_limb_22_col25) * (mul_res_limb_16_col44))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((unpacked_limb_24_col26) * (mul_res_limb_14_col42))) + + ((unpacked_limb_25_col27) * (mul_res_limb_13_col41))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_12_col40))) + + ((input_limb_9_col9) * (mul_res_limb_11_col39))); + let conv_tmp_fec87_127 = (((((((((((((((((M31_0) + + ((unpacked_limb_12_col18) * (mul_res_limb_27_col55))) + + ((unpacked_limb_13_col19) * (mul_res_limb_26_col54))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_15_col20) * (mul_res_limb_24_col52))) + + ((unpacked_limb_16_col21) * (mul_res_limb_23_col51))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_18_col22) * (mul_res_limb_21_col49))) + + ((unpacked_limb_19_col23) * (mul_res_limb_20_col48))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_21_col24) * (mul_res_limb_18_col46))) + + ((unpacked_limb_22_col25) * (mul_res_limb_17_col45))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((unpacked_limb_24_col26) * (mul_res_limb_15_col43))) + + ((unpacked_limb_25_col27) * (mul_res_limb_14_col42))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_13_col41))) + + ((input_limb_9_col9) * (mul_res_limb_12_col40))); + let conv_tmp_fec87_128 = ((((((((((((((((M31_0) + + ((unpacked_limb_13_col19) * (mul_res_limb_27_col55))) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_15_col20) * (mul_res_limb_25_col53))) + + ((unpacked_limb_16_col21) * (mul_res_limb_24_col52))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_18_col22) * (mul_res_limb_22_col50))) + + ((unpacked_limb_19_col23) * (mul_res_limb_21_col49))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_21_col24) * (mul_res_limb_19_col47))) + + ((unpacked_limb_22_col25) * (mul_res_limb_18_col46))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((unpacked_limb_24_col26) * (mul_res_limb_16_col44))) + + ((unpacked_limb_25_col27) * (mul_res_limb_15_col43))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_14_col42))) + + ((input_limb_9_col9) * (mul_res_limb_13_col41))); + let conv_tmp_fec87_129 = (((((((((((((((M31_0) + + (((((input_limb_4_col4) - (unpacked_limb_12_col18)) + - ((unpacked_limb_13_col19) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_15_col20) * (mul_res_limb_26_col54))) + + ((unpacked_limb_16_col21) * (mul_res_limb_25_col53))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_18_col22) * (mul_res_limb_23_col51))) + + ((unpacked_limb_19_col23) * (mul_res_limb_22_col50))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_21_col24) * (mul_res_limb_20_col48))) + + ((unpacked_limb_22_col25) * (mul_res_limb_19_col47))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((unpacked_limb_24_col26) * (mul_res_limb_17_col45))) + + ((unpacked_limb_25_col27) * (mul_res_limb_16_col44))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_15_col43))) + + ((input_limb_9_col9) * (mul_res_limb_14_col42))); + let conv_tmp_fec87_130 = ((((((((((((((M31_0) + + ((unpacked_limb_15_col20) * (mul_res_limb_27_col55))) + + ((unpacked_limb_16_col21) * (mul_res_limb_26_col54))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_18_col22) * (mul_res_limb_24_col52))) + + ((unpacked_limb_19_col23) * (mul_res_limb_23_col51))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_21_col24) * (mul_res_limb_21_col49))) + + ((unpacked_limb_22_col25) * (mul_res_limb_20_col48))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((unpacked_limb_24_col26) * (mul_res_limb_18_col46))) + + ((unpacked_limb_25_col27) * (mul_res_limb_17_col45))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_16_col44))) + + ((input_limb_9_col9) * (mul_res_limb_15_col43))); + let conv_tmp_fec87_131 = (((((((((((((M31_0) + + ((unpacked_limb_16_col21) * (mul_res_limb_27_col55))) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_18_col22) * (mul_res_limb_25_col53))) + + ((unpacked_limb_19_col23) * (mul_res_limb_24_col52))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_21_col24) * (mul_res_limb_22_col50))) + + ((unpacked_limb_22_col25) * (mul_res_limb_21_col49))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((unpacked_limb_24_col26) * (mul_res_limb_19_col47))) + + ((unpacked_limb_25_col27) * (mul_res_limb_18_col46))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_17_col45))) + + ((input_limb_9_col9) * (mul_res_limb_16_col44))); + let conv_tmp_fec87_132 = ((((((((((((M31_0) + + (((((input_limb_5_col5) - (unpacked_limb_15_col20)) + - ((unpacked_limb_16_col21) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_18_col22) * (mul_res_limb_26_col54))) + + ((unpacked_limb_19_col23) * (mul_res_limb_25_col53))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_21_col24) * (mul_res_limb_23_col51))) + + ((unpacked_limb_22_col25) * (mul_res_limb_22_col50))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((unpacked_limb_24_col26) * (mul_res_limb_20_col48))) + + ((unpacked_limb_25_col27) * (mul_res_limb_19_col47))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_18_col46))) + + ((input_limb_9_col9) * (mul_res_limb_17_col45))); + let conv_tmp_fec87_133 = (((((((((((M31_0) + + ((unpacked_limb_18_col22) * (mul_res_limb_27_col55))) + + ((unpacked_limb_19_col23) * (mul_res_limb_26_col54))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_21_col24) * (mul_res_limb_24_col52))) + + ((unpacked_limb_22_col25) * (mul_res_limb_23_col51))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((unpacked_limb_24_col26) * (mul_res_limb_21_col49))) + + ((unpacked_limb_25_col27) * (mul_res_limb_20_col48))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_19_col47))) + + ((input_limb_9_col9) * (mul_res_limb_18_col46))); + let conv_tmp_fec87_134 = ((((((((((M31_0) + + ((unpacked_limb_19_col23) * (mul_res_limb_27_col55))) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_21_col24) * (mul_res_limb_25_col53))) + + ((unpacked_limb_22_col25) * (mul_res_limb_24_col52))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((unpacked_limb_24_col26) * (mul_res_limb_22_col50))) + + ((unpacked_limb_25_col27) * (mul_res_limb_21_col49))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_20_col48))) + + ((input_limb_9_col9) * (mul_res_limb_19_col47))); + let conv_tmp_fec87_135 = (((((((((M31_0) + + (((((input_limb_6_col6) - (unpacked_limb_18_col22)) + - ((unpacked_limb_19_col23) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_21_col24) * (mul_res_limb_26_col54))) + + ((unpacked_limb_22_col25) * (mul_res_limb_25_col53))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((unpacked_limb_24_col26) * (mul_res_limb_23_col51))) + + ((unpacked_limb_25_col27) * (mul_res_limb_22_col50))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_21_col49))) + + ((input_limb_9_col9) * (mul_res_limb_20_col48))); + let conv_tmp_fec87_136 = ((((((((M31_0) + + ((unpacked_limb_21_col24) * (mul_res_limb_27_col55))) + + ((unpacked_limb_22_col25) * (mul_res_limb_26_col54))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((unpacked_limb_24_col26) * (mul_res_limb_24_col52))) + + ((unpacked_limb_25_col27) * (mul_res_limb_23_col51))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_22_col50))) + + ((input_limb_9_col9) * (mul_res_limb_21_col49))); + let conv_tmp_fec87_137 = (((((((M31_0) + + ((unpacked_limb_22_col25) * (mul_res_limb_27_col55))) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((unpacked_limb_24_col26) * (mul_res_limb_25_col53))) + + ((unpacked_limb_25_col27) * (mul_res_limb_24_col52))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_23_col51))) + + ((input_limb_9_col9) * (mul_res_limb_22_col50))); + let conv_tmp_fec87_138 = ((((((M31_0) + + (((((input_limb_7_col7) - (unpacked_limb_21_col24)) + - ((unpacked_limb_22_col25) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((unpacked_limb_24_col26) * (mul_res_limb_26_col54))) + + ((unpacked_limb_25_col27) * (mul_res_limb_25_col53))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_24_col52))) + + ((input_limb_9_col9) * (mul_res_limb_23_col51))); + let conv_tmp_fec87_139 = (((((M31_0) + + ((unpacked_limb_24_col26) * (mul_res_limb_27_col55))) + + ((unpacked_limb_25_col27) * (mul_res_limb_26_col54))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_25_col53))) + + ((input_limb_9_col9) * (mul_res_limb_24_col52))); + let conv_tmp_fec87_140 = ((((M31_0) + + ((unpacked_limb_25_col27) * (mul_res_limb_27_col55))) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_26_col54))) + + ((input_limb_9_col9) * (mul_res_limb_25_col53))); + let conv_tmp_fec87_141 = (((M31_0) + + (((((input_limb_8_col8) - (unpacked_limb_24_col26)) + - ((unpacked_limb_25_col27) * (M31_512))) + * (M31_8192)) + * (mul_res_limb_27_col55))) + + ((input_limb_9_col9) * (mul_res_limb_26_col54))); + let conv_tmp_fec87_142 = ((M31_0) + ((input_limb_9_col9) * (mul_res_limb_27_col55))); + let conv_mod_tmp_fec87_143 = ((((M31_0) + ((M31_32) * (conv_tmp_fec87_88))) + - ((M31_4) * (conv_tmp_fec87_109))) + + ((M31_8) * (conv_tmp_fec87_137))); + let conv_mod_tmp_fec87_144 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_88))) + + ((M31_32) * (conv_tmp_fec87_89))) + - ((M31_4) * (conv_tmp_fec87_110))) + + ((M31_8) * (conv_tmp_fec87_138))); + let conv_mod_tmp_fec87_145 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_89))) + + ((M31_32) * (conv_tmp_fec87_90))) + - ((M31_4) * (conv_tmp_fec87_111))) + + ((M31_8) * (conv_tmp_fec87_139))); + let conv_mod_tmp_fec87_146 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_90))) + + ((M31_32) * (conv_tmp_fec87_91))) + - ((M31_4) * (conv_tmp_fec87_112))) + + ((M31_8) * (conv_tmp_fec87_140))); + let conv_mod_tmp_fec87_147 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_91))) + + ((M31_32) * (conv_tmp_fec87_92))) + - ((M31_4) * (conv_tmp_fec87_113))) + + ((M31_8) * (conv_tmp_fec87_141))); + let conv_mod_tmp_fec87_148 = (((((M31_0) + ((M31_1) * (conv_tmp_fec87_92))) + + ((M31_32) * (conv_tmp_fec87_93))) + - ((M31_4) * (conv_tmp_fec87_114))) + + ((M31_8) * (conv_tmp_fec87_142))); + let conv_mod_tmp_fec87_149 = ((((M31_0) + ((M31_1) * (conv_tmp_fec87_93))) + + ((M31_32) * (conv_tmp_fec87_94))) + - ((M31_4) * (conv_tmp_fec87_115))); + let conv_mod_tmp_fec87_150 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_88))) + + ((M31_1) * (conv_tmp_fec87_94))) + + ((M31_32) * (conv_tmp_fec87_95))) + - ((M31_4) * (conv_tmp_fec87_116))); + let conv_mod_tmp_fec87_151 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_89))) + + ((M31_1) * (conv_tmp_fec87_95))) + + ((M31_32) * (conv_tmp_fec87_96))) + - ((M31_4) * (conv_tmp_fec87_117))); + let conv_mod_tmp_fec87_152 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_90))) + + ((M31_1) * (conv_tmp_fec87_96))) + + ((M31_32) * (conv_tmp_fec87_97))) + - ((M31_4) * (conv_tmp_fec87_118))); + let conv_mod_tmp_fec87_153 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_91))) + + ((M31_1) * (conv_tmp_fec87_97))) + + ((M31_32) * (conv_tmp_fec87_98))) + - ((M31_4) * (conv_tmp_fec87_119))); + let conv_mod_tmp_fec87_154 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_92))) + + ((M31_1) * (conv_tmp_fec87_98))) + + ((M31_32) * (conv_tmp_fec87_99))) + - ((M31_4) * (conv_tmp_fec87_120))); + let conv_mod_tmp_fec87_155 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_93))) + + ((M31_1) * (conv_tmp_fec87_99))) + + ((M31_32) * (conv_tmp_fec87_100))) + - ((M31_4) * (conv_tmp_fec87_121))); + let conv_mod_tmp_fec87_156 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_94))) + + ((M31_1) * (conv_tmp_fec87_100))) + + ((M31_32) * (conv_tmp_fec87_101))) + - ((M31_4) * (conv_tmp_fec87_122))); + let conv_mod_tmp_fec87_157 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_95))) + + ((M31_1) * (conv_tmp_fec87_101))) + + ((M31_32) * (conv_tmp_fec87_102))) + - ((M31_4) * (conv_tmp_fec87_123))); + let conv_mod_tmp_fec87_158 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_96))) + + ((M31_1) * (conv_tmp_fec87_102))) + + ((M31_32) * (conv_tmp_fec87_103))) + - ((M31_4) * (conv_tmp_fec87_124))); + let conv_mod_tmp_fec87_159 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_97))) + + ((M31_1) * (conv_tmp_fec87_103))) + + ((M31_32) * (conv_tmp_fec87_104))) + - ((M31_4) * (conv_tmp_fec87_125))); + let conv_mod_tmp_fec87_160 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_98))) + + ((M31_1) * (conv_tmp_fec87_104))) + + ((M31_32) * (conv_tmp_fec87_105))) + - ((M31_4) * (conv_tmp_fec87_126))); + let conv_mod_tmp_fec87_161 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_99))) + + ((M31_1) * (conv_tmp_fec87_105))) + + ((M31_32) * (conv_tmp_fec87_106))) + - ((M31_4) * (conv_tmp_fec87_127))); + let conv_mod_tmp_fec87_162 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_100))) + + ((M31_1) * (conv_tmp_fec87_106))) + + ((M31_32) * (conv_tmp_fec87_107))) + - ((M31_4) * (conv_tmp_fec87_128))); + let conv_mod_tmp_fec87_163 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_101))) + + ((M31_1) * (conv_tmp_fec87_107))) + + ((M31_32) * (conv_tmp_fec87_108))) + - ((M31_4) * (conv_tmp_fec87_129))); + let conv_mod_tmp_fec87_164 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_102))) + + ((M31_1) * (conv_tmp_fec87_108))) + - ((M31_4) * (conv_tmp_fec87_130))) + + ((M31_64) * (conv_tmp_fec87_137))); + let conv_mod_tmp_fec87_165 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_103))) + - ((M31_4) * (conv_tmp_fec87_131))) + + ((M31_2) * (conv_tmp_fec87_137))) + + ((M31_64) * (conv_tmp_fec87_138))); + let conv_mod_tmp_fec87_166 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_104))) + - ((M31_4) * (conv_tmp_fec87_132))) + + ((M31_2) * (conv_tmp_fec87_138))) + + ((M31_64) * (conv_tmp_fec87_139))); + let conv_mod_tmp_fec87_167 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_105))) + - ((M31_4) * (conv_tmp_fec87_133))) + + ((M31_2) * (conv_tmp_fec87_139))) + + ((M31_64) * (conv_tmp_fec87_140))); + let conv_mod_tmp_fec87_168 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_106))) + - ((M31_4) * (conv_tmp_fec87_134))) + + ((M31_2) * (conv_tmp_fec87_140))) + + ((M31_64) * (conv_tmp_fec87_141))); + let conv_mod_tmp_fec87_169 = (((((M31_0) + ((M31_2) * (conv_tmp_fec87_107))) + - ((M31_4) * (conv_tmp_fec87_135))) + + ((M31_2) * (conv_tmp_fec87_141))) + + ((M31_64) * (conv_tmp_fec87_142))); + let conv_mod_tmp_fec87_170 = ((((M31_0) + ((M31_2) * (conv_tmp_fec87_108))) + - ((M31_4) * (conv_tmp_fec87_136))) + + ((M31_2) * (conv_tmp_fec87_142))); + let k_mod_2_18_biased_tmp_fec87_171 = + ((((PackedUInt32::from_m31(((conv_mod_tmp_fec87_143) + (M31_134217728)))) + + (((PackedUInt32::from_m31(((conv_mod_tmp_fec87_144) + (M31_134217728)))) + & (UInt32_511)) + << (UInt32_9))) + + (UInt32_65536)) + & (UInt32_262143)); + let k_col112 = ((k_mod_2_18_biased_tmp_fec87_171.low().as_m31()) + + (((k_mod_2_18_biased_tmp_fec87_171.high().as_m31()) - (M31_1)) * (M31_65536))); + *row[112] = k_col112; + let range_check_19_inputs_28 = [((k_col112) + (M31_262144))].unpack(); + *lookup_data.range_check_19_28 = [((k_col112) + (M31_262144))]; + let carry_0_col113 = + ((((conv_mod_tmp_fec87_143) - ((M31_1) * (k_col112))) + (M31_0)) * (M31_4194304)); + *row[113] = carry_0_col113; + let range_check_19_inputs_29 = [((carry_0_col113) + (M31_131072))].unpack(); + *lookup_data.range_check_19_29 = [((carry_0_col113) + (M31_131072))]; + let carry_1_col114 = (((conv_mod_tmp_fec87_144) + (carry_0_col113)) * (M31_4194304)); + *row[114] = carry_1_col114; + let range_check_19_inputs_30 = [((carry_1_col114) + (M31_131072))].unpack(); + *lookup_data.range_check_19_30 = [((carry_1_col114) + (M31_131072))]; + let carry_2_col115 = (((conv_mod_tmp_fec87_145) + (carry_1_col114)) * (M31_4194304)); + *row[115] = carry_2_col115; + let range_check_19_inputs_31 = [((carry_2_col115) + (M31_131072))].unpack(); + *lookup_data.range_check_19_31 = [((carry_2_col115) + (M31_131072))]; + let carry_3_col116 = (((conv_mod_tmp_fec87_146) + (carry_2_col115)) * (M31_4194304)); + *row[116] = carry_3_col116; + let range_check_19_inputs_32 = [((carry_3_col116) + (M31_131072))].unpack(); + *lookup_data.range_check_19_32 = [((carry_3_col116) + (M31_131072))]; + let carry_4_col117 = (((conv_mod_tmp_fec87_147) + (carry_3_col116)) * (M31_4194304)); + *row[117] = carry_4_col117; + let range_check_19_inputs_33 = [((carry_4_col117) + (M31_131072))].unpack(); + *lookup_data.range_check_19_33 = [((carry_4_col117) + (M31_131072))]; + let carry_5_col118 = (((conv_mod_tmp_fec87_148) + (carry_4_col117)) * (M31_4194304)); + *row[118] = carry_5_col118; + let range_check_19_inputs_34 = [((carry_5_col118) + (M31_131072))].unpack(); + *lookup_data.range_check_19_34 = [((carry_5_col118) + (M31_131072))]; + let carry_6_col119 = (((conv_mod_tmp_fec87_149) + (carry_5_col118)) * (M31_4194304)); + *row[119] = carry_6_col119; + let range_check_19_inputs_35 = [((carry_6_col119) + (M31_131072))].unpack(); + *lookup_data.range_check_19_35 = [((carry_6_col119) + (M31_131072))]; + let carry_7_col120 = (((conv_mod_tmp_fec87_150) + (carry_6_col119)) * (M31_4194304)); + *row[120] = carry_7_col120; + let range_check_19_inputs_36 = [((carry_7_col120) + (M31_131072))].unpack(); + *lookup_data.range_check_19_36 = [((carry_7_col120) + (M31_131072))]; + let carry_8_col121 = (((conv_mod_tmp_fec87_151) + (carry_7_col120)) * (M31_4194304)); + *row[121] = carry_8_col121; + let range_check_19_inputs_37 = [((carry_8_col121) + (M31_131072))].unpack(); + *lookup_data.range_check_19_37 = [((carry_8_col121) + (M31_131072))]; + let carry_9_col122 = (((conv_mod_tmp_fec87_152) + (carry_8_col121)) * (M31_4194304)); + *row[122] = carry_9_col122; + let range_check_19_inputs_38 = [((carry_9_col122) + (M31_131072))].unpack(); + *lookup_data.range_check_19_38 = [((carry_9_col122) + (M31_131072))]; + let carry_10_col123 = (((conv_mod_tmp_fec87_153) + (carry_9_col122)) * (M31_4194304)); + *row[123] = carry_10_col123; + let range_check_19_inputs_39 = [((carry_10_col123) + (M31_131072))].unpack(); + *lookup_data.range_check_19_39 = [((carry_10_col123) + (M31_131072))]; + let carry_11_col124 = (((conv_mod_tmp_fec87_154) + (carry_10_col123)) * (M31_4194304)); + *row[124] = carry_11_col124; + let range_check_19_inputs_40 = [((carry_11_col124) + (M31_131072))].unpack(); + *lookup_data.range_check_19_40 = [((carry_11_col124) + (M31_131072))]; + let carry_12_col125 = (((conv_mod_tmp_fec87_155) + (carry_11_col124)) * (M31_4194304)); + *row[125] = carry_12_col125; + let range_check_19_inputs_41 = [((carry_12_col125) + (M31_131072))].unpack(); + *lookup_data.range_check_19_41 = [((carry_12_col125) + (M31_131072))]; + let carry_13_col126 = (((conv_mod_tmp_fec87_156) + (carry_12_col125)) * (M31_4194304)); + *row[126] = carry_13_col126; + let range_check_19_inputs_42 = [((carry_13_col126) + (M31_131072))].unpack(); + *lookup_data.range_check_19_42 = [((carry_13_col126) + (M31_131072))]; + let carry_14_col127 = (((conv_mod_tmp_fec87_157) + (carry_13_col126)) * (M31_4194304)); + *row[127] = carry_14_col127; + let range_check_19_inputs_43 = [((carry_14_col127) + (M31_131072))].unpack(); + *lookup_data.range_check_19_43 = [((carry_14_col127) + (M31_131072))]; + let carry_15_col128 = (((conv_mod_tmp_fec87_158) + (carry_14_col127)) * (M31_4194304)); + *row[128] = carry_15_col128; + let range_check_19_inputs_44 = [((carry_15_col128) + (M31_131072))].unpack(); + *lookup_data.range_check_19_44 = [((carry_15_col128) + (M31_131072))]; + let carry_16_col129 = (((conv_mod_tmp_fec87_159) + (carry_15_col128)) * (M31_4194304)); + *row[129] = carry_16_col129; + let range_check_19_inputs_45 = [((carry_16_col129) + (M31_131072))].unpack(); + *lookup_data.range_check_19_45 = [((carry_16_col129) + (M31_131072))]; + let carry_17_col130 = (((conv_mod_tmp_fec87_160) + (carry_16_col129)) * (M31_4194304)); + *row[130] = carry_17_col130; + let range_check_19_inputs_46 = [((carry_17_col130) + (M31_131072))].unpack(); + *lookup_data.range_check_19_46 = [((carry_17_col130) + (M31_131072))]; + let carry_18_col131 = (((conv_mod_tmp_fec87_161) + (carry_17_col130)) * (M31_4194304)); + *row[131] = carry_18_col131; + let range_check_19_inputs_47 = [((carry_18_col131) + (M31_131072))].unpack(); + *lookup_data.range_check_19_47 = [((carry_18_col131) + (M31_131072))]; + let carry_19_col132 = (((conv_mod_tmp_fec87_162) + (carry_18_col131)) * (M31_4194304)); + *row[132] = carry_19_col132; + let range_check_19_inputs_48 = [((carry_19_col132) + (M31_131072))].unpack(); + *lookup_data.range_check_19_48 = [((carry_19_col132) + (M31_131072))]; + let carry_20_col133 = (((conv_mod_tmp_fec87_163) + (carry_19_col132)) * (M31_4194304)); + *row[133] = carry_20_col133; + let range_check_19_inputs_49 = [((carry_20_col133) + (M31_131072))].unpack(); + *lookup_data.range_check_19_49 = [((carry_20_col133) + (M31_131072))]; + let carry_21_col134 = ((((conv_mod_tmp_fec87_164) - ((M31_136) * (k_col112))) + + (carry_20_col133)) + * (M31_4194304)); + *row[134] = carry_21_col134; + let range_check_19_inputs_50 = [((carry_21_col134) + (M31_131072))].unpack(); + *lookup_data.range_check_19_50 = [((carry_21_col134) + (M31_131072))]; + let carry_22_col135 = (((conv_mod_tmp_fec87_165) + (carry_21_col134)) * (M31_4194304)); + *row[135] = carry_22_col135; + let range_check_19_inputs_51 = [((carry_22_col135) + (M31_131072))].unpack(); + *lookup_data.range_check_19_51 = [((carry_22_col135) + (M31_131072))]; + let carry_23_col136 = (((conv_mod_tmp_fec87_166) + (carry_22_col135)) * (M31_4194304)); + *row[136] = carry_23_col136; + let range_check_19_inputs_52 = [((carry_23_col136) + (M31_131072))].unpack(); + *lookup_data.range_check_19_52 = [((carry_23_col136) + (M31_131072))]; + let carry_24_col137 = (((conv_mod_tmp_fec87_167) + (carry_23_col136)) * (M31_4194304)); + *row[137] = carry_24_col137; + let range_check_19_inputs_53 = [((carry_24_col137) + (M31_131072))].unpack(); + *lookup_data.range_check_19_53 = [((carry_24_col137) + (M31_131072))]; + let carry_25_col138 = (((conv_mod_tmp_fec87_168) + (carry_24_col137)) * (M31_4194304)); + *row[138] = carry_25_col138; + let range_check_19_inputs_54 = [((carry_25_col138) + (M31_131072))].unpack(); + *lookup_data.range_check_19_54 = [((carry_25_col138) + (M31_131072))]; + let carry_26_col139 = (((conv_mod_tmp_fec87_169) + (carry_25_col138)) * (M31_4194304)); + *row[139] = carry_26_col139; + let range_check_19_inputs_55 = [((carry_26_col139) + (M31_131072))].unpack(); + *lookup_data.range_check_19_55 = [((carry_26_col139) + (M31_131072))]; + + *lookup_data.cube_252_0 = [ + input_limb_0_col0, + input_limb_1_col1, + input_limb_2_col2, + input_limb_3_col3, + input_limb_4_col4, + input_limb_5_col5, + input_limb_6_col6, + input_limb_7_col7, + input_limb_8_col8, + input_limb_9_col9, + (((mul_res_limb_0_col84) + ((mul_res_limb_1_col85) * (M31_512))) + + ((mul_res_limb_2_col86) * (M31_262144))), + (((mul_res_limb_3_col87) + ((mul_res_limb_4_col88) * (M31_512))) + + ((mul_res_limb_5_col89) * (M31_262144))), + (((mul_res_limb_6_col90) + ((mul_res_limb_7_col91) * (M31_512))) + + ((mul_res_limb_8_col92) * (M31_262144))), + (((mul_res_limb_9_col93) + ((mul_res_limb_10_col94) * (M31_512))) + + ((mul_res_limb_11_col95) * (M31_262144))), + (((mul_res_limb_12_col96) + ((mul_res_limb_13_col97) * (M31_512))) + + ((mul_res_limb_14_col98) * (M31_262144))), + (((mul_res_limb_15_col99) + ((mul_res_limb_16_col100) * (M31_512))) + + ((mul_res_limb_17_col101) * (M31_262144))), + (((mul_res_limb_18_col102) + ((mul_res_limb_19_col103) * (M31_512))) + + ((mul_res_limb_20_col104) * (M31_262144))), + (((mul_res_limb_21_col105) + ((mul_res_limb_22_col106) * (M31_512))) + + ((mul_res_limb_23_col107) * (M31_262144))), + (((mul_res_limb_24_col108) + ((mul_res_limb_25_col109) * (M31_512))) + + ((mul_res_limb_26_col110) * (M31_262144))), + mul_res_limb_27_col111, + ]; + *row[140] = padding_col.packed_at(row_index); + + // Add sub-components inputs. + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_0); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_1); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_2); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_3); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_4); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_5); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_6); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_7); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_8); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_9); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_10); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_11); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_12); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_13); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_14); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_15); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_16); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_17); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_18); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_19); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_20); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_21); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_22); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_23); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_24); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_25); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_26); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_27); + range_check_19_state.add_inputs(&range_check_19_inputs_0); + range_check_19_state.add_inputs(&range_check_19_inputs_1); + range_check_19_state.add_inputs(&range_check_19_inputs_2); + range_check_19_state.add_inputs(&range_check_19_inputs_3); + range_check_19_state.add_inputs(&range_check_19_inputs_4); + range_check_19_state.add_inputs(&range_check_19_inputs_5); + range_check_19_state.add_inputs(&range_check_19_inputs_6); + range_check_19_state.add_inputs(&range_check_19_inputs_7); + range_check_19_state.add_inputs(&range_check_19_inputs_8); + range_check_19_state.add_inputs(&range_check_19_inputs_9); + range_check_19_state.add_inputs(&range_check_19_inputs_10); + range_check_19_state.add_inputs(&range_check_19_inputs_11); + range_check_19_state.add_inputs(&range_check_19_inputs_12); + range_check_19_state.add_inputs(&range_check_19_inputs_13); + range_check_19_state.add_inputs(&range_check_19_inputs_14); + range_check_19_state.add_inputs(&range_check_19_inputs_15); + range_check_19_state.add_inputs(&range_check_19_inputs_16); + range_check_19_state.add_inputs(&range_check_19_inputs_17); + range_check_19_state.add_inputs(&range_check_19_inputs_18); + range_check_19_state.add_inputs(&range_check_19_inputs_19); + range_check_19_state.add_inputs(&range_check_19_inputs_20); + range_check_19_state.add_inputs(&range_check_19_inputs_21); + range_check_19_state.add_inputs(&range_check_19_inputs_22); + range_check_19_state.add_inputs(&range_check_19_inputs_23); + range_check_19_state.add_inputs(&range_check_19_inputs_24); + range_check_19_state.add_inputs(&range_check_19_inputs_25); + range_check_19_state.add_inputs(&range_check_19_inputs_26); + range_check_19_state.add_inputs(&range_check_19_inputs_27); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_28); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_29); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_30); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_31); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_32); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_33); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_34); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_35); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_36); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_37); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_38); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_39); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_40); + range_check_9_9_state.add_inputs(&range_check_9_9_inputs_41); + range_check_19_state.add_inputs(&range_check_19_inputs_28); + range_check_19_state.add_inputs(&range_check_19_inputs_29); + range_check_19_state.add_inputs(&range_check_19_inputs_30); + range_check_19_state.add_inputs(&range_check_19_inputs_31); + range_check_19_state.add_inputs(&range_check_19_inputs_32); + range_check_19_state.add_inputs(&range_check_19_inputs_33); + range_check_19_state.add_inputs(&range_check_19_inputs_34); + range_check_19_state.add_inputs(&range_check_19_inputs_35); + range_check_19_state.add_inputs(&range_check_19_inputs_36); + range_check_19_state.add_inputs(&range_check_19_inputs_37); + range_check_19_state.add_inputs(&range_check_19_inputs_38); + range_check_19_state.add_inputs(&range_check_19_inputs_39); + range_check_19_state.add_inputs(&range_check_19_inputs_40); + range_check_19_state.add_inputs(&range_check_19_inputs_41); + range_check_19_state.add_inputs(&range_check_19_inputs_42); + range_check_19_state.add_inputs(&range_check_19_inputs_43); + range_check_19_state.add_inputs(&range_check_19_inputs_44); + range_check_19_state.add_inputs(&range_check_19_inputs_45); + range_check_19_state.add_inputs(&range_check_19_inputs_46); + range_check_19_state.add_inputs(&range_check_19_inputs_47); + range_check_19_state.add_inputs(&range_check_19_inputs_48); + range_check_19_state.add_inputs(&range_check_19_inputs_49); + range_check_19_state.add_inputs(&range_check_19_inputs_50); + range_check_19_state.add_inputs(&range_check_19_inputs_51); + range_check_19_state.add_inputs(&range_check_19_inputs_52); + range_check_19_state.add_inputs(&range_check_19_inputs_53); + range_check_19_state.add_inputs(&range_check_19_inputs_54); + range_check_19_state.add_inputs(&range_check_19_inputs_55); + }); + + (trace, lookup_data) +} + +#[derive(Uninitialized, IterMut, ParIterMut)] +struct LookupData { + cube_252_0: Vec<[PackedM31; 20]>, + range_check_19_0: Vec<[PackedM31; 1]>, + range_check_19_1: Vec<[PackedM31; 1]>, + range_check_19_2: Vec<[PackedM31; 1]>, + range_check_19_3: Vec<[PackedM31; 1]>, + range_check_19_4: Vec<[PackedM31; 1]>, + range_check_19_5: Vec<[PackedM31; 1]>, + range_check_19_6: Vec<[PackedM31; 1]>, + range_check_19_7: Vec<[PackedM31; 1]>, + range_check_19_8: Vec<[PackedM31; 1]>, + range_check_19_9: Vec<[PackedM31; 1]>, + range_check_19_10: Vec<[PackedM31; 1]>, + range_check_19_11: Vec<[PackedM31; 1]>, + range_check_19_12: Vec<[PackedM31; 1]>, + range_check_19_13: Vec<[PackedM31; 1]>, + range_check_19_14: Vec<[PackedM31; 1]>, + range_check_19_15: Vec<[PackedM31; 1]>, + range_check_19_16: Vec<[PackedM31; 1]>, + range_check_19_17: Vec<[PackedM31; 1]>, + range_check_19_18: Vec<[PackedM31; 1]>, + range_check_19_19: Vec<[PackedM31; 1]>, + range_check_19_20: Vec<[PackedM31; 1]>, + range_check_19_21: Vec<[PackedM31; 1]>, + range_check_19_22: Vec<[PackedM31; 1]>, + range_check_19_23: Vec<[PackedM31; 1]>, + range_check_19_24: Vec<[PackedM31; 1]>, + range_check_19_25: Vec<[PackedM31; 1]>, + range_check_19_26: Vec<[PackedM31; 1]>, + range_check_19_27: Vec<[PackedM31; 1]>, + range_check_19_28: Vec<[PackedM31; 1]>, + range_check_19_29: Vec<[PackedM31; 1]>, + range_check_19_30: Vec<[PackedM31; 1]>, + range_check_19_31: Vec<[PackedM31; 1]>, + range_check_19_32: Vec<[PackedM31; 1]>, + range_check_19_33: Vec<[PackedM31; 1]>, + range_check_19_34: Vec<[PackedM31; 1]>, + range_check_19_35: Vec<[PackedM31; 1]>, + range_check_19_36: Vec<[PackedM31; 1]>, + range_check_19_37: Vec<[PackedM31; 1]>, + range_check_19_38: Vec<[PackedM31; 1]>, + range_check_19_39: Vec<[PackedM31; 1]>, + range_check_19_40: Vec<[PackedM31; 1]>, + range_check_19_41: Vec<[PackedM31; 1]>, + range_check_19_42: Vec<[PackedM31; 1]>, + range_check_19_43: Vec<[PackedM31; 1]>, + range_check_19_44: Vec<[PackedM31; 1]>, + range_check_19_45: Vec<[PackedM31; 1]>, + range_check_19_46: Vec<[PackedM31; 1]>, + range_check_19_47: Vec<[PackedM31; 1]>, + range_check_19_48: Vec<[PackedM31; 1]>, + range_check_19_49: Vec<[PackedM31; 1]>, + range_check_19_50: Vec<[PackedM31; 1]>, + range_check_19_51: Vec<[PackedM31; 1]>, + range_check_19_52: Vec<[PackedM31; 1]>, + range_check_19_53: Vec<[PackedM31; 1]>, + range_check_19_54: Vec<[PackedM31; 1]>, + range_check_19_55: Vec<[PackedM31; 1]>, + range_check_9_9_0: Vec<[PackedM31; 2]>, + range_check_9_9_1: Vec<[PackedM31; 2]>, + range_check_9_9_2: Vec<[PackedM31; 2]>, + range_check_9_9_3: Vec<[PackedM31; 2]>, + range_check_9_9_4: Vec<[PackedM31; 2]>, + range_check_9_9_5: Vec<[PackedM31; 2]>, + range_check_9_9_6: Vec<[PackedM31; 2]>, + range_check_9_9_7: Vec<[PackedM31; 2]>, + range_check_9_9_8: Vec<[PackedM31; 2]>, + range_check_9_9_9: Vec<[PackedM31; 2]>, + range_check_9_9_10: Vec<[PackedM31; 2]>, + range_check_9_9_11: Vec<[PackedM31; 2]>, + range_check_9_9_12: Vec<[PackedM31; 2]>, + range_check_9_9_13: Vec<[PackedM31; 2]>, + range_check_9_9_14: Vec<[PackedM31; 2]>, + range_check_9_9_15: Vec<[PackedM31; 2]>, + range_check_9_9_16: Vec<[PackedM31; 2]>, + range_check_9_9_17: Vec<[PackedM31; 2]>, + range_check_9_9_18: Vec<[PackedM31; 2]>, + range_check_9_9_19: Vec<[PackedM31; 2]>, + range_check_9_9_20: Vec<[PackedM31; 2]>, + range_check_9_9_21: Vec<[PackedM31; 2]>, + range_check_9_9_22: Vec<[PackedM31; 2]>, + range_check_9_9_23: Vec<[PackedM31; 2]>, + range_check_9_9_24: Vec<[PackedM31; 2]>, + range_check_9_9_25: Vec<[PackedM31; 2]>, + range_check_9_9_26: Vec<[PackedM31; 2]>, + range_check_9_9_27: Vec<[PackedM31; 2]>, + range_check_9_9_28: Vec<[PackedM31; 2]>, + range_check_9_9_29: Vec<[PackedM31; 2]>, + range_check_9_9_30: Vec<[PackedM31; 2]>, + range_check_9_9_31: Vec<[PackedM31; 2]>, + range_check_9_9_32: Vec<[PackedM31; 2]>, + range_check_9_9_33: Vec<[PackedM31; 2]>, + range_check_9_9_34: Vec<[PackedM31; 2]>, + range_check_9_9_35: Vec<[PackedM31; 2]>, + range_check_9_9_36: Vec<[PackedM31; 2]>, + range_check_9_9_37: Vec<[PackedM31; 2]>, + range_check_9_9_38: Vec<[PackedM31; 2]>, + range_check_9_9_39: Vec<[PackedM31; 2]>, + range_check_9_9_40: Vec<[PackedM31; 2]>, + range_check_9_9_41: Vec<[PackedM31; 2]>, +} + +pub struct InteractionClaimGenerator { + n_rows: usize, + lookup_data: LookupData, +} +impl InteractionClaimGenerator { + pub fn write_interaction_trace( + self, + tree_builder: &mut TreeBuilder<'_, '_, SimdBackend, MC>, + cube_252: &relations::Cube252, + range_check_19: &relations::RangeCheck_19, + range_check_9_9: &relations::RangeCheck_9_9, + ) -> InteractionClaim + where + SimdBackend: BackendForChannel, + { + let log_size = std::cmp::max(self.n_rows.next_power_of_two().ilog2(), LOG_N_LANES); + let padding_col = Enabler::new(self.n_rows); + let mut logup_gen = LogupTraceGenerator::new(log_size); + + // Sum logup terms in pairs. + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_0, + &self.lookup_data.range_check_9_9_1, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_2, + &self.lookup_data.range_check_9_9_3, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_4, + &self.lookup_data.range_check_9_9_5, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_6, + &self.lookup_data.range_check_9_9_7, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_8, + &self.lookup_data.range_check_9_9_9, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_10, + &self.lookup_data.range_check_9_9_11, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_12, + &self.lookup_data.range_check_9_9_13, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_14, + &self.lookup_data.range_check_9_9_15, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_16, + &self.lookup_data.range_check_9_9_17, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_18, + &self.lookup_data.range_check_9_9_19, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_20, + &self.lookup_data.range_check_9_9_21, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_22, + &self.lookup_data.range_check_9_9_23, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_24, + &self.lookup_data.range_check_9_9_25, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_26, + &self.lookup_data.range_check_9_9_27, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_0, + &self.lookup_data.range_check_19_1, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_2, + &self.lookup_data.range_check_19_3, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_4, + &self.lookup_data.range_check_19_5, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_6, + &self.lookup_data.range_check_19_7, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_8, + &self.lookup_data.range_check_19_9, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_10, + &self.lookup_data.range_check_19_11, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_12, + &self.lookup_data.range_check_19_13, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_14, + &self.lookup_data.range_check_19_15, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_16, + &self.lookup_data.range_check_19_17, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_18, + &self.lookup_data.range_check_19_19, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_20, + &self.lookup_data.range_check_19_21, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_22, + &self.lookup_data.range_check_19_23, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_24, + &self.lookup_data.range_check_19_25, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_26, + &self.lookup_data.range_check_19_27, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_28, + &self.lookup_data.range_check_9_9_29, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_30, + &self.lookup_data.range_check_9_9_31, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_32, + &self.lookup_data.range_check_9_9_33, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_34, + &self.lookup_data.range_check_9_9_35, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_36, + &self.lookup_data.range_check_9_9_37, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_38, + &self.lookup_data.range_check_9_9_39, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_9_9_40, + &self.lookup_data.range_check_9_9_41, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_9_9.combine(values0); + let denom1: PackedQM31 = range_check_9_9.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_28, + &self.lookup_data.range_check_19_29, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_30, + &self.lookup_data.range_check_19_31, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_32, + &self.lookup_data.range_check_19_33, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_34, + &self.lookup_data.range_check_19_35, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_36, + &self.lookup_data.range_check_19_37, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_38, + &self.lookup_data.range_check_19_39, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_40, + &self.lookup_data.range_check_19_41, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_42, + &self.lookup_data.range_check_19_43, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_44, + &self.lookup_data.range_check_19_45, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_46, + &self.lookup_data.range_check_19_47, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_48, + &self.lookup_data.range_check_19_49, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_50, + &self.lookup_data.range_check_19_51, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_52, + &self.lookup_data.range_check_19_53, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + let mut col_gen = logup_gen.new_col(); + for (i, (values0, values1)) in zip( + &self.lookup_data.range_check_19_54, + &self.lookup_data.range_check_19_55, + ) + .enumerate() + { + let denom0: PackedQM31 = range_check_19.combine(values0); + let denom1: PackedQM31 = range_check_19.combine(values1); + col_gen.write_frac(i, denom0 + denom1, denom0 * denom1); + } + col_gen.finalize_col(); + + // Sum last logup term. + let mut col_gen = logup_gen.new_col(); + for (i, values) in self.lookup_data.cube_252_0.iter().enumerate() { + let denom = cube_252.combine(values); + col_gen.write_frac(i, -PackedQM31::one() * padding_col.packed_at(i), denom); + } + col_gen.finalize_col(); + + let (trace, claimed_sum) = logup_gen.finalize_last(); + tree_builder.extend_evals(trace); + + InteractionClaim { claimed_sum } + } +} diff --git a/stwo_cairo_prover/crates/prover/src/components/mod.rs b/stwo_cairo_prover/crates/prover/src/components/mod.rs index c4df303a4..fa7e3519e 100644 --- a/stwo_cairo_prover/crates/prover/src/components/mod.rs +++ b/stwo_cairo_prover/crates/prover/src/components/mod.rs @@ -13,6 +13,7 @@ pub mod bitwise_builtin; pub mod call_opcode; pub mod call_opcode_op_1_base_fp; pub mod call_opcode_rel; +pub mod cube_252; pub mod generic_opcode; pub mod jnz_opcode; pub mod jnz_opcode_dst_base_fp;