From 239b0014a3df929c20e34fa44606ecf292afb6b8 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 18 Mar 2024 16:06:15 +0100 Subject: [PATCH 01/29] starknet with keccak layout --- .tool-versions | 2 +- configure.py | 2 +- src/air/layouts.cairo | 3 + src/air/layouts/starknet_with_keccak.cairo | 184 + .../starknet_with_keccak/autogenerated.cairo | 16307 ++++++++++++++++ .../starknet_with_keccak/constants.cairo | 68 + .../starknet_with_keccak/global_values.cairo | 86 + .../starknet_with_keccak/public_input.cairo | 178 + .../layouts/starknet_with_keccak/traces.cairo | 129 + src/air/periodic_columns.cairo | 287 + src/deserialization/stark.cairo | 3 + src/deserialization/traces.cairo | 4 + src/lib.cairo | 3 + src/oods.cairo | 7 + src/stark.cairo | 7 + src/stark/stark_commit.cairo | 5 + src/stark/stark_verify.cairo | 3 + 17 files changed, 17276 insertions(+), 2 deletions(-) create mode 100644 src/air/layouts/starknet_with_keccak.cairo create mode 100644 src/air/layouts/starknet_with_keccak/autogenerated.cairo create mode 100644 src/air/layouts/starknet_with_keccak/constants.cairo create mode 100644 src/air/layouts/starknet_with_keccak/global_values.cairo create mode 100644 src/air/layouts/starknet_with_keccak/public_input.cairo create mode 100644 src/air/layouts/starknet_with_keccak/traces.cairo diff --git a/.tool-versions b/.tool-versions index f2e92b793..94ed41d7e 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -scarb 2.6.0 +scarb nightly-2024-03-16 diff --git a/configure.py b/configure.py index 934c96748..eb3ad4e66 100644 --- a/configure.py +++ b/configure.py @@ -4,7 +4,7 @@ from pathlib import Path from utils import process_file -LAYOUT_TYPES = ("DEX", "RECURSIVE", "RECURSIVE_WITH_POSEIDON", "SMALL", "STARKNET") +LAYOUT_TYPES = ("DEX", "RECURSIVE", "RECURSIVE_WITH_POSEIDON", "SMALL", "STARKNET", "STARKNET_WITH_KECCAK") HASH_TYPES = ("KECCAK", "BLAKE") diff --git a/src/air/layouts.cairo b/src/air/layouts.cairo index 7c1a454e5..f92f4f388 100644 --- a/src/air/layouts.cairo +++ b/src/air/layouts.cairo @@ -13,5 +13,8 @@ mod recursive; // === STARKNET BEGIN === // mod starknet; // === STARKNET END === +// === STARKNET_WITH_KECCAK BEGIN === +// mod starknet_with_keccak; +// === STARKNET_WITH_KECCAK END === diff --git a/src/air/layouts/starknet_with_keccak.cairo b/src/air/layouts/starknet_with_keccak.cairo new file mode 100644 index 000000000..076954f71 --- /dev/null +++ b/src/air/layouts/starknet_with_keccak.cairo @@ -0,0 +1,184 @@ +mod autogenerated; +mod constants; +mod global_values; +mod public_input; +mod traces; + +use cairo_verifier::{ + air::{ + constants::{SHIFT_POINT_X, SHIFT_POINT_Y, StarkCurve}, + layouts::starknet_with_keccak::{ + autogenerated::{eval_composition_polynomial_inner, eval_oods_polynomial_inner}, + global_values::{ + GlobalValues, InteractionElements, EcPoint, EcdsaSigConfig, CurveConfig + }, + public_input::StarknetPublicInputImpl, + constants::{ + PUBLIC_MEMORY_STEP, DILUTED_N_BITS, DILUTED_SPACING, PEDERSEN_BUILTIN_RATIO, + PEDERSEN_BUILTIN_REPETITIONS, segments, ECDSA_BUILTIN_RATIO, + ECDSA_BUILTIN_REPETITIONS, POSEIDON_RATIO, KECCAK_RATIO + }, + }, + air::{AIRComposition, AIROods}, diluted::get_diluted_product, + periodic_columns::{ + eval_pedersen_x, eval_pedersen_y, eval_ecdsa_x, eval_ecdsa_y, + eval_keccak_keccak_keccak_round_key0, eval_keccak_keccak_keccak_round_key1, + eval_keccak_keccak_keccak_round_key3, eval_keccak_keccak_keccak_round_key7, + eval_keccak_keccak_keccak_round_key15, eval_keccak_keccak_keccak_round_key31, + eval_keccak_keccak_keccak_round_key63, eval_poseidon_poseidon_full_round_key0, + eval_poseidon_poseidon_full_round_key1, eval_poseidon_poseidon_full_round_key2, + eval_poseidon_poseidon_partial_round_key0, eval_poseidon_poseidon_partial_round_key1 + }, + public_input::{PublicInput, get_public_memory_product_ratio} + }, + common::{math::{Felt252Div, Felt252PartialOrd, pow}, asserts::assert_range_u128} +}; + +impl StarknetWithKeccakAIRCompositionImpl of AIRComposition { + fn eval_composition_polynomial( + interaction_elements: InteractionElements, + public_input: @PublicInput, + mask_values: Span, + constraint_coefficients: Span, + point: felt252, + trace_domain_size: felt252, + trace_generator: felt252 + ) -> felt252 { + let memory_z = interaction_elements.memory_multi_column_perm_perm_interaction_elm; + let memory_alpha = interaction_elements.memory_multi_column_perm_hash_interaction_elm0; + + // Public memory + let public_memory_column_size = trace_domain_size / PUBLIC_MEMORY_STEP; + assert_range_u128(public_memory_column_size); + let public_memory_prod_ratio = get_public_memory_product_ratio( + public_input, memory_z, memory_alpha, public_memory_column_size + ); + + // Diluted + let diluted_z = interaction_elements.diluted_check_interaction_z; + let diluted_alpha = interaction_elements.diluted_check_interaction_alpha; + let diluted_prod = get_diluted_product( + DILUTED_N_BITS, DILUTED_SPACING, diluted_z, diluted_alpha + ); + + // Periodic columns + let n_steps = pow(2, *public_input.log_n_steps); + let n_pedersen_hash_copies = n_steps + / (PEDERSEN_BUILTIN_RATIO * PEDERSEN_BUILTIN_REPETITIONS); + assert_range_u128(n_pedersen_hash_copies); + let pedersen_point = pow(point, n_pedersen_hash_copies); + let pedersen_points_x = eval_pedersen_x(pedersen_point); + let pedersen_points_y = eval_pedersen_y(pedersen_point); + + let n_ecdsa_signature_copies = n_steps / (ECDSA_BUILTIN_RATIO * ECDSA_BUILTIN_REPETITIONS); + assert_range_u128(n_ecdsa_signature_copies); + let ecdsa_point = pow(point, n_ecdsa_signature_copies); + let ecdsa_generator_points_x = eval_ecdsa_x(ecdsa_point); + let ecdsa_generator_points_y = eval_ecdsa_y(ecdsa_point); + + let n_keccak_component_copies = n_steps / (DILUTED_N_BITS * KECCAK_RATIO); + assert_range_u128(n_keccak_component_copies); + let n_keccak_periodic_columns_copies = 2048 * n_keccak_component_copies; + let keccak_point = pow(point, n_keccak_periodic_columns_copies); + let keccak_keccak_keccak_round_key0 = eval_keccak_keccak_keccak_round_key0(keccak_point); + let keccak_keccak_keccak_round_key1 = eval_keccak_keccak_keccak_round_key1(keccak_point); + let keccak_keccak_keccak_round_key3 = eval_keccak_keccak_keccak_round_key3(keccak_point); + let keccak_keccak_keccak_round_key7 = eval_keccak_keccak_keccak_round_key7(keccak_point); + let keccak_keccak_keccak_round_key15 = eval_keccak_keccak_keccak_round_key15(keccak_point); + let keccak_keccak_keccak_round_key31 = eval_keccak_keccak_keccak_round_key31(keccak_point); + let keccak_keccak_keccak_round_key63 = eval_keccak_keccak_keccak_round_key63(keccak_point); + + let n_poseidon_copies = n_steps / POSEIDON_RATIO; + assert_range_u128(n_poseidon_copies); + let poseidon_point = pow(point, n_poseidon_copies); + let poseidon_poseidon_full_round_key0 = eval_poseidon_poseidon_full_round_key0( + poseidon_point + ); + let poseidon_poseidon_full_round_key1 = eval_poseidon_poseidon_full_round_key1( + poseidon_point + ); + let poseidon_poseidon_full_round_key2 = eval_poseidon_poseidon_full_round_key2( + poseidon_point + ); + let poseidon_poseidon_partial_round_key0 = eval_poseidon_poseidon_partial_round_key0( + poseidon_point + ); + let poseidon_poseidon_partial_round_key1 = eval_poseidon_poseidon_partial_round_key1( + poseidon_point + ); + + let global_values = GlobalValues { + trace_length: trace_domain_size, + initial_pc: *public_input.segments.at(segments::PROGRAM).begin_addr, + final_pc: *public_input.segments.at(segments::PROGRAM).stop_ptr, + initial_ap: *public_input.segments.at(segments::EXECUTION).begin_addr, + final_ap: *public_input.segments.at(segments::EXECUTION).stop_ptr, + initial_pedersen_addr: *public_input.segments.at(segments::PEDERSEN).begin_addr, + initial_range_check_addr: *public_input.segments.at(segments::RANGE_CHECK).begin_addr, + initial_ecdsa_addr: *public_input.segments.at(segments::ECDSA).begin_addr, + initial_bitwise_addr: *public_input.segments.at(segments::BITWISE).begin_addr, + initial_ec_op_addr: *public_input.segments.at(segments::EC_OP).begin_addr, + initial_keccak_addr: *public_input.segments.at(segments::KECCAK).begin_addr, + initial_poseidon_addr: *public_input.segments.at(segments::POSEIDON).begin_addr, + range_check_min: *public_input.range_check_min, + range_check_max: *public_input.range_check_max, + offset_size: 0x10000, // 2**16 + half_offset_size: 0x8000, // 2**15 + pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, + ecdsa_sig_config: EcdsaSigConfig { + alpha: StarkCurve::ALPHA, + beta: StarkCurve::BETA, + shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, + }, + ec_op_curve_config: CurveConfig { alpha: StarkCurve::ALPHA, beta: StarkCurve::BETA }, + pedersen_points_x, + pedersen_points_y, + ecdsa_generator_points_x, + ecdsa_generator_points_y, + keccak_keccak_keccak_round_key0, + keccak_keccak_keccak_round_key1, + keccak_keccak_keccak_round_key3, + keccak_keccak_keccak_round_key7, + keccak_keccak_keccak_round_key15, + keccak_keccak_keccak_round_key31, + keccak_keccak_keccak_round_key63, + poseidon_poseidon_full_round_key0, + poseidon_poseidon_full_round_key1, + poseidon_poseidon_full_round_key2, + poseidon_poseidon_partial_round_key0, + poseidon_poseidon_partial_round_key1, + memory_multi_column_perm_perm_interaction_elm: memory_z, + memory_multi_column_perm_hash_interaction_elm0: memory_alpha, + range_check16_perm_interaction_elm: interaction_elements + .range_check16_perm_interaction_elm, + diluted_check_permutation_interaction_elm: interaction_elements + .diluted_check_permutation_interaction_elm, + diluted_check_interaction_z: diluted_z, + diluted_check_interaction_alpha: diluted_alpha, + memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, + range_check16_perm_public_memory_prod: 1, + diluted_check_first_elm: 0, + diluted_check_permutation_public_memory_prod: 1, + diluted_check_final_cum_val: diluted_prod + }; + + eval_composition_polynomial_inner( + mask_values, constraint_coefficients, point, trace_generator, global_values + ) + } +} + +impl StarknetWithKeccakAIROodsImpl of AIROods { + fn eval_oods_polynomial( + column_values: Span, + oods_values: Span, + constraint_coefficients: Span, + point: felt252, + oods_point: felt252, + trace_generator: felt252, + ) -> felt252 { + eval_oods_polynomial_inner( + column_values, oods_values, constraint_coefficients, point, oods_point, trace_generator, + ) + } +} diff --git a/src/air/layouts/starknet_with_keccak/autogenerated.cairo b/src/air/layouts/starknet_with_keccak/autogenerated.cairo new file mode 100644 index 000000000..ae033fba1 --- /dev/null +++ b/src/air/layouts/starknet_with_keccak/autogenerated.cairo @@ -0,0 +1,16307 @@ +use cairo_verifier::{ + air::layouts::starknet_with_keccak::{ + global_values::GlobalValues, + constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE} + }, + common::math::{Felt252Div, pow}, +}; + +fn eval_composition_polynomial_inner( + mask_values: Span, + constraint_coefficients: Span, + point: felt252, + trace_generator: felt252, + global_values: GlobalValues +) -> felt252 { + // Compute powers. + let pow0 = pow(point, global_values.trace_length / 524288); + let pow1 = pow(point, global_values.trace_length / 32768); + let pow2 = pow1 * pow1; // pow(point, (safe_div(global_values.trace_length, 16384))). + let pow3 = pow2 * pow2; // pow(point, (safe_div(global_values.trace_length, 8192))). + let pow4 = pow(point, global_values.trace_length / 2048); + let pow5 = pow4 * pow4; // pow(point, (safe_div(global_values.trace_length, 1024))). + let pow6 = pow5 * pow5; // pow(point, (safe_div(global_values.trace_length, 512))). + let pow7 = pow6 * pow6; // pow(point, (safe_div(global_values.trace_length, 256))). + let pow8 = pow7 * pow7; // pow(point, (safe_div(global_values.trace_length, 128))). + let pow9 = pow8 * pow8; // pow(point, (safe_div(global_values.trace_length, 64))). + let pow10 = pow(point, global_values.trace_length / 16); + let pow11 = pow10 * pow10; // pow(point, (safe_div(global_values.trace_length, 8))). + let pow12 = pow11 * pow11; // pow(point, (safe_div(global_values.trace_length, 4))). + let pow13 = pow12 * pow12; // pow(point, (safe_div(global_values.trace_length, 2))). + let pow14 = pow13 * pow13; // pow(point, global_values.trace_length). + let pow15 = pow(trace_generator, global_values.trace_length - 2048); + let pow16 = pow(trace_generator, global_values.trace_length - 16384); + let pow17 = pow(trace_generator, global_values.trace_length - 1024); + let pow18 = pow(trace_generator, global_values.trace_length - 32768); + let pow19 = pow(trace_generator, global_values.trace_length - 256); + let pow20 = pow(trace_generator, global_values.trace_length - 512); + let pow21 = pow(trace_generator, global_values.trace_length - 1); + let pow22 = pow(trace_generator, global_values.trace_length - 4); + let pow23 = pow(trace_generator, global_values.trace_length - 2); + let pow24 = pow(trace_generator, global_values.trace_length - 16); + let pow25 = pow(trace_generator, global_values.trace_length / 524288); + let pow26 = pow25 + * pow25; // pow(trace_generator, (safe_div(global_values.trace_length, 262144))). + let pow27 = pow25 + * pow26; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 524288))). + let pow28 = pow25 + * pow27; // pow(trace_generator, (safe_div(global_values.trace_length, 131072))). + let pow29 = pow25 + * pow28; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 524288))). + let pow30 = pow25 + * pow29; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 262144))). + let pow31 = pow25 + * pow30; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 524288))). + let pow32 = pow25 + * pow31; // pow(trace_generator, (safe_div(global_values.trace_length, 65536))). + let pow33 = pow25 + * pow32; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 524288))). + let pow34 = pow25 + * pow33; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 262144))). + let pow35 = pow25 + * pow34; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 524288))). + let pow36 = pow25 + * pow35; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 131072))). + let pow37 = pow25 + * pow36; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 524288))). + let pow38 = pow25 + * pow37; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 262144))). + let pow39 = pow25 + * pow38; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 524288))). + let pow40 = pow25 + * pow39; // pow(trace_generator, (safe_div(global_values.trace_length, 32768))). + let pow41 = pow32 + * pow40; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 65536))). + let pow42 = pow32 + * pow41; // pow(trace_generator, (safe_div(global_values.trace_length, 16384))). + let pow43 = pow32 + * pow42; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 65536))). + let pow44 = pow32 + * pow43; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32768))). + let pow45 = pow32 + * pow44; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 65536))). + let pow46 = pow32 + * pow45; // pow(trace_generator, (safe_div(global_values.trace_length, 8192))). + let pow47 = pow32 + * pow46; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 65536))). + let pow48 = pow32 + * pow47; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32768))). + let pow49 = pow32 + * pow48; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 65536))). + let pow50 = pow32 + * pow49; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16384))). + let pow51 = pow32 + * pow50; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 65536))). + let pow52 = pow32 + * pow51; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32768))). + let pow53 = pow32 + * pow52; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 65536))). + let pow54 = pow32 + * pow53; // pow(trace_generator, (safe_div(global_values.trace_length, 4096))). + let pow55 = pow32 + * pow54; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 65536))). + let pow56 = pow32 + * pow55; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32768))). + let pow57 = pow32 + * pow56; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 65536))). + let pow58 = pow32 + * pow57; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16384))). + let pow59 = pow32 + * pow58; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 65536))). + let pow60 = pow32 + * pow59; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32768))). + let pow61 = pow32 + * pow60; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 65536))). + let pow62 = pow32 + * pow61; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 8192))). + let pow63 = pow32 + * pow62; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 65536))). + let pow64 = pow32 + * pow63; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 32768))). + let pow65 = pow32 + * pow64; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 65536))). + let pow66 = pow32 + * pow65; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 16384))). + let pow67 = pow32 + * pow66; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 65536))). + let pow68 = pow32 + * pow67; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 32768))). + let pow69 = pow32 + * pow68; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 65536))). + let pow70 = pow32 + * pow69; // pow(trace_generator, (safe_div(global_values.trace_length, 2048))). + let pow71 = pow32 + * pow70; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 65536))). + let pow72 = pow32 + * pow71; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 32768))). + let pow73 = pow32 + * pow72; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 65536))). + let pow74 = pow32 + * pow73; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 16384))). + let pow75 = pow32 + * pow74; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 65536))). + let pow76 = pow32 + * pow75; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32768))). + let pow77 = pow32 + * pow76; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 65536))). + let pow78 = pow32 + * pow77; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8192))). + let pow79 = pow32 + * pow78; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 65536))). + let pow80 = pow32 + * pow79; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32768))). + let pow81 = pow32 + * pow80; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 65536))). + let pow82 = pow32 + * pow81; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16384))). + let pow83 = pow32 + * pow82; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 65536))). + let pow84 = pow32 + * pow83; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32768))). + let pow85 = pow32 + * pow84; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 65536))). + let pow86 = pow32 + * pow85; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4096))). + let pow87 = pow32 + * pow86; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 65536))). + let pow88 = pow32 + * pow87; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32768))). + let pow89 = pow32 + * pow88; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 65536))). + let pow90 = pow32 + * pow89; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16384))). + let pow91 = pow32 + * pow90; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 65536))). + let pow92 = pow32 + * pow91; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32768))). + let pow93 = pow32 + * pow92; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 65536))). + let pow94 = pow32 + * pow93; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8192))). + let pow95 = pow32 + * pow94; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 65536))). + let pow96 = pow32 + * pow95; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32768))). + let pow97 = pow32 + * pow96; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 65536))). + let pow98 = pow32 + * pow97; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16384))). + let pow99 = pow32 + * pow98; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 65536))). + let pow100 = pow41 + * pow99; // pow(trace_generator, (safe_div(global_values.trace_length, 1024))). + let pow101 = pow32 + * pow100; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 65536))). + let pow102 = pow32 + * pow101; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 32768))). + let pow103 = pow32 + * pow102; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 65536))). + let pow104 = pow32 + * pow103; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 16384))). + let pow105 = pow32 + * pow104; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 65536))). + let pow106 = pow32 + * pow105; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 32768))). + let pow107 = pow32 + * pow106; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 65536))). + let pow108 = pow32 + * pow107; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 8192))). + let pow109 = pow32 + * pow108; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 65536))). + let pow110 = pow32 + * pow109; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 32768))). + let pow111 = pow32 + * pow110; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 65536))). + let pow112 = pow32 + * pow111; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 16384))). + let pow113 = pow32 + * pow112; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 65536))). + let pow114 = pow32 + * pow113; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 32768))). + let pow115 = pow32 + * pow114; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 65536))). + let pow116 = pow32 + * pow115; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 4096))). + let pow117 = pow32 + * pow116; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 65536))). + let pow118 = pow32 + * pow117; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 32768))). + let pow119 = pow32 + * pow118; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 65536))). + let pow120 = pow32 + * pow119; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 16384))). + let pow121 = pow32 + * pow120; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 65536))). + let pow122 = pow32 + * pow121; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 32768))). + let pow123 = pow32 + * pow122; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 65536))). + let pow124 = pow32 + * pow123; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 8192))). + let pow125 = pow32 + * pow124; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 65536))). + let pow126 = pow32 + * pow125; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 32768))). + let pow127 = pow32 + * pow126; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 65536))). + let pow128 = pow32 + * pow127; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 16384))). + let pow129 = pow32 + * pow128; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 65536))). + let pow130 = pow41 + * pow129; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 2048))). + let pow131 = pow32 + * pow130; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 65536))). + let pow132 = pow32 + * pow131; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 32768))). + let pow133 = pow32 + * pow132; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 65536))). + let pow134 = pow32 + * pow133; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 16384))). + let pow135 = pow32 + * pow134; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 65536))). + let pow136 = pow32 + * pow135; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 32768))). + let pow137 = pow32 + * pow136; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 65536))). + let pow138 = pow32 + * pow137; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 8192))). + let pow139 = pow32 + * pow138; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 65536))). + let pow140 = pow32 + * pow139; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 32768))). + let pow141 = pow32 + * pow140; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 65536))). + let pow142 = pow32 + * pow141; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 16384))). + let pow143 = pow32 + * pow142; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 65536))). + let pow144 = pow32 + * pow143; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 32768))). + let pow145 = pow32 + * pow144; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 65536))). + let pow146 = pow32 + * pow145; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 4096))). + let pow147 = pow32 + * pow146; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 65536))). + let pow148 = pow32 + * pow147; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 32768))). + let pow149 = pow32 + * pow148; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 65536))). + let pow150 = pow32 + * pow149; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 16384))). + let pow151 = pow32 + * pow150; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 65536))). + let pow152 = pow32 + * pow151; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 32768))). + let pow153 = pow32 + * pow152; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 65536))). + let pow154 = pow32 + * pow153; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 8192))). + let pow155 = pow32 + * pow154; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 65536))). + let pow156 = pow32 + * pow155; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 32768))). + let pow157 = pow32 + * pow156; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 65536))). + let pow158 = pow32 + * pow157; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 16384))). + let pow159 = pow32 + * pow158; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 65536))). + let pow160 = pow41 + * pow159; // pow(trace_generator, (safe_div(global_values.trace_length, 512))). + let pow161 = pow32 + * pow160; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 65536))). + let pow162 = pow32 + * pow161; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 32768))). + let pow163 = pow32 + * pow162; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 65536))). + let pow164 = pow32 + * pow163; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 16384))). + let pow165 = pow32 + * pow164; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 65536))). + let pow166 = pow32 + * pow165; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 32768))). + let pow167 = pow32 + * pow166; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 65536))). + let pow168 = pow32 + * pow167; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 8192))). + let pow169 = pow32 + * pow168; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 65536))). + let pow170 = pow32 + * pow169; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 32768))). + let pow171 = pow32 + * pow170; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 65536))). + let pow172 = pow32 + * pow171; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 16384))). + let pow173 = pow32 + * pow172; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 65536))). + let pow174 = pow32 + * pow173; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 32768))). + let pow175 = pow32 + * pow174; // pow(trace_generator, (safe_div((safe_mult(143, global_values.trace_length)), 65536))). + let pow176 = pow32 + * pow175; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 4096))). + let pow177 = pow32 + * pow176; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 65536))). + let pow178 = pow32 + * pow177; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 32768))). + let pow179 = pow32 + * pow178; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 65536))). + let pow180 = pow32 + * pow179; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 16384))). + let pow181 = pow32 + * pow180; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 65536))). + let pow182 = pow32 + * pow181; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 32768))). + let pow183 = pow32 + * pow182; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 65536))). + let pow184 = pow32 + * pow183; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 8192))). + let pow185 = pow32 + * pow184; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 65536))). + let pow186 = pow32 + * pow185; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 32768))). + let pow187 = pow32 + * pow186; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 65536))). + let pow188 = pow32 + * pow187; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 16384))). + let pow189 = pow32 + * pow188; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 65536))). + let pow190 = pow41 + * pow189; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 2048))). + let pow191 = pow32 + * pow190; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 65536))). + let pow192 = pow32 + * pow191; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 32768))). + let pow193 = pow32 + * pow192; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 65536))). + let pow194 = pow32 + * pow193; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 16384))). + let pow195 = pow32 + * pow194; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 65536))). + let pow196 = pow32 + * pow195; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 32768))). + let pow197 = pow32 + * pow196; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 65536))). + let pow198 = pow32 + * pow197; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 8192))). + let pow199 = pow32 + * pow198; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 65536))). + let pow200 = pow32 + * pow199; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 32768))). + let pow201 = pow32 + * pow200; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 65536))). + let pow202 = pow32 + * pow201; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 16384))). + let pow203 = pow32 + * pow202; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 65536))). + let pow204 = pow32 + * pow203; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 32768))). + let pow205 = pow32 + * pow204; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 65536))). + let pow206 = pow32 + * pow205; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 4096))). + let pow207 = pow32 + * pow206; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 65536))). + let pow208 = pow32 + * pow207; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 32768))). + let pow209 = pow32 + * pow208; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 65536))). + let pow210 = pow32 + * pow209; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 16384))). + let pow211 = pow32 + * pow210; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 65536))). + let pow212 = pow32 + * pow211; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 32768))). + let pow213 = pow32 + * pow212; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 65536))). + let pow214 = pow32 + * pow213; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 8192))). + let pow215 = pow32 + * pow214; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 65536))). + let pow216 = pow32 + * pow215; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 32768))). + let pow217 = pow32 + * pow216; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 65536))). + let pow218 = pow32 + * pow217; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 16384))). + let pow219 = pow32 + * pow218; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 65536))). + let pow220 = pow41 + * pow219; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 1024))). + let pow221 = pow32 + * pow220; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 65536))). + let pow222 = pow32 + * pow221; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 32768))). + let pow223 = pow32 + * pow222; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 65536))). + let pow224 = pow32 + * pow223; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 16384))). + let pow225 = pow32 + * pow224; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 65536))). + let pow226 = pow32 + * pow225; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 32768))). + let pow227 = pow32 + * pow226; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 65536))). + let pow228 = pow32 + * pow227; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 8192))). + let pow229 = pow32 + * pow228; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 65536))). + let pow230 = pow32 + * pow229; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 32768))). + let pow231 = pow32 + * pow230; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 65536))). + let pow232 = pow32 + * pow231; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 16384))). + let pow233 = pow32 + * pow232; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 65536))). + let pow234 = pow32 + * pow233; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 32768))). + let pow235 = pow32 + * pow234; // pow(trace_generator, (safe_div((safe_mult(207, global_values.trace_length)), 65536))). + let pow236 = pow32 + * pow235; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 4096))). + let pow237 = pow32 + * pow236; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 65536))). + let pow238 = pow32 + * pow237; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 32768))). + let pow239 = pow32 + * pow238; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 65536))). + let pow240 = pow32 + * pow239; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 16384))). + let pow241 = pow32 + * pow240; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 65536))). + let pow242 = pow32 + * pow241; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 32768))). + let pow243 = pow32 + * pow242; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 65536))). + let pow244 = pow32 + * pow243; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 8192))). + let pow245 = pow32 + * pow244; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 65536))). + let pow246 = pow32 + * pow245; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 32768))). + let pow247 = pow32 + * pow246; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 65536))). + let pow248 = pow32 + * pow247; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 16384))). + let pow249 = pow32 + * pow248; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 65536))). + let pow250 = pow41 + * pow249; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 2048))). + let pow251 = pow32 + * pow250; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 65536))). + let pow252 = pow32 + * pow251; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 32768))). + let pow253 = pow32 + * pow252; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 65536))). + let pow254 = pow32 + * pow253; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 16384))). + let pow255 = pow32 + * pow254; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 65536))). + let pow256 = pow32 + * pow255; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 32768))). + let pow257 = pow32 + * pow256; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 65536))). + let pow258 = pow32 + * pow257; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 8192))). + let pow259 = pow32 + * pow258; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 65536))). + let pow260 = pow32 + * pow259; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 32768))). + let pow261 = pow32 + * pow260; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 65536))). + let pow262 = pow32 + * pow261; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 16384))). + let pow263 = pow32 + * pow262; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 65536))). + let pow264 = pow32 + * pow263; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 32768))). + let pow265 = pow32 + * pow264; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 65536))). + let pow266 = pow32 + * pow265; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 4096))). + let pow267 = pow32 + * pow266; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 65536))). + let pow268 = pow32 + * pow267; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 32768))). + let pow269 = pow32 + * pow268; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 65536))). + let pow270 = pow32 + * pow269; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 16384))). + let pow271 = pow32 + * pow270; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 65536))). + let pow272 = pow32 + * pow271; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 32768))). + let pow273 = pow32 + * pow272; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 65536))). + let pow274 = pow32 + * pow273; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 8192))). + let pow275 = pow32 + * pow274; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 65536))). + let pow276 = pow32 + * pow275; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 32768))). + let pow277 = pow32 + * pow276; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 65536))). + let pow278 = pow32 + * pow277; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 16384))). + let pow279 = pow32 + * pow278; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 65536))). + let pow280 = pow41 + * pow279; // pow(trace_generator, (safe_div(global_values.trace_length, 256))). + let pow281 = pow32 + * pow280; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 65536))). + let pow282 = pow32 + * pow281; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 32768))). + let pow283 = pow32 + * pow282; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 65536))). + let pow284 = pow32 + * pow283; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 16384))). + let pow285 = pow32 + * pow284; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 65536))). + let pow286 = pow32 + * pow285; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 32768))). + let pow287 = pow32 + * pow286; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 65536))). + let pow288 = pow32 + * pow287; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 8192))). + let pow289 = pow32 + * pow288; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 65536))). + let pow290 = pow32 + * pow289; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 32768))). + let pow291 = pow32 + * pow290; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 65536))). + let pow292 = pow32 + * pow291; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 16384))). + let pow293 = pow32 + * pow292; // pow(trace_generator, (safe_div((safe_mult(269, global_values.trace_length)), 65536))). + let pow294 = pow32 + * pow293; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 32768))). + let pow295 = pow32 + * pow294; // pow(trace_generator, (safe_div((safe_mult(271, global_values.trace_length)), 65536))). + let pow296 = pow32 + * pow295; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 4096))). + let pow297 = pow32 + * pow296; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 65536))). + let pow298 = pow32 + * pow297; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 32768))). + let pow299 = pow32 + * pow298; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 65536))). + let pow300 = pow32 + * pow299; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 16384))). + let pow301 = pow32 + * pow300; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 65536))). + let pow302 = pow32 + * pow301; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 32768))). + let pow303 = pow32 + * pow302; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 65536))). + let pow304 = pow32 + * pow303; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 8192))). + let pow305 = pow32 + * pow304; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 65536))). + let pow306 = pow32 + * pow305; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 32768))). + let pow307 = pow32 + * pow306; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 65536))). + let pow308 = pow32 + * pow307; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 16384))). + let pow309 = pow32 + * pow308; // pow(trace_generator, (safe_div((safe_mult(285, global_values.trace_length)), 65536))). + let pow310 = pow41 + * pow309; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 2048))). + let pow311 = pow32 + * pow310; // pow(trace_generator, (safe_div((safe_mult(289, global_values.trace_length)), 65536))). + let pow312 = pow32 + * pow311; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 32768))). + let pow313 = pow32 + * pow312; // pow(trace_generator, (safe_div((safe_mult(291, global_values.trace_length)), 65536))). + let pow314 = pow32 + * pow313; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 16384))). + let pow315 = pow32 + * pow314; // pow(trace_generator, (safe_div((safe_mult(293, global_values.trace_length)), 65536))). + let pow316 = pow32 + * pow315; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 32768))). + let pow317 = pow32 + * pow316; // pow(trace_generator, (safe_div((safe_mult(295, global_values.trace_length)), 65536))). + let pow318 = pow32 + * pow317; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 8192))). + let pow319 = pow32 + * pow318; // pow(trace_generator, (safe_div((safe_mult(297, global_values.trace_length)), 65536))). + let pow320 = pow32 + * pow319; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 32768))). + let pow321 = pow32 + * pow320; // pow(trace_generator, (safe_div((safe_mult(299, global_values.trace_length)), 65536))). + let pow322 = pow32 + * pow321; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 16384))). + let pow323 = pow32 + * pow322; // pow(trace_generator, (safe_div((safe_mult(301, global_values.trace_length)), 65536))). + let pow324 = pow32 + * pow323; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 32768))). + let pow325 = pow32 + * pow324; // pow(trace_generator, (safe_div((safe_mult(303, global_values.trace_length)), 65536))). + let pow326 = pow32 + * pow325; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 4096))). + let pow327 = pow32 + * pow326; // pow(trace_generator, (safe_div((safe_mult(305, global_values.trace_length)), 65536))). + let pow328 = pow32 + * pow327; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 32768))). + let pow329 = pow32 + * pow328; // pow(trace_generator, (safe_div((safe_mult(307, global_values.trace_length)), 65536))). + let pow330 = pow32 + * pow329; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 16384))). + let pow331 = pow32 + * pow330; // pow(trace_generator, (safe_div((safe_mult(309, global_values.trace_length)), 65536))). + let pow332 = pow32 + * pow331; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 32768))). + let pow333 = pow32 + * pow332; // pow(trace_generator, (safe_div((safe_mult(311, global_values.trace_length)), 65536))). + let pow334 = pow32 + * pow333; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 8192))). + let pow335 = pow32 + * pow334; // pow(trace_generator, (safe_div((safe_mult(313, global_values.trace_length)), 65536))). + let pow336 = pow32 + * pow335; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 32768))). + let pow337 = pow32 + * pow336; // pow(trace_generator, (safe_div((safe_mult(315, global_values.trace_length)), 65536))). + let pow338 = pow32 + * pow337; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 16384))). + let pow339 = pow32 + * pow338; // pow(trace_generator, (safe_div((safe_mult(317, global_values.trace_length)), 65536))). + let pow340 = pow41 + * pow339; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 1024))). + let pow341 = pow32 + * pow340; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 65536))). + let pow342 = pow32 + * pow341; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 32768))). + let pow343 = pow32 + * pow342; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 65536))). + let pow344 = pow32 + * pow343; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 16384))). + let pow345 = pow32 + * pow344; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 65536))). + let pow346 = pow32 + * pow345; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 32768))). + let pow347 = pow32 + * pow346; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 65536))). + let pow348 = pow32 + * pow347; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 8192))). + let pow349 = pow32 + * pow348; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 65536))). + let pow350 = pow32 + * pow349; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 32768))). + let pow351 = pow32 + * pow350; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 65536))). + let pow352 = pow32 + * pow351; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 16384))). + let pow353 = pow32 + * pow352; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 65536))). + let pow354 = pow32 + * pow353; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 32768))). + let pow355 = pow32 + * pow354; // pow(trace_generator, (safe_div((safe_mult(335, global_values.trace_length)), 65536))). + let pow356 = pow32 + * pow355; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 4096))). + let pow357 = pow32 + * pow356; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 65536))). + let pow358 = pow32 + * pow357; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 32768))). + let pow359 = pow32 + * pow358; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 65536))). + let pow360 = pow32 + * pow359; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 16384))). + let pow361 = pow32 + * pow360; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 65536))). + let pow362 = pow32 + * pow361; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 32768))). + let pow363 = pow32 + * pow362; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 65536))). + let pow364 = pow32 + * pow363; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 8192))). + let pow365 = pow32 + * pow364; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 65536))). + let pow366 = pow32 + * pow365; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 32768))). + let pow367 = pow32 + * pow366; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 65536))). + let pow368 = pow32 + * pow367; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 16384))). + let pow369 = pow32 + * pow368; // pow(trace_generator, (safe_div((safe_mult(349, global_values.trace_length)), 65536))). + let pow370 = pow41 + * pow369; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 2048))). + let pow371 = pow32 + * pow370; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 65536))). + let pow372 = pow32 + * pow371; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 32768))). + let pow373 = pow32 + * pow372; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 65536))). + let pow374 = pow32 + * pow373; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 16384))). + let pow375 = pow32 + * pow374; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 65536))). + let pow376 = pow32 + * pow375; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 32768))). + let pow377 = pow32 + * pow376; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 65536))). + let pow378 = pow32 + * pow377; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 8192))). + let pow379 = pow32 + * pow378; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 65536))). + let pow380 = pow32 + * pow379; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 32768))). + let pow381 = pow32 + * pow380; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 65536))). + let pow382 = pow32 + * pow381; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 16384))). + let pow383 = pow32 + * pow382; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 65536))). + let pow384 = pow32 + * pow383; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 32768))). + let pow385 = pow32 + * pow384; // pow(trace_generator, (safe_div((safe_mult(367, global_values.trace_length)), 65536))). + let pow386 = pow32 + * pow385; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 4096))). + let pow387 = pow32 + * pow386; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 65536))). + let pow388 = pow32 + * pow387; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 32768))). + let pow389 = pow32 + * pow388; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 65536))). + let pow390 = pow32 + * pow389; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 16384))). + let pow391 = pow32 + * pow390; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 65536))). + let pow392 = pow32 + * pow391; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 32768))). + let pow393 = pow32 + * pow392; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 65536))). + let pow394 = pow32 + * pow393; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 8192))). + let pow395 = pow32 + * pow394; // pow(trace_generator, (safe_div((safe_mult(377, global_values.trace_length)), 65536))). + let pow396 = pow32 + * pow395; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 32768))). + let pow397 = pow32 + * pow396; // pow(trace_generator, (safe_div((safe_mult(379, global_values.trace_length)), 65536))). + let pow398 = pow32 + * pow397; // pow(trace_generator, (safe_div((safe_mult(95, global_values.trace_length)), 16384))). + let pow399 = pow32 + * pow398; // pow(trace_generator, (safe_div((safe_mult(381, global_values.trace_length)), 65536))). + let pow400 = pow41 + * pow399; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 512))). + let pow401 = pow32 + * pow400; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 65536))). + let pow402 = pow32 + * pow401; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 32768))). + let pow403 = pow32 + * pow402; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 65536))). + let pow404 = pow32 + * pow403; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 16384))). + let pow405 = pow32 + * pow404; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 65536))). + let pow406 = pow32 + * pow405; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 32768))). + let pow407 = pow32 + * pow406; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 65536))). + let pow408 = pow32 + * pow407; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 8192))). + let pow409 = pow32 + * pow408; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 65536))). + let pow410 = pow32 + * pow409; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 32768))). + let pow411 = pow32 + * pow410; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 65536))). + let pow412 = pow32 + * pow411; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 16384))). + let pow413 = pow32 + * pow412; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 65536))). + let pow414 = pow32 + * pow413; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 32768))). + let pow415 = pow32 + * pow414; // pow(trace_generator, (safe_div((safe_mult(399, global_values.trace_length)), 65536))). + let pow416 = pow32 + * pow415; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 4096))). + let pow417 = pow32 + * pow416; // pow(trace_generator, (safe_div((safe_mult(401, global_values.trace_length)), 65536))). + let pow418 = pow32 + * pow417; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 32768))). + let pow419 = pow32 + * pow418; // pow(trace_generator, (safe_div((safe_mult(403, global_values.trace_length)), 65536))). + let pow420 = pow32 + * pow419; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 16384))). + let pow421 = pow32 + * pow420; // pow(trace_generator, (safe_div((safe_mult(405, global_values.trace_length)), 65536))). + let pow422 = pow32 + * pow421; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 32768))). + let pow423 = pow32 + * pow422; // pow(trace_generator, (safe_div((safe_mult(407, global_values.trace_length)), 65536))). + let pow424 = pow32 + * pow423; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 8192))). + let pow425 = pow32 + * pow424; // pow(trace_generator, (safe_div((safe_mult(409, global_values.trace_length)), 65536))). + let pow426 = pow32 + * pow425; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 32768))). + let pow427 = pow32 + * pow426; // pow(trace_generator, (safe_div((safe_mult(411, global_values.trace_length)), 65536))). + let pow428 = pow32 + * pow427; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 16384))). + let pow429 = pow32 + * pow428; // pow(trace_generator, (safe_div((safe_mult(413, global_values.trace_length)), 65536))). + let pow430 = pow41 + * pow429; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 2048))). + let pow431 = pow32 + * pow430; // pow(trace_generator, (safe_div((safe_mult(417, global_values.trace_length)), 65536))). + let pow432 = pow32 + * pow431; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 32768))). + let pow433 = pow32 + * pow432; // pow(trace_generator, (safe_div((safe_mult(419, global_values.trace_length)), 65536))). + let pow434 = pow32 + * pow433; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 16384))). + let pow435 = pow32 + * pow434; // pow(trace_generator, (safe_div((safe_mult(421, global_values.trace_length)), 65536))). + let pow436 = pow32 + * pow435; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 32768))). + let pow437 = pow32 + * pow436; // pow(trace_generator, (safe_div((safe_mult(423, global_values.trace_length)), 65536))). + let pow438 = pow32 + * pow437; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 8192))). + let pow439 = pow32 + * pow438; // pow(trace_generator, (safe_div((safe_mult(425, global_values.trace_length)), 65536))). + let pow440 = pow32 + * pow439; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 32768))). + let pow441 = pow32 + * pow440; // pow(trace_generator, (safe_div((safe_mult(427, global_values.trace_length)), 65536))). + let pow442 = pow32 + * pow441; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 16384))). + let pow443 = pow32 + * pow442; // pow(trace_generator, (safe_div((safe_mult(429, global_values.trace_length)), 65536))). + let pow444 = pow32 + * pow443; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 32768))). + let pow445 = pow32 + * pow444; // pow(trace_generator, (safe_div((safe_mult(431, global_values.trace_length)), 65536))). + let pow446 = pow32 + * pow445; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 4096))). + let pow447 = pow32 + * pow446; // pow(trace_generator, (safe_div((safe_mult(433, global_values.trace_length)), 65536))). + let pow448 = pow32 + * pow447; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 32768))). + let pow449 = pow32 + * pow448; // pow(trace_generator, (safe_div((safe_mult(435, global_values.trace_length)), 65536))). + let pow450 = pow32 + * pow449; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 16384))). + let pow451 = pow32 + * pow450; // pow(trace_generator, (safe_div((safe_mult(437, global_values.trace_length)), 65536))). + let pow452 = pow32 + * pow451; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 32768))). + let pow453 = pow32 + * pow452; // pow(trace_generator, (safe_div((safe_mult(439, global_values.trace_length)), 65536))). + let pow454 = pow32 + * pow453; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 8192))). + let pow455 = pow32 + * pow454; // pow(trace_generator, (safe_div((safe_mult(441, global_values.trace_length)), 65536))). + let pow456 = pow32 + * pow455; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 32768))). + let pow457 = pow32 + * pow456; // pow(trace_generator, (safe_div((safe_mult(443, global_values.trace_length)), 65536))). + let pow458 = pow32 + * pow457; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 16384))). + let pow459 = pow32 + * pow458; // pow(trace_generator, (safe_div((safe_mult(445, global_values.trace_length)), 65536))). + let pow460 = pow41 + * pow459; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 1024))). + let pow461 = pow32 + * pow460; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 65536))). + let pow462 = pow32 + * pow461; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 32768))). + let pow463 = pow32 + * pow462; // pow(trace_generator, (safe_div((safe_mult(451, global_values.trace_length)), 65536))). + let pow464 = pow32 + * pow463; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 16384))). + let pow465 = pow32 + * pow464; // pow(trace_generator, (safe_div((safe_mult(453, global_values.trace_length)), 65536))). + let pow466 = pow32 + * pow465; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 32768))). + let pow467 = pow32 + * pow466; // pow(trace_generator, (safe_div((safe_mult(455, global_values.trace_length)), 65536))). + let pow468 = pow32 + * pow467; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 8192))). + let pow469 = pow32 + * pow468; // pow(trace_generator, (safe_div((safe_mult(457, global_values.trace_length)), 65536))). + let pow470 = pow32 + * pow469; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 32768))). + let pow471 = pow32 + * pow470; // pow(trace_generator, (safe_div((safe_mult(459, global_values.trace_length)), 65536))). + let pow472 = pow32 + * pow471; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 16384))). + let pow473 = pow32 + * pow472; // pow(trace_generator, (safe_div((safe_mult(461, global_values.trace_length)), 65536))). + let pow474 = pow32 + * pow473; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 32768))). + let pow475 = pow32 + * pow474; // pow(trace_generator, (safe_div((safe_mult(463, global_values.trace_length)), 65536))). + let pow476 = pow32 + * pow475; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 4096))). + let pow477 = pow32 + * pow476; // pow(trace_generator, (safe_div((safe_mult(465, global_values.trace_length)), 65536))). + let pow478 = pow32 + * pow477; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 32768))). + let pow479 = pow32 + * pow478; // pow(trace_generator, (safe_div((safe_mult(467, global_values.trace_length)), 65536))). + let pow480 = pow32 + * pow479; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 16384))). + let pow481 = pow32 + * pow480; // pow(trace_generator, (safe_div((safe_mult(469, global_values.trace_length)), 65536))). + let pow482 = pow32 + * pow481; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 32768))). + let pow483 = pow32 + * pow482; // pow(trace_generator, (safe_div((safe_mult(471, global_values.trace_length)), 65536))). + let pow484 = pow32 + * pow483; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 8192))). + let pow485 = pow32 + * pow484; // pow(trace_generator, (safe_div((safe_mult(473, global_values.trace_length)), 65536))). + let pow486 = pow32 + * pow485; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 32768))). + let pow487 = pow32 + * pow486; // pow(trace_generator, (safe_div((safe_mult(475, global_values.trace_length)), 65536))). + let pow488 = pow32 + * pow487; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 16384))). + let pow489 = pow32 + * pow488; // pow(trace_generator, (safe_div((safe_mult(477, global_values.trace_length)), 65536))). + let pow490 = pow41 + * pow489; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 2048))). + let pow491 = pow32 + * pow490; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 65536))). + let pow492 = pow32 + * pow491; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 32768))). + let pow493 = pow32 + * pow492; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 65536))). + let pow494 = pow32 + * pow493; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 16384))). + let pow495 = pow32 + * pow494; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 65536))). + let pow496 = pow32 + * pow495; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 32768))). + let pow497 = pow32 + * pow496; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 65536))). + let pow498 = pow32 + * pow497; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 8192))). + let pow499 = pow32 + * pow498; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 65536))). + let pow500 = pow32 + * pow499; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 32768))). + let pow501 = pow32 + * pow500; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 65536))). + let pow502 = pow32 + * pow501; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 16384))). + let pow503 = pow32 + * pow502; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 65536))). + let pow504 = pow32 + * pow503; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 32768))). + let pow505 = pow32 + * pow504; // pow(trace_generator, (safe_div((safe_mult(495, global_values.trace_length)), 65536))). + let pow506 = pow32 + * pow505; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 4096))). + let pow507 = pow32 + * pow506; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 65536))). + let pow508 = pow32 + * pow507; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 32768))). + let pow509 = pow32 + * pow508; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 65536))). + let pow510 = pow32 + * pow509; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 16384))). + let pow511 = pow32 + * pow510; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 65536))). + let pow512 = pow32 + * pow511; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 32768))). + let pow513 = pow32 + * pow512; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 65536))). + let pow514 = pow32 + * pow513; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 8192))). + let pow515 = pow32 + * pow514; // pow(trace_generator, (safe_div((safe_mult(505, global_values.trace_length)), 65536))). + let pow516 = pow32 + * pow515; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 32768))). + let pow517 = pow32 + * pow516; // pow(trace_generator, (safe_div((safe_mult(507, global_values.trace_length)), 65536))). + let pow518 = pow32 + * pow517; // pow(trace_generator, (safe_div((safe_mult(127, global_values.trace_length)), 16384))). + let pow519 = pow32 + * pow518; // pow(trace_generator, (safe_div((safe_mult(509, global_values.trace_length)), 65536))). + let pow520 = pow41 + * pow519; // pow(trace_generator, (safe_div(global_values.trace_length, 128))). + let pow521 = pow32 + * pow520; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 65536))). + let pow522 = pow32 + * pow521; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 32768))). + let pow523 = pow32 + * pow522; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 65536))). + let pow524 = pow32 + * pow523; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 16384))). + let pow525 = pow32 + * pow524; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 65536))). + let pow526 = pow32 + * pow525; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 32768))). + let pow527 = pow32 + * pow526; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 65536))). + let pow528 = pow32 + * pow527; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 8192))). + let pow529 = pow32 + * pow528; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 65536))). + let pow530 = pow32 + * pow529; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 32768))). + let pow531 = pow32 + * pow530; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 65536))). + let pow532 = pow32 + * pow531; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 16384))). + let pow533 = pow32 + * pow532; // pow(trace_generator, (safe_div((safe_mult(525, global_values.trace_length)), 65536))). + let pow534 = pow32 + * pow533; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 32768))). + let pow535 = pow32 + * pow534; // pow(trace_generator, (safe_div((safe_mult(527, global_values.trace_length)), 65536))). + let pow536 = pow32 + * pow535; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 4096))). + let pow537 = pow32 + * pow536; // pow(trace_generator, (safe_div((safe_mult(529, global_values.trace_length)), 65536))). + let pow538 = pow32 + * pow537; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 32768))). + let pow539 = pow32 + * pow538; // pow(trace_generator, (safe_div((safe_mult(531, global_values.trace_length)), 65536))). + let pow540 = pow32 + * pow539; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 16384))). + let pow541 = pow32 + * pow540; // pow(trace_generator, (safe_div((safe_mult(533, global_values.trace_length)), 65536))). + let pow542 = pow32 + * pow541; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 32768))). + let pow543 = pow32 + * pow542; // pow(trace_generator, (safe_div((safe_mult(535, global_values.trace_length)), 65536))). + let pow544 = pow32 + * pow543; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 8192))). + let pow545 = pow32 + * pow544; // pow(trace_generator, (safe_div((safe_mult(537, global_values.trace_length)), 65536))). + let pow546 = pow32 + * pow545; // pow(trace_generator, (safe_div((safe_mult(269, global_values.trace_length)), 32768))). + let pow547 = pow32 + * pow546; // pow(trace_generator, (safe_div((safe_mult(539, global_values.trace_length)), 65536))). + let pow548 = pow32 + * pow547; // pow(trace_generator, (safe_div((safe_mult(135, global_values.trace_length)), 16384))). + let pow549 = pow32 + * pow548; // pow(trace_generator, (safe_div((safe_mult(541, global_values.trace_length)), 65536))). + let pow550 = pow41 + * pow549; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 2048))). + let pow551 = pow32 + * pow550; // pow(trace_generator, (safe_div((safe_mult(545, global_values.trace_length)), 65536))). + let pow552 = pow32 + * pow551; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 32768))). + let pow553 = pow32 + * pow552; // pow(trace_generator, (safe_div((safe_mult(547, global_values.trace_length)), 65536))). + let pow554 = pow32 + * pow553; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 16384))). + let pow555 = pow32 + * pow554; // pow(trace_generator, (safe_div((safe_mult(549, global_values.trace_length)), 65536))). + let pow556 = pow32 + * pow555; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 32768))). + let pow557 = pow32 + * pow556; // pow(trace_generator, (safe_div((safe_mult(551, global_values.trace_length)), 65536))). + let pow558 = pow32 + * pow557; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 8192))). + let pow559 = pow32 + * pow558; // pow(trace_generator, (safe_div((safe_mult(553, global_values.trace_length)), 65536))). + let pow560 = pow32 + * pow559; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 32768))). + let pow561 = pow32 + * pow560; // pow(trace_generator, (safe_div((safe_mult(555, global_values.trace_length)), 65536))). + let pow562 = pow32 + * pow561; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 16384))). + let pow563 = pow32 + * pow562; // pow(trace_generator, (safe_div((safe_mult(557, global_values.trace_length)), 65536))). + let pow564 = pow32 + * pow563; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 32768))). + let pow565 = pow32 + * pow564; // pow(trace_generator, (safe_div((safe_mult(559, global_values.trace_length)), 65536))). + let pow566 = pow32 + * pow565; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 4096))). + let pow567 = pow32 + * pow566; // pow(trace_generator, (safe_div((safe_mult(561, global_values.trace_length)), 65536))). + let pow568 = pow32 + * pow567; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 32768))). + let pow569 = pow32 + * pow568; // pow(trace_generator, (safe_div((safe_mult(563, global_values.trace_length)), 65536))). + let pow570 = pow32 + * pow569; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 16384))). + let pow571 = pow32 + * pow570; // pow(trace_generator, (safe_div((safe_mult(565, global_values.trace_length)), 65536))). + let pow572 = pow32 + * pow571; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 32768))). + let pow573 = pow32 + * pow572; // pow(trace_generator, (safe_div((safe_mult(567, global_values.trace_length)), 65536))). + let pow574 = pow32 + * pow573; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 8192))). + let pow575 = pow32 + * pow574; // pow(trace_generator, (safe_div((safe_mult(569, global_values.trace_length)), 65536))). + let pow576 = pow32 + * pow575; // pow(trace_generator, (safe_div((safe_mult(285, global_values.trace_length)), 32768))). + let pow577 = pow32 + * pow576; // pow(trace_generator, (safe_div((safe_mult(571, global_values.trace_length)), 65536))). + let pow578 = pow32 + * pow577; // pow(trace_generator, (safe_div((safe_mult(143, global_values.trace_length)), 16384))). + let pow579 = pow32 + * pow578; // pow(trace_generator, (safe_div((safe_mult(573, global_values.trace_length)), 65536))). + let pow580 = pow41 + * pow579; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 1024))). + let pow581 = pow32 + * pow580; // pow(trace_generator, (safe_div((safe_mult(577, global_values.trace_length)), 65536))). + let pow582 = pow32 + * pow581; // pow(trace_generator, (safe_div((safe_mult(289, global_values.trace_length)), 32768))). + let pow583 = pow32 + * pow582; // pow(trace_generator, (safe_div((safe_mult(579, global_values.trace_length)), 65536))). + let pow584 = pow32 + * pow583; // pow(trace_generator, (safe_div((safe_mult(145, global_values.trace_length)), 16384))). + let pow585 = pow32 + * pow584; // pow(trace_generator, (safe_div((safe_mult(581, global_values.trace_length)), 65536))). + let pow586 = pow32 + * pow585; // pow(trace_generator, (safe_div((safe_mult(291, global_values.trace_length)), 32768))). + let pow587 = pow32 + * pow586; // pow(trace_generator, (safe_div((safe_mult(583, global_values.trace_length)), 65536))). + let pow588 = pow32 + * pow587; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 8192))). + let pow589 = pow32 + * pow588; // pow(trace_generator, (safe_div((safe_mult(585, global_values.trace_length)), 65536))). + let pow590 = pow32 + * pow589; // pow(trace_generator, (safe_div((safe_mult(293, global_values.trace_length)), 32768))). + let pow591 = pow32 + * pow590; // pow(trace_generator, (safe_div((safe_mult(587, global_values.trace_length)), 65536))). + let pow592 = pow32 + * pow591; // pow(trace_generator, (safe_div((safe_mult(147, global_values.trace_length)), 16384))). + let pow593 = pow32 + * pow592; // pow(trace_generator, (safe_div((safe_mult(589, global_values.trace_length)), 65536))). + let pow594 = pow32 + * pow593; // pow(trace_generator, (safe_div((safe_mult(295, global_values.trace_length)), 32768))). + let pow595 = pow32 + * pow594; // pow(trace_generator, (safe_div((safe_mult(591, global_values.trace_length)), 65536))). + let pow596 = pow32 + * pow595; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 4096))). + let pow597 = pow32 + * pow596; // pow(trace_generator, (safe_div((safe_mult(593, global_values.trace_length)), 65536))). + let pow598 = pow32 + * pow597; // pow(trace_generator, (safe_div((safe_mult(297, global_values.trace_length)), 32768))). + let pow599 = pow32 + * pow598; // pow(trace_generator, (safe_div((safe_mult(595, global_values.trace_length)), 65536))). + let pow600 = pow32 + * pow599; // pow(trace_generator, (safe_div((safe_mult(149, global_values.trace_length)), 16384))). + let pow601 = pow32 + * pow600; // pow(trace_generator, (safe_div((safe_mult(597, global_values.trace_length)), 65536))). + let pow602 = pow32 + * pow601; // pow(trace_generator, (safe_div((safe_mult(299, global_values.trace_length)), 32768))). + let pow603 = pow32 + * pow602; // pow(trace_generator, (safe_div((safe_mult(599, global_values.trace_length)), 65536))). + let pow604 = pow32 + * pow603; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 8192))). + let pow605 = pow32 + * pow604; // pow(trace_generator, (safe_div((safe_mult(601, global_values.trace_length)), 65536))). + let pow606 = pow32 + * pow605; // pow(trace_generator, (safe_div((safe_mult(301, global_values.trace_length)), 32768))). + let pow607 = pow32 + * pow606; // pow(trace_generator, (safe_div((safe_mult(603, global_values.trace_length)), 65536))). + let pow608 = pow32 + * pow607; // pow(trace_generator, (safe_div((safe_mult(151, global_values.trace_length)), 16384))). + let pow609 = pow32 + * pow608; // pow(trace_generator, (safe_div((safe_mult(605, global_values.trace_length)), 65536))). + let pow610 = pow41 + * pow609; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 2048))). + let pow611 = pow32 + * pow610; // pow(trace_generator, (safe_div((safe_mult(609, global_values.trace_length)), 65536))). + let pow612 = pow32 + * pow611; // pow(trace_generator, (safe_div((safe_mult(305, global_values.trace_length)), 32768))). + let pow613 = pow32 + * pow612; // pow(trace_generator, (safe_div((safe_mult(611, global_values.trace_length)), 65536))). + let pow614 = pow32 + * pow613; // pow(trace_generator, (safe_div((safe_mult(153, global_values.trace_length)), 16384))). + let pow615 = pow32 + * pow614; // pow(trace_generator, (safe_div((safe_mult(613, global_values.trace_length)), 65536))). + let pow616 = pow32 + * pow615; // pow(trace_generator, (safe_div((safe_mult(307, global_values.trace_length)), 32768))). + let pow617 = pow32 + * pow616; // pow(trace_generator, (safe_div((safe_mult(615, global_values.trace_length)), 65536))). + let pow618 = pow32 + * pow617; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 8192))). + let pow619 = pow32 + * pow618; // pow(trace_generator, (safe_div((safe_mult(617, global_values.trace_length)), 65536))). + let pow620 = pow32 + * pow619; // pow(trace_generator, (safe_div((safe_mult(309, global_values.trace_length)), 32768))). + let pow621 = pow32 + * pow620; // pow(trace_generator, (safe_div((safe_mult(619, global_values.trace_length)), 65536))). + let pow622 = pow32 + * pow621; // pow(trace_generator, (safe_div((safe_mult(155, global_values.trace_length)), 16384))). + let pow623 = pow32 + * pow622; // pow(trace_generator, (safe_div((safe_mult(621, global_values.trace_length)), 65536))). + let pow624 = pow32 + * pow623; // pow(trace_generator, (safe_div((safe_mult(311, global_values.trace_length)), 32768))). + let pow625 = pow32 + * pow624; // pow(trace_generator, (safe_div((safe_mult(623, global_values.trace_length)), 65536))). + let pow626 = pow32 + * pow625; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 4096))). + let pow627 = pow32 + * pow626; // pow(trace_generator, (safe_div((safe_mult(625, global_values.trace_length)), 65536))). + let pow628 = pow32 + * pow627; // pow(trace_generator, (safe_div((safe_mult(313, global_values.trace_length)), 32768))). + let pow629 = pow32 + * pow628; // pow(trace_generator, (safe_div((safe_mult(627, global_values.trace_length)), 65536))). + let pow630 = pow32 + * pow629; // pow(trace_generator, (safe_div((safe_mult(157, global_values.trace_length)), 16384))). + let pow631 = pow32 + * pow630; // pow(trace_generator, (safe_div((safe_mult(629, global_values.trace_length)), 65536))). + let pow632 = pow32 + * pow631; // pow(trace_generator, (safe_div((safe_mult(315, global_values.trace_length)), 32768))). + let pow633 = pow32 + * pow632; // pow(trace_generator, (safe_div((safe_mult(631, global_values.trace_length)), 65536))). + let pow634 = pow32 + * pow633; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 8192))). + let pow635 = pow32 + * pow634; // pow(trace_generator, (safe_div((safe_mult(633, global_values.trace_length)), 65536))). + let pow636 = pow32 + * pow635; // pow(trace_generator, (safe_div((safe_mult(317, global_values.trace_length)), 32768))). + let pow637 = pow32 + * pow636; // pow(trace_generator, (safe_div((safe_mult(635, global_values.trace_length)), 65536))). + let pow638 = pow32 + * pow637; // pow(trace_generator, (safe_div((safe_mult(159, global_values.trace_length)), 16384))). + let pow639 = pow32 + * pow638; // pow(trace_generator, (safe_div((safe_mult(637, global_values.trace_length)), 65536))). + let pow640 = pow41 + * pow639; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 512))). + let pow641 = pow32 + * pow640; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 65536))). + let pow642 = pow32 + * pow641; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 32768))). + let pow643 = pow32 + * pow642; // pow(trace_generator, (safe_div((safe_mult(643, global_values.trace_length)), 65536))). + let pow644 = pow32 + * pow643; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 16384))). + let pow645 = pow32 + * pow644; // pow(trace_generator, (safe_div((safe_mult(645, global_values.trace_length)), 65536))). + let pow646 = pow32 + * pow645; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 32768))). + let pow647 = pow32 + * pow646; // pow(trace_generator, (safe_div((safe_mult(647, global_values.trace_length)), 65536))). + let pow648 = pow32 + * pow647; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 8192))). + let pow649 = pow32 + * pow648; // pow(trace_generator, (safe_div((safe_mult(649, global_values.trace_length)), 65536))). + let pow650 = pow32 + * pow649; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 32768))). + let pow651 = pow32 + * pow650; // pow(trace_generator, (safe_div((safe_mult(651, global_values.trace_length)), 65536))). + let pow652 = pow32 + * pow651; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 16384))). + let pow653 = pow32 + * pow652; // pow(trace_generator, (safe_div((safe_mult(653, global_values.trace_length)), 65536))). + let pow654 = pow32 + * pow653; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 32768))). + let pow655 = pow32 + * pow654; // pow(trace_generator, (safe_div((safe_mult(655, global_values.trace_length)), 65536))). + let pow656 = pow32 + * pow655; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 4096))). + let pow657 = pow32 + * pow656; // pow(trace_generator, (safe_div((safe_mult(657, global_values.trace_length)), 65536))). + let pow658 = pow32 + * pow657; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 32768))). + let pow659 = pow32 + * pow658; // pow(trace_generator, (safe_div((safe_mult(659, global_values.trace_length)), 65536))). + let pow660 = pow32 + * pow659; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 16384))). + let pow661 = pow32 + * pow660; // pow(trace_generator, (safe_div((safe_mult(661, global_values.trace_length)), 65536))). + let pow662 = pow32 + * pow661; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 32768))). + let pow663 = pow32 + * pow662; // pow(trace_generator, (safe_div((safe_mult(663, global_values.trace_length)), 65536))). + let pow664 = pow32 + * pow663; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 8192))). + let pow665 = pow32 + * pow664; // pow(trace_generator, (safe_div((safe_mult(665, global_values.trace_length)), 65536))). + let pow666 = pow32 + * pow665; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 32768))). + let pow667 = pow32 + * pow666; // pow(trace_generator, (safe_div((safe_mult(667, global_values.trace_length)), 65536))). + let pow668 = pow32 + * pow667; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 16384))). + let pow669 = pow32 + * pow668; // pow(trace_generator, (safe_div((safe_mult(669, global_values.trace_length)), 65536))). + let pow670 = pow41 + * pow669; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 2048))). + let pow671 = pow32 + * pow670; // pow(trace_generator, (safe_div((safe_mult(673, global_values.trace_length)), 65536))). + let pow672 = pow32 + * pow671; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 32768))). + let pow673 = pow32 + * pow672; // pow(trace_generator, (safe_div((safe_mult(675, global_values.trace_length)), 65536))). + let pow674 = pow32 + * pow673; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 16384))). + let pow675 = pow32 + * pow674; // pow(trace_generator, (safe_div((safe_mult(677, global_values.trace_length)), 65536))). + let pow676 = pow32 + * pow675; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 32768))). + let pow677 = pow32 + * pow676; // pow(trace_generator, (safe_div((safe_mult(679, global_values.trace_length)), 65536))). + let pow678 = pow32 + * pow677; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 8192))). + let pow679 = pow32 + * pow678; // pow(trace_generator, (safe_div((safe_mult(681, global_values.trace_length)), 65536))). + let pow680 = pow32 + * pow679; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 32768))). + let pow681 = pow32 + * pow680; // pow(trace_generator, (safe_div((safe_mult(683, global_values.trace_length)), 65536))). + let pow682 = pow32 + * pow681; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 16384))). + let pow683 = pow32 + * pow682; // pow(trace_generator, (safe_div((safe_mult(685, global_values.trace_length)), 65536))). + let pow684 = pow32 + * pow683; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 32768))). + let pow685 = pow32 + * pow684; // pow(trace_generator, (safe_div((safe_mult(687, global_values.trace_length)), 65536))). + let pow686 = pow32 + * pow685; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 4096))). + let pow687 = pow32 + * pow686; // pow(trace_generator, (safe_div((safe_mult(689, global_values.trace_length)), 65536))). + let pow688 = pow32 + * pow687; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 32768))). + let pow689 = pow32 + * pow688; // pow(trace_generator, (safe_div((safe_mult(691, global_values.trace_length)), 65536))). + let pow690 = pow32 + * pow689; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 16384))). + let pow691 = pow32 + * pow690; // pow(trace_generator, (safe_div((safe_mult(693, global_values.trace_length)), 65536))). + let pow692 = pow32 + * pow691; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 32768))). + let pow693 = pow32 + * pow692; // pow(trace_generator, (safe_div((safe_mult(695, global_values.trace_length)), 65536))). + let pow694 = pow32 + * pow693; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 8192))). + let pow695 = pow32 + * pow694; // pow(trace_generator, (safe_div((safe_mult(697, global_values.trace_length)), 65536))). + let pow696 = pow32 + * pow695; // pow(trace_generator, (safe_div((safe_mult(349, global_values.trace_length)), 32768))). + let pow697 = pow32 + * pow696; // pow(trace_generator, (safe_div((safe_mult(699, global_values.trace_length)), 65536))). + let pow698 = pow32 + * pow697; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 16384))). + let pow699 = pow32 + * pow698; // pow(trace_generator, (safe_div((safe_mult(701, global_values.trace_length)), 65536))). + let pow700 = pow41 + * pow699; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 1024))). + let pow701 = pow32 + * pow700; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 65536))). + let pow702 = pow32 + * pow701; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 32768))). + let pow703 = pow32 + * pow702; // pow(trace_generator, (safe_div((safe_mult(707, global_values.trace_length)), 65536))). + let pow704 = pow32 + * pow703; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 16384))). + let pow705 = pow32 + * pow704; // pow(trace_generator, (safe_div((safe_mult(709, global_values.trace_length)), 65536))). + let pow706 = pow32 + * pow705; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 32768))). + let pow707 = pow32 + * pow706; // pow(trace_generator, (safe_div((safe_mult(711, global_values.trace_length)), 65536))). + let pow708 = pow32 + * pow707; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 8192))). + let pow709 = pow32 + * pow708; // pow(trace_generator, (safe_div((safe_mult(713, global_values.trace_length)), 65536))). + let pow710 = pow32 + * pow709; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 32768))). + let pow711 = pow32 + * pow710; // pow(trace_generator, (safe_div((safe_mult(715, global_values.trace_length)), 65536))). + let pow712 = pow32 + * pow711; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 16384))). + let pow713 = pow32 + * pow712; // pow(trace_generator, (safe_div((safe_mult(717, global_values.trace_length)), 65536))). + let pow714 = pow32 + * pow713; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 32768))). + let pow715 = pow32 + * pow714; // pow(trace_generator, (safe_div((safe_mult(719, global_values.trace_length)), 65536))). + let pow716 = pow32 + * pow715; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 4096))). + let pow717 = pow32 + * pow716; // pow(trace_generator, (safe_div((safe_mult(721, global_values.trace_length)), 65536))). + let pow718 = pow32 + * pow717; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 32768))). + let pow719 = pow32 + * pow718; // pow(trace_generator, (safe_div((safe_mult(723, global_values.trace_length)), 65536))). + let pow720 = pow32 + * pow719; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 16384))). + let pow721 = pow32 + * pow720; // pow(trace_generator, (safe_div((safe_mult(725, global_values.trace_length)), 65536))). + let pow722 = pow32 + * pow721; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 32768))). + let pow723 = pow32 + * pow722; // pow(trace_generator, (safe_div((safe_mult(727, global_values.trace_length)), 65536))). + let pow724 = pow32 + * pow723; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 8192))). + let pow725 = pow32 + * pow724; // pow(trace_generator, (safe_div((safe_mult(729, global_values.trace_length)), 65536))). + let pow726 = pow32 + * pow725; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 32768))). + let pow727 = pow32 + * pow726; // pow(trace_generator, (safe_div((safe_mult(731, global_values.trace_length)), 65536))). + let pow728 = pow32 + * pow727; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 16384))). + let pow729 = pow32 + * pow728; // pow(trace_generator, (safe_div((safe_mult(733, global_values.trace_length)), 65536))). + let pow730 = pow41 + * pow729; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 2048))). + let pow731 = pow32 + * pow730; // pow(trace_generator, (safe_div((safe_mult(737, global_values.trace_length)), 65536))). + let pow732 = pow32 + * pow731; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 32768))). + let pow733 = pow32 + * pow732; // pow(trace_generator, (safe_div((safe_mult(739, global_values.trace_length)), 65536))). + let pow734 = pow32 + * pow733; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 16384))). + let pow735 = pow32 + * pow734; // pow(trace_generator, (safe_div((safe_mult(741, global_values.trace_length)), 65536))). + let pow736 = pow32 + * pow735; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 32768))). + let pow737 = pow32 + * pow736; // pow(trace_generator, (safe_div((safe_mult(743, global_values.trace_length)), 65536))). + let pow738 = pow32 + * pow737; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 8192))). + let pow739 = pow32 + * pow738; // pow(trace_generator, (safe_div((safe_mult(745, global_values.trace_length)), 65536))). + let pow740 = pow32 + * pow739; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 32768))). + let pow741 = pow32 + * pow740; // pow(trace_generator, (safe_div((safe_mult(747, global_values.trace_length)), 65536))). + let pow742 = pow32 + * pow741; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 16384))). + let pow743 = pow32 + * pow742; // pow(trace_generator, (safe_div((safe_mult(749, global_values.trace_length)), 65536))). + let pow744 = pow32 + * pow743; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 32768))). + let pow745 = pow32 + * pow744; // pow(trace_generator, (safe_div((safe_mult(751, global_values.trace_length)), 65536))). + let pow746 = pow32 + * pow745; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 4096))). + let pow747 = pow32 + * pow746; // pow(trace_generator, (safe_div((safe_mult(753, global_values.trace_length)), 65536))). + let pow748 = pow32 + * pow747; // pow(trace_generator, (safe_div((safe_mult(377, global_values.trace_length)), 32768))). + let pow749 = pow32 + * pow748; // pow(trace_generator, (safe_div((safe_mult(755, global_values.trace_length)), 65536))). + let pow750 = pow32 + * pow749; // pow(trace_generator, (safe_div((safe_mult(189, global_values.trace_length)), 16384))). + let pow751 = pow32 + * pow750; // pow(trace_generator, (safe_div((safe_mult(757, global_values.trace_length)), 65536))). + let pow752 = pow32 + * pow751; // pow(trace_generator, (safe_div((safe_mult(379, global_values.trace_length)), 32768))). + let pow753 = pow32 + * pow752; // pow(trace_generator, (safe_div((safe_mult(759, global_values.trace_length)), 65536))). + let pow754 = pow32 + * pow753; // pow(trace_generator, (safe_div((safe_mult(95, global_values.trace_length)), 8192))). + let pow755 = pow32 + * pow754; // pow(trace_generator, (safe_div((safe_mult(761, global_values.trace_length)), 65536))). + let pow756 = pow32 + * pow755; // pow(trace_generator, (safe_div((safe_mult(381, global_values.trace_length)), 32768))). + let pow757 = pow32 + * pow756; // pow(trace_generator, (safe_div((safe_mult(763, global_values.trace_length)), 65536))). + let pow758 = pow32 + * pow757; // pow(trace_generator, (safe_div((safe_mult(191, global_values.trace_length)), 16384))). + let pow759 = pow32 + * pow758; // pow(trace_generator, (safe_div((safe_mult(765, global_values.trace_length)), 65536))). + let pow760 = pow41 + * pow759; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 256))). + let pow761 = pow32 + * pow760; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 65536))). + let pow762 = pow32 + * pow761; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 32768))). + let pow763 = pow32 + * pow762; // pow(trace_generator, (safe_div((safe_mult(771, global_values.trace_length)), 65536))). + let pow764 = pow32 + * pow763; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 16384))). + let pow765 = pow32 + * pow764; // pow(trace_generator, (safe_div((safe_mult(773, global_values.trace_length)), 65536))). + let pow766 = pow32 + * pow765; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 32768))). + let pow767 = pow32 + * pow766; // pow(trace_generator, (safe_div((safe_mult(775, global_values.trace_length)), 65536))). + let pow768 = pow32 + * pow767; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 8192))). + let pow769 = pow32 + * pow768; // pow(trace_generator, (safe_div((safe_mult(777, global_values.trace_length)), 65536))). + let pow770 = pow32 + * pow769; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 32768))). + let pow771 = pow32 + * pow770; // pow(trace_generator, (safe_div((safe_mult(779, global_values.trace_length)), 65536))). + let pow772 = pow32 + * pow771; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 16384))). + let pow773 = pow32 + * pow772; // pow(trace_generator, (safe_div((safe_mult(781, global_values.trace_length)), 65536))). + let pow774 = pow32 + * pow773; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 32768))). + let pow775 = pow32 + * pow774; // pow(trace_generator, (safe_div((safe_mult(783, global_values.trace_length)), 65536))). + let pow776 = pow32 + * pow775; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 4096))). + let pow777 = pow32 + * pow776; // pow(trace_generator, (safe_div((safe_mult(785, global_values.trace_length)), 65536))). + let pow778 = pow32 + * pow777; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 32768))). + let pow779 = pow32 + * pow778; // pow(trace_generator, (safe_div((safe_mult(787, global_values.trace_length)), 65536))). + let pow780 = pow32 + * pow779; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 16384))). + let pow781 = pow32 + * pow780; // pow(trace_generator, (safe_div((safe_mult(789, global_values.trace_length)), 65536))). + let pow782 = pow32 + * pow781; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 32768))). + let pow783 = pow32 + * pow782; // pow(trace_generator, (safe_div((safe_mult(791, global_values.trace_length)), 65536))). + let pow784 = pow32 + * pow783; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 8192))). + let pow785 = pow32 + * pow784; // pow(trace_generator, (safe_div((safe_mult(793, global_values.trace_length)), 65536))). + let pow786 = pow32 + * pow785; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 32768))). + let pow787 = pow32 + * pow786; // pow(trace_generator, (safe_div((safe_mult(795, global_values.trace_length)), 65536))). + let pow788 = pow32 + * pow787; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 16384))). + let pow789 = pow32 + * pow788; // pow(trace_generator, (safe_div((safe_mult(797, global_values.trace_length)), 65536))). + let pow790 = pow73 + * pow789; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 1024))). + let pow791 = pow100 + * pow790; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 512))). + let pow792 = pow100 + * pow791; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 1024))). + let pow793 = pow100 + * pow792; // pow(trace_generator, (safe_div(global_values.trace_length, 64))). + let pow794 = pow32 + * pow793; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 65536))). + let pow795 = pow32 + * pow794; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 32768))). + let pow796 = pow32 + * pow795; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 65536))). + let pow797 = pow32 + * pow796; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 16384))). + let pow798 = pow32 + * pow797; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 65536))). + let pow799 = pow32 + * pow798; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 32768))). + let pow800 = pow32 + * pow799; // pow(trace_generator, (safe_div((safe_mult(1031, global_values.trace_length)), 65536))). + let pow801 = pow32 + * pow800; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 8192))). + let pow802 = pow32 + * pow801; // pow(trace_generator, (safe_div((safe_mult(1033, global_values.trace_length)), 65536))). + let pow803 = pow32 + * pow802; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 32768))). + let pow804 = pow32 + * pow803; // pow(trace_generator, (safe_div((safe_mult(1035, global_values.trace_length)), 65536))). + let pow805 = pow32 + * pow804; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 16384))). + let pow806 = pow32 + * pow805; // pow(trace_generator, (safe_div((safe_mult(1037, global_values.trace_length)), 65536))). + let pow807 = pow32 + * pow806; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 32768))). + let pow808 = pow32 + * pow807; // pow(trace_generator, (safe_div((safe_mult(1039, global_values.trace_length)), 65536))). + let pow809 = pow32 + * pow808; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 4096))). + let pow810 = pow32 + * pow809; // pow(trace_generator, (safe_div((safe_mult(1041, global_values.trace_length)), 65536))). + let pow811 = pow32 + * pow810; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 32768))). + let pow812 = pow32 + * pow811; // pow(trace_generator, (safe_div((safe_mult(1043, global_values.trace_length)), 65536))). + let pow813 = pow32 + * pow812; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 16384))). + let pow814 = pow32 + * pow813; // pow(trace_generator, (safe_div((safe_mult(1045, global_values.trace_length)), 65536))). + let pow815 = pow32 + * pow814; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 32768))). + let pow816 = pow32 + * pow815; // pow(trace_generator, (safe_div((safe_mult(1047, global_values.trace_length)), 65536))). + let pow817 = pow79 + * pow816; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 1024))). + let pow818 = pow100 + * pow817; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 512))). + let pow819 = pow100 + * pow818; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 1024))). + let pow820 = pow100 + * pow819; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 256))). + let pow821 = pow100 + * pow820; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 1024))). + let pow822 = pow100 + * pow821; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 512))). + let pow823 = pow100 + * pow822; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 1024))). + let pow824 = pow580 + * pow823; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). + let pow825 = pow32 + * pow824; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 65536))). + let pow826 = pow32 + * pow825; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 32768))). + let pow827 = pow32 + * pow826; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 65536))). + let pow828 = pow32 + * pow827; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 16384))). + let pow829 = pow32 + * pow828; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 65536))). + let pow830 = pow32 + * pow829; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 32768))). + let pow831 = pow32 + * pow830; // pow(trace_generator, (safe_div((safe_mult(2055, global_values.trace_length)), 65536))). + let pow832 = pow32 + * pow831; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 8192))). + let pow833 = pow32 + * pow832; // pow(trace_generator, (safe_div((safe_mult(2057, global_values.trace_length)), 65536))). + let pow834 = pow32 + * pow833; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 32768))). + let pow835 = pow32 + * pow834; // pow(trace_generator, (safe_div((safe_mult(2059, global_values.trace_length)), 65536))). + let pow836 = pow32 + * pow835; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 16384))). + let pow837 = pow32 + * pow836; // pow(trace_generator, (safe_div((safe_mult(2061, global_values.trace_length)), 65536))). + let pow838 = pow32 + * pow837; // pow(trace_generator, (safe_div((safe_mult(1031, global_values.trace_length)), 32768))). + let pow839 = pow32 + * pow838; // pow(trace_generator, (safe_div((safe_mult(2063, global_values.trace_length)), 65536))). + let pow840 = pow32 + * pow839; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 4096))). + let pow841 = pow32 + * pow840; // pow(trace_generator, (safe_div((safe_mult(2065, global_values.trace_length)), 65536))). + let pow842 = pow32 + * pow841; // pow(trace_generator, (safe_div((safe_mult(1033, global_values.trace_length)), 32768))). + let pow843 = pow32 + * pow842; // pow(trace_generator, (safe_div((safe_mult(2067, global_values.trace_length)), 65536))). + let pow844 = pow32 + * pow843; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 16384))). + let pow845 = pow32 + * pow844; // pow(trace_generator, (safe_div((safe_mult(2069, global_values.trace_length)), 65536))). + let pow846 = pow32 + * pow845; // pow(trace_generator, (safe_div((safe_mult(1035, global_values.trace_length)), 32768))). + let pow847 = pow32 + * pow846; // pow(trace_generator, (safe_div((safe_mult(2071, global_values.trace_length)), 65536))). + let pow848 = pow79 + * pow847; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 1024))). + let pow849 = pow100 + * pow848; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 512))). + let pow850 = pow100 + * pow849; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 1024))). + let pow851 = pow100 + * pow850; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 256))). + let pow852 = pow100 + * pow851; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 1024))). + let pow853 = pow100 + * pow852; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 512))). + let pow854 = pow100 + * pow853; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 1024))). + let pow855 = pow100 + * pow854; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 128))). + let pow856 = pow100 + * pow855; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 1024))). + let pow857 = pow100 + * pow856; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 512))). + let pow858 = pow100 + * pow857; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 1024))). + let pow859 = pow100 + * pow858; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 256))). + let pow860 = pow100 + * pow859; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 1024))). + let pow861 = pow100 + * pow860; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 512))). + let pow862 = pow100 + * pow861; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 1024))). + let pow863 = pow100 + * pow862; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 64))). + let pow864 = pow32 + * pow863; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 65536))). + let pow865 = pow32 + * pow864; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 32768))). + let pow866 = pow32 + * pow865; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 65536))). + let pow867 = pow32 + * pow866; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 16384))). + let pow868 = pow32 + * pow867; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 65536))). + let pow869 = pow32 + * pow868; // pow(trace_generator, (safe_div((safe_mult(1539, global_values.trace_length)), 32768))). + let pow870 = pow32 + * pow869; // pow(trace_generator, (safe_div((safe_mult(3079, global_values.trace_length)), 65536))). + let pow871 = pow32 + * pow870; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 8192))). + let pow872 = pow32 + * pow871; // pow(trace_generator, (safe_div((safe_mult(3081, global_values.trace_length)), 65536))). + let pow873 = pow32 + * pow872; // pow(trace_generator, (safe_div((safe_mult(1541, global_values.trace_length)), 32768))). + let pow874 = pow32 + * pow873; // pow(trace_generator, (safe_div((safe_mult(3083, global_values.trace_length)), 65536))). + let pow875 = pow32 + * pow874; // pow(trace_generator, (safe_div((safe_mult(771, global_values.trace_length)), 16384))). + let pow876 = pow32 + * pow875; // pow(trace_generator, (safe_div((safe_mult(3085, global_values.trace_length)), 65536))). + let pow877 = pow32 + * pow876; // pow(trace_generator, (safe_div((safe_mult(1543, global_values.trace_length)), 32768))). + let pow878 = pow32 + * pow877; // pow(trace_generator, (safe_div((safe_mult(3087, global_values.trace_length)), 65536))). + let pow879 = pow32 + * pow878; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 4096))). + let pow880 = pow32 + * pow879; // pow(trace_generator, (safe_div((safe_mult(3089, global_values.trace_length)), 65536))). + let pow881 = pow32 + * pow880; // pow(trace_generator, (safe_div((safe_mult(1545, global_values.trace_length)), 32768))). + let pow882 = pow32 + * pow881; // pow(trace_generator, (safe_div((safe_mult(3091, global_values.trace_length)), 65536))). + let pow883 = pow32 + * pow882; // pow(trace_generator, (safe_div((safe_mult(773, global_values.trace_length)), 16384))). + let pow884 = pow32 + * pow883; // pow(trace_generator, (safe_div((safe_mult(3093, global_values.trace_length)), 65536))). + let pow885 = pow32 + * pow884; // pow(trace_generator, (safe_div((safe_mult(1547, global_values.trace_length)), 32768))). + let pow886 = pow32 + * pow885; // pow(trace_generator, (safe_div((safe_mult(3095, global_values.trace_length)), 65536))). + let pow887 = pow79 + * pow886; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 1024))). + let pow888 = pow100 + * pow887; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 512))). + let pow889 = pow100 + * pow888; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 1024))). + let pow890 = pow100 + * pow889; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 256))). + let pow891 = pow100 + * pow890; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 1024))). + let pow892 = pow100 + * pow891; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 512))). + let pow893 = pow100 + * pow892; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 1024))). + let pow894 = pow580 + * pow893; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). + let pow895 = pow32 + * pow894; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 65536))). + let pow896 = pow32 + * pow895; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 32768))). + let pow897 = pow32 + * pow896; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 65536))). + let pow898 = pow32 + * pow897; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 16384))). + let pow899 = pow32 + * pow898; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 65536))). + let pow900 = pow32 + * pow899; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 32768))). + let pow901 = pow32 + * pow900; // pow(trace_generator, (safe_div((safe_mult(4103, global_values.trace_length)), 65536))). + let pow902 = pow32 + * pow901; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 8192))). + let pow903 = pow32 + * pow902; // pow(trace_generator, (safe_div((safe_mult(4105, global_values.trace_length)), 65536))). + let pow904 = pow32 + * pow903; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 32768))). + let pow905 = pow32 + * pow904; // pow(trace_generator, (safe_div((safe_mult(4107, global_values.trace_length)), 65536))). + let pow906 = pow32 + * pow905; // pow(trace_generator, (safe_div((safe_mult(1027, global_values.trace_length)), 16384))). + let pow907 = pow32 + * pow906; // pow(trace_generator, (safe_div((safe_mult(4109, global_values.trace_length)), 65536))). + let pow908 = pow32 + * pow907; // pow(trace_generator, (safe_div((safe_mult(2055, global_values.trace_length)), 32768))). + let pow909 = pow32 + * pow908; // pow(trace_generator, (safe_div((safe_mult(4111, global_values.trace_length)), 65536))). + let pow910 = pow32 + * pow909; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 4096))). + let pow911 = pow32 + * pow910; // pow(trace_generator, (safe_div((safe_mult(4113, global_values.trace_length)), 65536))). + let pow912 = pow32 + * pow911; // pow(trace_generator, (safe_div((safe_mult(2057, global_values.trace_length)), 32768))). + let pow913 = pow32 + * pow912; // pow(trace_generator, (safe_div((safe_mult(4115, global_values.trace_length)), 65536))). + let pow914 = pow32 + * pow913; // pow(trace_generator, (safe_div((safe_mult(1029, global_values.trace_length)), 16384))). + let pow915 = pow32 + * pow914; // pow(trace_generator, (safe_div((safe_mult(4117, global_values.trace_length)), 65536))). + let pow916 = pow32 + * pow915; // pow(trace_generator, (safe_div((safe_mult(2059, global_values.trace_length)), 32768))). + let pow917 = pow32 + * pow916; // pow(trace_generator, (safe_div((safe_mult(4119, global_values.trace_length)), 65536))). + let pow918 = pow79 + * pow917; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 1024))). + let pow919 = pow100 + * pow918; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 512))). + let pow920 = pow100 + * pow919; // pow(trace_generator, (safe_div((safe_mult(67, global_values.trace_length)), 1024))). + let pow921 = pow100 + * pow920; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 256))). + let pow922 = pow100 + * pow921; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 1024))). + let pow923 = pow100 + * pow922; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 512))). + let pow924 = pow100 + * pow923; // pow(trace_generator, (safe_div((safe_mult(71, global_values.trace_length)), 1024))). + let pow925 = pow100 + * pow924; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 128))). + let pow926 = pow100 + * pow925; // pow(trace_generator, (safe_div((safe_mult(73, global_values.trace_length)), 1024))). + let pow927 = pow100 + * pow926; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 512))). + let pow928 = pow100 + * pow927; // pow(trace_generator, (safe_div((safe_mult(75, global_values.trace_length)), 1024))). + let pow929 = pow100 + * pow928; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 256))). + let pow930 = pow100 + * pow929; // pow(trace_generator, (safe_div((safe_mult(77, global_values.trace_length)), 1024))). + let pow931 = pow100 + * pow930; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 512))). + let pow932 = pow100 + * pow931; // pow(trace_generator, (safe_div((safe_mult(79, global_values.trace_length)), 1024))). + let pow933 = pow100 + * pow932; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 64))). + let pow934 = pow32 + * pow933; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 65536))). + let pow935 = pow32 + * pow934; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 32768))). + let pow936 = pow32 + * pow935; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 65536))). + let pow937 = pow32 + * pow936; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 16384))). + let pow938 = pow32 + * pow937; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 65536))). + let pow939 = pow32 + * pow938; // pow(trace_generator, (safe_div((safe_mult(2563, global_values.trace_length)), 32768))). + let pow940 = pow32 + * pow939; // pow(trace_generator, (safe_div((safe_mult(5127, global_values.trace_length)), 65536))). + let pow941 = pow32 + * pow940; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 8192))). + let pow942 = pow32 + * pow941; // pow(trace_generator, (safe_div((safe_mult(5129, global_values.trace_length)), 65536))). + let pow943 = pow32 + * pow942; // pow(trace_generator, (safe_div((safe_mult(2565, global_values.trace_length)), 32768))). + let pow944 = pow32 + * pow943; // pow(trace_generator, (safe_div((safe_mult(5131, global_values.trace_length)), 65536))). + let pow945 = pow32 + * pow944; // pow(trace_generator, (safe_div((safe_mult(1283, global_values.trace_length)), 16384))). + let pow946 = pow32 + * pow945; // pow(trace_generator, (safe_div((safe_mult(5133, global_values.trace_length)), 65536))). + let pow947 = pow32 + * pow946; // pow(trace_generator, (safe_div((safe_mult(2567, global_values.trace_length)), 32768))). + let pow948 = pow32 + * pow947; // pow(trace_generator, (safe_div((safe_mult(5135, global_values.trace_length)), 65536))). + let pow949 = pow32 + * pow948; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 4096))). + let pow950 = pow32 + * pow949; // pow(trace_generator, (safe_div((safe_mult(5137, global_values.trace_length)), 65536))). + let pow951 = pow32 + * pow950; // pow(trace_generator, (safe_div((safe_mult(2569, global_values.trace_length)), 32768))). + let pow952 = pow32 + * pow951; // pow(trace_generator, (safe_div((safe_mult(5139, global_values.trace_length)), 65536))). + let pow953 = pow32 + * pow952; // pow(trace_generator, (safe_div((safe_mult(1285, global_values.trace_length)), 16384))). + let pow954 = pow32 + * pow953; // pow(trace_generator, (safe_div((safe_mult(5141, global_values.trace_length)), 65536))). + let pow955 = pow32 + * pow954; // pow(trace_generator, (safe_div((safe_mult(2571, global_values.trace_length)), 32768))). + let pow956 = pow32 + * pow955; // pow(trace_generator, (safe_div((safe_mult(5143, global_values.trace_length)), 65536))). + let pow957 = pow79 + * pow956; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 1024))). + let pow958 = pow100 + * pow957; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 512))). + let pow959 = pow100 + * pow958; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 1024))). + let pow960 = pow100 + * pow959; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 256))). + let pow961 = pow100 + * pow960; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 1024))). + let pow962 = pow100 + * pow961; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 512))). + let pow963 = pow100 + * pow962; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 1024))). + let pow964 = pow580 + * pow963; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). + let pow965 = pow32 + * pow964; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 65536))). + let pow966 = pow32 + * pow965; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 32768))). + let pow967 = pow32 + * pow966; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 65536))). + let pow968 = pow32 + * pow967; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 16384))). + let pow969 = pow32 + * pow968; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 65536))). + let pow970 = pow32 + * pow969; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 32768))). + let pow971 = pow32 + * pow970; // pow(trace_generator, (safe_div((safe_mult(6151, global_values.trace_length)), 65536))). + let pow972 = pow32 + * pow971; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 8192))). + let pow973 = pow32 + * pow972; // pow(trace_generator, (safe_div((safe_mult(6153, global_values.trace_length)), 65536))). + let pow974 = pow32 + * pow973; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 32768))). + let pow975 = pow32 + * pow974; // pow(trace_generator, (safe_div((safe_mult(6155, global_values.trace_length)), 65536))). + let pow976 = pow32 + * pow975; // pow(trace_generator, (safe_div((safe_mult(1539, global_values.trace_length)), 16384))). + let pow977 = pow32 + * pow976; // pow(trace_generator, (safe_div((safe_mult(6157, global_values.trace_length)), 65536))). + let pow978 = pow32 + * pow977; // pow(trace_generator, (safe_div((safe_mult(3079, global_values.trace_length)), 32768))). + let pow979 = pow32 + * pow978; // pow(trace_generator, (safe_div((safe_mult(6159, global_values.trace_length)), 65536))). + let pow980 = pow32 + * pow979; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 4096))). + let pow981 = pow32 + * pow980; // pow(trace_generator, (safe_div((safe_mult(6161, global_values.trace_length)), 65536))). + let pow982 = pow32 + * pow981; // pow(trace_generator, (safe_div((safe_mult(3081, global_values.trace_length)), 32768))). + let pow983 = pow32 + * pow982; // pow(trace_generator, (safe_div((safe_mult(6163, global_values.trace_length)), 65536))). + let pow984 = pow32 + * pow983; // pow(trace_generator, (safe_div((safe_mult(1541, global_values.trace_length)), 16384))). + let pow985 = pow32 + * pow984; // pow(trace_generator, (safe_div((safe_mult(6165, global_values.trace_length)), 65536))). + let pow986 = pow32 + * pow985; // pow(trace_generator, (safe_div((safe_mult(3083, global_values.trace_length)), 32768))). + let pow987 = pow32 + * pow986; // pow(trace_generator, (safe_div((safe_mult(6167, global_values.trace_length)), 65536))). + let pow988 = pow793 + * pow964; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). + let pow989 = pow32 + * pow988; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 65536))). + let pow990 = pow32 + * pow989; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 32768))). + let pow991 = pow32 + * pow990; // pow(trace_generator, (safe_div((safe_mult(7171, global_values.trace_length)), 65536))). + let pow992 = pow32 + * pow991; // pow(trace_generator, (safe_div((safe_mult(1793, global_values.trace_length)), 16384))). + let pow993 = pow32 + * pow992; // pow(trace_generator, (safe_div((safe_mult(7173, global_values.trace_length)), 65536))). + let pow994 = pow32 + * pow993; // pow(trace_generator, (safe_div((safe_mult(3587, global_values.trace_length)), 32768))). + let pow995 = pow32 + * pow994; // pow(trace_generator, (safe_div((safe_mult(7175, global_values.trace_length)), 65536))). + let pow996 = pow32 + * pow995; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 8192))). + let pow997 = pow32 + * pow996; // pow(trace_generator, (safe_div((safe_mult(7177, global_values.trace_length)), 65536))). + let pow998 = pow32 + * pow997; // pow(trace_generator, (safe_div((safe_mult(3589, global_values.trace_length)), 32768))). + let pow999 = pow32 + * pow998; // pow(trace_generator, (safe_div((safe_mult(7179, global_values.trace_length)), 65536))). + let pow1000 = pow32 + * pow999; // pow(trace_generator, (safe_div((safe_mult(1795, global_values.trace_length)), 16384))). + let pow1001 = pow32 + * pow1000; // pow(trace_generator, (safe_div((safe_mult(7181, global_values.trace_length)), 65536))). + let pow1002 = pow32 + * pow1001; // pow(trace_generator, (safe_div((safe_mult(3591, global_values.trace_length)), 32768))). + let pow1003 = pow32 + * pow1002; // pow(trace_generator, (safe_div((safe_mult(7183, global_values.trace_length)), 65536))). + let pow1004 = pow32 + * pow1003; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 4096))). + let pow1005 = pow32 + * pow1004; // pow(trace_generator, (safe_div((safe_mult(7185, global_values.trace_length)), 65536))). + let pow1006 = pow32 + * pow1005; // pow(trace_generator, (safe_div((safe_mult(3593, global_values.trace_length)), 32768))). + let pow1007 = pow32 + * pow1006; // pow(trace_generator, (safe_div((safe_mult(7187, global_values.trace_length)), 65536))). + let pow1008 = pow32 + * pow1007; // pow(trace_generator, (safe_div((safe_mult(1797, global_values.trace_length)), 16384))). + let pow1009 = pow32 + * pow1008; // pow(trace_generator, (safe_div((safe_mult(7189, global_values.trace_length)), 65536))). + let pow1010 = pow32 + * pow1009; // pow(trace_generator, (safe_div((safe_mult(3595, global_values.trace_length)), 32768))). + let pow1011 = pow32 + * pow1010; // pow(trace_generator, (safe_div((safe_mult(7191, global_values.trace_length)), 65536))). + let pow1012 = pow793 + * pow988; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). + let pow1013 = pow32 + * pow1012; // pow(trace_generator, (safe_div((safe_mult(8193, global_values.trace_length)), 65536))). + let pow1014 = pow32 + * pow1013; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 32768))). + let pow1015 = pow32 + * pow1014; // pow(trace_generator, (safe_div((safe_mult(8195, global_values.trace_length)), 65536))). + let pow1016 = pow32 + * pow1015; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 16384))). + let pow1017 = pow32 + * pow1016; // pow(trace_generator, (safe_div((safe_mult(8197, global_values.trace_length)), 65536))). + let pow1018 = pow32 + * pow1017; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 32768))). + let pow1019 = pow32 + * pow1018; // pow(trace_generator, (safe_div((safe_mult(8199, global_values.trace_length)), 65536))). + let pow1020 = pow32 + * pow1019; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 8192))). + let pow1021 = pow32 + * pow1020; // pow(trace_generator, (safe_div((safe_mult(8201, global_values.trace_length)), 65536))). + let pow1022 = pow32 + * pow1021; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 32768))). + let pow1023 = pow32 + * pow1022; // pow(trace_generator, (safe_div((safe_mult(8203, global_values.trace_length)), 65536))). + let pow1024 = pow32 + * pow1023; // pow(trace_generator, (safe_div((safe_mult(2051, global_values.trace_length)), 16384))). + let pow1025 = pow32 + * pow1024; // pow(trace_generator, (safe_div((safe_mult(8205, global_values.trace_length)), 65536))). + let pow1026 = pow32 + * pow1025; // pow(trace_generator, (safe_div((safe_mult(4103, global_values.trace_length)), 32768))). + let pow1027 = pow32 + * pow1026; // pow(trace_generator, (safe_div((safe_mult(8207, global_values.trace_length)), 65536))). + let pow1028 = pow32 + * pow1027; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 4096))). + let pow1029 = pow32 + * pow1028; // pow(trace_generator, (safe_div((safe_mult(8209, global_values.trace_length)), 65536))). + let pow1030 = pow32 + * pow1029; // pow(trace_generator, (safe_div((safe_mult(4105, global_values.trace_length)), 32768))). + let pow1031 = pow32 + * pow1030; // pow(trace_generator, (safe_div((safe_mult(8211, global_values.trace_length)), 65536))). + let pow1032 = pow32 + * pow1031; // pow(trace_generator, (safe_div((safe_mult(2053, global_values.trace_length)), 16384))). + let pow1033 = pow32 + * pow1032; // pow(trace_generator, (safe_div((safe_mult(8213, global_values.trace_length)), 65536))). + let pow1034 = pow32 + * pow1033; // pow(trace_generator, (safe_div((safe_mult(4107, global_values.trace_length)), 32768))). + let pow1035 = pow32 + * pow1034; // pow(trace_generator, (safe_div((safe_mult(8215, global_values.trace_length)), 65536))). + let pow1036 = pow793 + * pow1012; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). + let pow1037 = pow32 + * pow1036; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 65536))). + let pow1038 = pow32 + * pow1037; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 32768))). + let pow1039 = pow32 + * pow1038; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 65536))). + let pow1040 = pow32 + * pow1039; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 16384))). + let pow1041 = pow32 + * pow1040; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 65536))). + let pow1042 = pow32 + * pow1041; // pow(trace_generator, (safe_div((safe_mult(4611, global_values.trace_length)), 32768))). + let pow1043 = pow32 + * pow1042; // pow(trace_generator, (safe_div((safe_mult(9223, global_values.trace_length)), 65536))). + let pow1044 = pow32 + * pow1043; // pow(trace_generator, (safe_div((safe_mult(1153, global_values.trace_length)), 8192))). + let pow1045 = pow32 + * pow1044; // pow(trace_generator, (safe_div((safe_mult(9225, global_values.trace_length)), 65536))). + let pow1046 = pow32 + * pow1045; // pow(trace_generator, (safe_div((safe_mult(4613, global_values.trace_length)), 32768))). + let pow1047 = pow32 + * pow1046; // pow(trace_generator, (safe_div((safe_mult(9227, global_values.trace_length)), 65536))). + let pow1048 = pow32 + * pow1047; // pow(trace_generator, (safe_div((safe_mult(2307, global_values.trace_length)), 16384))). + let pow1049 = pow32 + * pow1048; // pow(trace_generator, (safe_div((safe_mult(9229, global_values.trace_length)), 65536))). + let pow1050 = pow32 + * pow1049; // pow(trace_generator, (safe_div((safe_mult(4615, global_values.trace_length)), 32768))). + let pow1051 = pow32 + * pow1050; // pow(trace_generator, (safe_div((safe_mult(9231, global_values.trace_length)), 65536))). + let pow1052 = pow32 + * pow1051; // pow(trace_generator, (safe_div((safe_mult(577, global_values.trace_length)), 4096))). + let pow1053 = pow32 + * pow1052; // pow(trace_generator, (safe_div((safe_mult(9233, global_values.trace_length)), 65536))). + let pow1054 = pow32 + * pow1053; // pow(trace_generator, (safe_div((safe_mult(4617, global_values.trace_length)), 32768))). + let pow1055 = pow32 + * pow1054; // pow(trace_generator, (safe_div((safe_mult(9235, global_values.trace_length)), 65536))). + let pow1056 = pow32 + * pow1055; // pow(trace_generator, (safe_div((safe_mult(2309, global_values.trace_length)), 16384))). + let pow1057 = pow32 + * pow1056; // pow(trace_generator, (safe_div((safe_mult(9237, global_values.trace_length)), 65536))). + let pow1058 = pow32 + * pow1057; // pow(trace_generator, (safe_div((safe_mult(4619, global_values.trace_length)), 32768))). + let pow1059 = pow32 + * pow1058; // pow(trace_generator, (safe_div((safe_mult(9239, global_values.trace_length)), 65536))). + let pow1060 = pow793 + * pow1036; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). + let pow1061 = pow32 + * pow1060; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 65536))). + let pow1062 = pow32 + * pow1061; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 32768))). + let pow1063 = pow32 + * pow1062; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 65536))). + let pow1064 = pow32 + * pow1063; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 16384))). + let pow1065 = pow32 + * pow1064; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 65536))). + let pow1066 = pow32 + * pow1065; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 32768))). + let pow1067 = pow32 + * pow1066; // pow(trace_generator, (safe_div((safe_mult(10247, global_values.trace_length)), 65536))). + let pow1068 = pow32 + * pow1067; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 8192))). + let pow1069 = pow32 + * pow1068; // pow(trace_generator, (safe_div((safe_mult(10249, global_values.trace_length)), 65536))). + let pow1070 = pow32 + * pow1069; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 32768))). + let pow1071 = pow32 + * pow1070; // pow(trace_generator, (safe_div((safe_mult(10251, global_values.trace_length)), 65536))). + let pow1072 = pow32 + * pow1071; // pow(trace_generator, (safe_div((safe_mult(2563, global_values.trace_length)), 16384))). + let pow1073 = pow32 + * pow1072; // pow(trace_generator, (safe_div((safe_mult(10253, global_values.trace_length)), 65536))). + let pow1074 = pow32 + * pow1073; // pow(trace_generator, (safe_div((safe_mult(5127, global_values.trace_length)), 32768))). + let pow1075 = pow32 + * pow1074; // pow(trace_generator, (safe_div((safe_mult(10255, global_values.trace_length)), 65536))). + let pow1076 = pow32 + * pow1075; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 4096))). + let pow1077 = pow32 + * pow1076; // pow(trace_generator, (safe_div((safe_mult(10257, global_values.trace_length)), 65536))). + let pow1078 = pow32 + * pow1077; // pow(trace_generator, (safe_div((safe_mult(5129, global_values.trace_length)), 32768))). + let pow1079 = pow32 + * pow1078; // pow(trace_generator, (safe_div((safe_mult(10259, global_values.trace_length)), 65536))). + let pow1080 = pow32 + * pow1079; // pow(trace_generator, (safe_div((safe_mult(2565, global_values.trace_length)), 16384))). + let pow1081 = pow32 + * pow1080; // pow(trace_generator, (safe_div((safe_mult(10261, global_values.trace_length)), 65536))). + let pow1082 = pow32 + * pow1081; // pow(trace_generator, (safe_div((safe_mult(5131, global_values.trace_length)), 32768))). + let pow1083 = pow32 + * pow1082; // pow(trace_generator, (safe_div((safe_mult(10263, global_values.trace_length)), 65536))). + let pow1084 = pow79 + * pow1083; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 1024))). + let pow1085 = pow100 + * pow1084; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 512))). + let pow1086 = pow100 + * pow1085; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 1024))). + let pow1087 = pow100 + * pow1086; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 256))). + let pow1088 = pow100 + * pow1087; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 1024))). + let pow1089 = pow100 + * pow1088; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 512))). + let pow1090 = pow100 + * pow1089; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 1024))). + let pow1091 = pow100 + * pow1090; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 128))). + let pow1092 = pow100 + * pow1091; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 1024))). + let pow1093 = pow100 + * pow1092; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 512))). + let pow1094 = pow100 + * pow1093; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 1024))). + let pow1095 = pow100 + * pow1094; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 256))). + let pow1096 = pow100 + * pow1095; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 1024))). + let pow1097 = pow100 + * pow1096; // pow(trace_generator, (safe_div((safe_mult(87, global_values.trace_length)), 512))). + let pow1098 = pow100 + * pow1097; // pow(trace_generator, (safe_div((safe_mult(175, global_values.trace_length)), 1024))). + let pow1099 = pow100 + * pow1098; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 64))). + let pow1100 = pow32 + * pow1099; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 65536))). + let pow1101 = pow32 + * pow1100; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 32768))). + let pow1102 = pow32 + * pow1101; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 65536))). + let pow1103 = pow32 + * pow1102; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 16384))). + let pow1104 = pow32 + * pow1103; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 65536))). + let pow1105 = pow32 + * pow1104; // pow(trace_generator, (safe_div((safe_mult(5635, global_values.trace_length)), 32768))). + let pow1106 = pow32 + * pow1105; // pow(trace_generator, (safe_div((safe_mult(11271, global_values.trace_length)), 65536))). + let pow1107 = pow32 + * pow1106; // pow(trace_generator, (safe_div((safe_mult(1409, global_values.trace_length)), 8192))). + let pow1108 = pow32 + * pow1107; // pow(trace_generator, (safe_div((safe_mult(11273, global_values.trace_length)), 65536))). + let pow1109 = pow32 + * pow1108; // pow(trace_generator, (safe_div((safe_mult(5637, global_values.trace_length)), 32768))). + let pow1110 = pow32 + * pow1109; // pow(trace_generator, (safe_div((safe_mult(11275, global_values.trace_length)), 65536))). + let pow1111 = pow32 + * pow1110; // pow(trace_generator, (safe_div((safe_mult(2819, global_values.trace_length)), 16384))). + let pow1112 = pow32 + * pow1111; // pow(trace_generator, (safe_div((safe_mult(11277, global_values.trace_length)), 65536))). + let pow1113 = pow32 + * pow1112; // pow(trace_generator, (safe_div((safe_mult(5639, global_values.trace_length)), 32768))). + let pow1114 = pow32 + * pow1113; // pow(trace_generator, (safe_div((safe_mult(11279, global_values.trace_length)), 65536))). + let pow1115 = pow32 + * pow1114; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 4096))). + let pow1116 = pow32 + * pow1115; // pow(trace_generator, (safe_div((safe_mult(11281, global_values.trace_length)), 65536))). + let pow1117 = pow32 + * pow1116; // pow(trace_generator, (safe_div((safe_mult(5641, global_values.trace_length)), 32768))). + let pow1118 = pow32 + * pow1117; // pow(trace_generator, (safe_div((safe_mult(11283, global_values.trace_length)), 65536))). + let pow1119 = pow32 + * pow1118; // pow(trace_generator, (safe_div((safe_mult(2821, global_values.trace_length)), 16384))). + let pow1120 = pow32 + * pow1119; // pow(trace_generator, (safe_div((safe_mult(11285, global_values.trace_length)), 65536))). + let pow1121 = pow32 + * pow1120; // pow(trace_generator, (safe_div((safe_mult(5643, global_values.trace_length)), 32768))). + let pow1122 = pow32 + * pow1121; // pow(trace_generator, (safe_div((safe_mult(11287, global_values.trace_length)), 65536))). + let pow1123 = pow79 + * pow1122; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 1024))). + let pow1124 = pow100 + * pow1123; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 512))). + let pow1125 = pow100 + * pow1124; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 1024))). + let pow1126 = pow100 + * pow1125; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 256))). + let pow1127 = pow100 + * pow1126; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 1024))). + let pow1128 = pow100 + * pow1127; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 512))). + let pow1129 = pow100 + * pow1128; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 1024))). + let pow1130 = pow580 + * pow1129; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). + let pow1131 = pow32 + * pow1130; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 65536))). + let pow1132 = pow32 + * pow1131; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 32768))). + let pow1133 = pow32 + * pow1132; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 65536))). + let pow1134 = pow32 + * pow1133; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 16384))). + let pow1135 = pow32 + * pow1134; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 65536))). + let pow1136 = pow32 + * pow1135; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 32768))). + let pow1137 = pow32 + * pow1136; // pow(trace_generator, (safe_div((safe_mult(12295, global_values.trace_length)), 65536))). + let pow1138 = pow32 + * pow1137; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 8192))). + let pow1139 = pow32 + * pow1138; // pow(trace_generator, (safe_div((safe_mult(12297, global_values.trace_length)), 65536))). + let pow1140 = pow32 + * pow1139; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 32768))). + let pow1141 = pow32 + * pow1140; // pow(trace_generator, (safe_div((safe_mult(12299, global_values.trace_length)), 65536))). + let pow1142 = pow32 + * pow1141; // pow(trace_generator, (safe_div((safe_mult(3075, global_values.trace_length)), 16384))). + let pow1143 = pow32 + * pow1142; // pow(trace_generator, (safe_div((safe_mult(12301, global_values.trace_length)), 65536))). + let pow1144 = pow32 + * pow1143; // pow(trace_generator, (safe_div((safe_mult(6151, global_values.trace_length)), 32768))). + let pow1145 = pow32 + * pow1144; // pow(trace_generator, (safe_div((safe_mult(12303, global_values.trace_length)), 65536))). + let pow1146 = pow32 + * pow1145; // pow(trace_generator, (safe_div((safe_mult(769, global_values.trace_length)), 4096))). + let pow1147 = pow32 + * pow1146; // pow(trace_generator, (safe_div((safe_mult(12305, global_values.trace_length)), 65536))). + let pow1148 = pow32 + * pow1147; // pow(trace_generator, (safe_div((safe_mult(6153, global_values.trace_length)), 32768))). + let pow1149 = pow32 + * pow1148; // pow(trace_generator, (safe_div((safe_mult(12307, global_values.trace_length)), 65536))). + let pow1150 = pow32 + * pow1149; // pow(trace_generator, (safe_div((safe_mult(3077, global_values.trace_length)), 16384))). + let pow1151 = pow32 + * pow1150; // pow(trace_generator, (safe_div((safe_mult(12309, global_values.trace_length)), 65536))). + let pow1152 = pow32 + * pow1151; // pow(trace_generator, (safe_div((safe_mult(6155, global_values.trace_length)), 32768))). + let pow1153 = pow32 + * pow1152; // pow(trace_generator, (safe_div((safe_mult(12311, global_values.trace_length)), 65536))). + let pow1154 = pow79 + * pow1153; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 1024))). + let pow1155 = pow100 + * pow1154; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 512))). + let pow1156 = pow100 + * pow1155; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 1024))). + let pow1157 = pow100 + * pow1156; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 256))). + let pow1158 = pow100 + * pow1157; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 1024))). + let pow1159 = pow100 + * pow1158; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 512))). + let pow1160 = pow100 + * pow1159; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 1024))). + let pow1161 = pow100 + * pow1160; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 128))). + let pow1162 = pow100 + * pow1161; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 1024))). + let pow1163 = pow100 + * pow1162; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 512))). + let pow1164 = pow100 + * pow1163; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 1024))). + let pow1165 = pow100 + * pow1164; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 256))). + let pow1166 = pow100 + * pow1165; // pow(trace_generator, (safe_div((safe_mult(205, global_values.trace_length)), 1024))). + let pow1167 = pow100 + * pow1166; // pow(trace_generator, (safe_div((safe_mult(103, global_values.trace_length)), 512))). + let pow1168 = pow100 + * pow1167; // pow(trace_generator, (safe_div((safe_mult(207, global_values.trace_length)), 1024))). + let pow1169 = pow100 + * pow1168; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 64))). + let pow1170 = pow32 + * pow1169; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 65536))). + let pow1171 = pow32 + * pow1170; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 32768))). + let pow1172 = pow32 + * pow1171; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 65536))). + let pow1173 = pow32 + * pow1172; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 16384))). + let pow1174 = pow32 + * pow1173; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 65536))). + let pow1175 = pow32 + * pow1174; // pow(trace_generator, (safe_div((safe_mult(6659, global_values.trace_length)), 32768))). + let pow1176 = pow32 + * pow1175; // pow(trace_generator, (safe_div((safe_mult(13319, global_values.trace_length)), 65536))). + let pow1177 = pow32 + * pow1176; // pow(trace_generator, (safe_div((safe_mult(1665, global_values.trace_length)), 8192))). + let pow1178 = pow32 + * pow1177; // pow(trace_generator, (safe_div((safe_mult(13321, global_values.trace_length)), 65536))). + let pow1179 = pow32 + * pow1178; // pow(trace_generator, (safe_div((safe_mult(6661, global_values.trace_length)), 32768))). + let pow1180 = pow32 + * pow1179; // pow(trace_generator, (safe_div((safe_mult(13323, global_values.trace_length)), 65536))). + let pow1181 = pow32 + * pow1180; // pow(trace_generator, (safe_div((safe_mult(3331, global_values.trace_length)), 16384))). + let pow1182 = pow32 + * pow1181; // pow(trace_generator, (safe_div((safe_mult(13325, global_values.trace_length)), 65536))). + let pow1183 = pow32 + * pow1182; // pow(trace_generator, (safe_div((safe_mult(6663, global_values.trace_length)), 32768))). + let pow1184 = pow32 + * pow1183; // pow(trace_generator, (safe_div((safe_mult(13327, global_values.trace_length)), 65536))). + let pow1185 = pow32 + * pow1184; // pow(trace_generator, (safe_div((safe_mult(833, global_values.trace_length)), 4096))). + let pow1186 = pow32 + * pow1185; // pow(trace_generator, (safe_div((safe_mult(13329, global_values.trace_length)), 65536))). + let pow1187 = pow32 + * pow1186; // pow(trace_generator, (safe_div((safe_mult(6665, global_values.trace_length)), 32768))). + let pow1188 = pow32 + * pow1187; // pow(trace_generator, (safe_div((safe_mult(13331, global_values.trace_length)), 65536))). + let pow1189 = pow32 + * pow1188; // pow(trace_generator, (safe_div((safe_mult(3333, global_values.trace_length)), 16384))). + let pow1190 = pow32 + * pow1189; // pow(trace_generator, (safe_div((safe_mult(13333, global_values.trace_length)), 65536))). + let pow1191 = pow32 + * pow1190; // pow(trace_generator, (safe_div((safe_mult(6667, global_values.trace_length)), 32768))). + let pow1192 = pow32 + * pow1191; // pow(trace_generator, (safe_div((safe_mult(13335, global_values.trace_length)), 65536))). + let pow1193 = pow79 + * pow1192; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 1024))). + let pow1194 = pow100 + * pow1193; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 512))). + let pow1195 = pow100 + * pow1194; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 1024))). + let pow1196 = pow100 + * pow1195; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 256))). + let pow1197 = pow100 + * pow1196; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 1024))). + let pow1198 = pow100 + * pow1197; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 512))). + let pow1199 = pow100 + * pow1198; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 1024))). + let pow1200 = pow580 + * pow1199; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). + let pow1201 = pow32 + * pow1200; // pow(trace_generator, (safe_div((safe_mult(14337, global_values.trace_length)), 65536))). + let pow1202 = pow32 + * pow1201; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 32768))). + let pow1203 = pow32 + * pow1202; // pow(trace_generator, (safe_div((safe_mult(14339, global_values.trace_length)), 65536))). + let pow1204 = pow32 + * pow1203; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 16384))). + let pow1205 = pow32 + * pow1204; // pow(trace_generator, (safe_div((safe_mult(14341, global_values.trace_length)), 65536))). + let pow1206 = pow32 + * pow1205; // pow(trace_generator, (safe_div((safe_mult(7171, global_values.trace_length)), 32768))). + let pow1207 = pow32 + * pow1206; // pow(trace_generator, (safe_div((safe_mult(14343, global_values.trace_length)), 65536))). + let pow1208 = pow32 + * pow1207; // pow(trace_generator, (safe_div((safe_mult(1793, global_values.trace_length)), 8192))). + let pow1209 = pow32 + * pow1208; // pow(trace_generator, (safe_div((safe_mult(14345, global_values.trace_length)), 65536))). + let pow1210 = pow32 + * pow1209; // pow(trace_generator, (safe_div((safe_mult(7173, global_values.trace_length)), 32768))). + let pow1211 = pow32 + * pow1210; // pow(trace_generator, (safe_div((safe_mult(14347, global_values.trace_length)), 65536))). + let pow1212 = pow32 + * pow1211; // pow(trace_generator, (safe_div((safe_mult(3587, global_values.trace_length)), 16384))). + let pow1213 = pow32 + * pow1212; // pow(trace_generator, (safe_div((safe_mult(14349, global_values.trace_length)), 65536))). + let pow1214 = pow32 + * pow1213; // pow(trace_generator, (safe_div((safe_mult(7175, global_values.trace_length)), 32768))). + let pow1215 = pow32 + * pow1214; // pow(trace_generator, (safe_div((safe_mult(14351, global_values.trace_length)), 65536))). + let pow1216 = pow32 + * pow1215; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 4096))). + let pow1217 = pow32 + * pow1216; // pow(trace_generator, (safe_div((safe_mult(14353, global_values.trace_length)), 65536))). + let pow1218 = pow32 + * pow1217; // pow(trace_generator, (safe_div((safe_mult(7177, global_values.trace_length)), 32768))). + let pow1219 = pow32 + * pow1218; // pow(trace_generator, (safe_div((safe_mult(14355, global_values.trace_length)), 65536))). + let pow1220 = pow32 + * pow1219; // pow(trace_generator, (safe_div((safe_mult(3589, global_values.trace_length)), 16384))). + let pow1221 = pow32 + * pow1220; // pow(trace_generator, (safe_div((safe_mult(14357, global_values.trace_length)), 65536))). + let pow1222 = pow32 + * pow1221; // pow(trace_generator, (safe_div((safe_mult(7179, global_values.trace_length)), 32768))). + let pow1223 = pow32 + * pow1222; // pow(trace_generator, (safe_div((safe_mult(14359, global_values.trace_length)), 65536))). + let pow1224 = pow79 + * pow1223; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 1024))). + let pow1225 = pow100 + * pow1224; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 512))). + let pow1226 = pow100 + * pow1225; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 1024))). + let pow1227 = pow100 + * pow1226; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 256))). + let pow1228 = pow100 + * pow1227; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 1024))). + let pow1229 = pow100 + * pow1228; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 512))). + let pow1230 = pow100 + * pow1229; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 1024))). + let pow1231 = pow100 + * pow1230; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 128))). + let pow1232 = pow100 + * pow1231; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 1024))). + let pow1233 = pow100 + * pow1232; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 512))). + let pow1234 = pow100 + * pow1233; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 1024))). + let pow1235 = pow100 + * pow1234; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 256))). + let pow1236 = pow100 + * pow1235; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 1024))). + let pow1237 = pow100 + * pow1236; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 512))). + let pow1238 = pow100 + * pow1237; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 1024))). + let pow1239 = pow100 + * pow1238; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). + let pow1240 = pow32 + * pow1239; // pow(trace_generator, (safe_div((safe_mult(15361, global_values.trace_length)), 65536))). + let pow1241 = pow32 + * pow1240; // pow(trace_generator, (safe_div((safe_mult(7681, global_values.trace_length)), 32768))). + let pow1242 = pow32 + * pow1241; // pow(trace_generator, (safe_div((safe_mult(15363, global_values.trace_length)), 65536))). + let pow1243 = pow32 + * pow1242; // pow(trace_generator, (safe_div((safe_mult(3841, global_values.trace_length)), 16384))). + let pow1244 = pow32 + * pow1243; // pow(trace_generator, (safe_div((safe_mult(15365, global_values.trace_length)), 65536))). + let pow1245 = pow32 + * pow1244; // pow(trace_generator, (safe_div((safe_mult(7683, global_values.trace_length)), 32768))). + let pow1246 = pow32 + * pow1245; // pow(trace_generator, (safe_div((safe_mult(15367, global_values.trace_length)), 65536))). + let pow1247 = pow32 + * pow1246; // pow(trace_generator, (safe_div((safe_mult(1921, global_values.trace_length)), 8192))). + let pow1248 = pow32 + * pow1247; // pow(trace_generator, (safe_div((safe_mult(15369, global_values.trace_length)), 65536))). + let pow1249 = pow32 + * pow1248; // pow(trace_generator, (safe_div((safe_mult(7685, global_values.trace_length)), 32768))). + let pow1250 = pow32 + * pow1249; // pow(trace_generator, (safe_div((safe_mult(15371, global_values.trace_length)), 65536))). + let pow1251 = pow32 + * pow1250; // pow(trace_generator, (safe_div((safe_mult(3843, global_values.trace_length)), 16384))). + let pow1252 = pow32 + * pow1251; // pow(trace_generator, (safe_div((safe_mult(15373, global_values.trace_length)), 65536))). + let pow1253 = pow32 + * pow1252; // pow(trace_generator, (safe_div((safe_mult(7687, global_values.trace_length)), 32768))). + let pow1254 = pow32 + * pow1253; // pow(trace_generator, (safe_div((safe_mult(15375, global_values.trace_length)), 65536))). + let pow1255 = pow32 + * pow1254; // pow(trace_generator, (safe_div((safe_mult(961, global_values.trace_length)), 4096))). + let pow1256 = pow32 + * pow1255; // pow(trace_generator, (safe_div((safe_mult(15377, global_values.trace_length)), 65536))). + let pow1257 = pow32 + * pow1256; // pow(trace_generator, (safe_div((safe_mult(7689, global_values.trace_length)), 32768))). + let pow1258 = pow32 + * pow1257; // pow(trace_generator, (safe_div((safe_mult(15379, global_values.trace_length)), 65536))). + let pow1259 = pow32 + * pow1258; // pow(trace_generator, (safe_div((safe_mult(3845, global_values.trace_length)), 16384))). + let pow1260 = pow32 + * pow1259; // pow(trace_generator, (safe_div((safe_mult(15381, global_values.trace_length)), 65536))). + let pow1261 = pow32 + * pow1260; // pow(trace_generator, (safe_div((safe_mult(7691, global_values.trace_length)), 32768))). + let pow1262 = pow32 + * pow1261; // pow(trace_generator, (safe_div((safe_mult(15383, global_values.trace_length)), 65536))). + let pow1263 = pow79 + * pow1262; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 1024))). + let pow1264 = pow100 + * pow1263; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 512))). + let pow1265 = pow100 + * pow1264; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 1024))). + let pow1266 = pow100 + * pow1265; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 256))). + let pow1267 = pow100 + * pow1266; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 1024))). + let pow1268 = pow100 + * pow1267; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 512))). + let pow1269 = pow100 + * pow1268; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 1024))). + let pow1270 = pow580 + * pow1269; // pow(trace_generator, (safe_div(global_values.trace_length, 4))). + let pow1271 = pow793 + * pow1270; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 64))). + let pow1272 = pow793 + * pow1271; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 32))). + let pow1273 = pow793 + * pow1272; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 64))). + let pow1274 = pow32 + * pow1270; // pow(trace_generator, (safe_div((safe_mult(16385, global_values.trace_length)), 65536))). + let pow1275 = pow32 + * pow1271; // pow(trace_generator, (safe_div((safe_mult(17409, global_values.trace_length)), 65536))). + let pow1276 = pow32 + * pow1272; // pow(trace_generator, (safe_div((safe_mult(18433, global_values.trace_length)), 65536))). + let pow1277 = pow32 + * pow1273; // pow(trace_generator, (safe_div((safe_mult(19457, global_values.trace_length)), 65536))). + let pow1278 = pow32 + * pow1274; // pow(trace_generator, (safe_div((safe_mult(8193, global_values.trace_length)), 32768))). + let pow1279 = pow32 + * pow1275; // pow(trace_generator, (safe_div((safe_mult(8705, global_values.trace_length)), 32768))). + let pow1280 = pow32 + * pow1276; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 32768))). + let pow1281 = pow32 + * pow1277; // pow(trace_generator, (safe_div((safe_mult(9729, global_values.trace_length)), 32768))). + let pow1282 = pow32 + * pow1278; // pow(trace_generator, (safe_div((safe_mult(16387, global_values.trace_length)), 65536))). + let pow1283 = pow32 + * pow1279; // pow(trace_generator, (safe_div((safe_mult(17411, global_values.trace_length)), 65536))). + let pow1284 = pow32 + * pow1280; // pow(trace_generator, (safe_div((safe_mult(18435, global_values.trace_length)), 65536))). + let pow1285 = pow32 + * pow1281; // pow(trace_generator, (safe_div((safe_mult(19459, global_values.trace_length)), 65536))). + let pow1286 = pow32 + * pow1282; // pow(trace_generator, (safe_div((safe_mult(4097, global_values.trace_length)), 16384))). + let pow1287 = pow32 + * pow1283; // pow(trace_generator, (safe_div((safe_mult(4353, global_values.trace_length)), 16384))). + let pow1288 = pow32 + * pow1284; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 16384))). + let pow1289 = pow32 + * pow1285; // pow(trace_generator, (safe_div((safe_mult(4865, global_values.trace_length)), 16384))). + let pow1290 = pow32 + * pow1286; // pow(trace_generator, (safe_div((safe_mult(16389, global_values.trace_length)), 65536))). + let pow1291 = pow32 + * pow1287; // pow(trace_generator, (safe_div((safe_mult(17413, global_values.trace_length)), 65536))). + let pow1292 = pow32 + * pow1288; // pow(trace_generator, (safe_div((safe_mult(18437, global_values.trace_length)), 65536))). + let pow1293 = pow32 + * pow1289; // pow(trace_generator, (safe_div((safe_mult(19461, global_values.trace_length)), 65536))). + let pow1294 = pow32 + * pow1290; // pow(trace_generator, (safe_div((safe_mult(8195, global_values.trace_length)), 32768))). + let pow1295 = pow32 + * pow1291; // pow(trace_generator, (safe_div((safe_mult(8707, global_values.trace_length)), 32768))). + let pow1296 = pow32 + * pow1292; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 32768))). + let pow1297 = pow32 + * pow1293; // pow(trace_generator, (safe_div((safe_mult(9731, global_values.trace_length)), 32768))). + let pow1298 = pow32 + * pow1294; // pow(trace_generator, (safe_div((safe_mult(16391, global_values.trace_length)), 65536))). + let pow1299 = pow32 + * pow1298; // pow(trace_generator, (safe_div((safe_mult(2049, global_values.trace_length)), 8192))). + let pow1300 = pow32 + * pow1295; // pow(trace_generator, (safe_div((safe_mult(17415, global_values.trace_length)), 65536))). + let pow1301 = pow32 + * pow1300; // pow(trace_generator, (safe_div((safe_mult(2177, global_values.trace_length)), 8192))). + let pow1302 = pow32 + * pow1296; // pow(trace_generator, (safe_div((safe_mult(18439, global_values.trace_length)), 65536))). + let pow1303 = pow32 + * pow1302; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 8192))). + let pow1304 = pow32 + * pow1297; // pow(trace_generator, (safe_div((safe_mult(19463, global_values.trace_length)), 65536))). + let pow1305 = pow32 + * pow1304; // pow(trace_generator, (safe_div((safe_mult(2433, global_values.trace_length)), 8192))). + let pow1306 = pow32 + * pow1299; // pow(trace_generator, (safe_div((safe_mult(16393, global_values.trace_length)), 65536))). + let pow1307 = pow32 + * pow1301; // pow(trace_generator, (safe_div((safe_mult(17417, global_values.trace_length)), 65536))). + let pow1308 = pow32 + * pow1303; // pow(trace_generator, (safe_div((safe_mult(18441, global_values.trace_length)), 65536))). + let pow1309 = pow32 + * pow1305; // pow(trace_generator, (safe_div((safe_mult(19465, global_values.trace_length)), 65536))). + let pow1310 = pow32 + * pow1306; // pow(trace_generator, (safe_div((safe_mult(8197, global_values.trace_length)), 32768))). + let pow1311 = pow32 + * pow1307; // pow(trace_generator, (safe_div((safe_mult(8709, global_values.trace_length)), 32768))). + let pow1312 = pow32 + * pow1308; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 32768))). + let pow1313 = pow32 + * pow1309; // pow(trace_generator, (safe_div((safe_mult(9733, global_values.trace_length)), 32768))). + let pow1314 = pow32 + * pow1310; // pow(trace_generator, (safe_div((safe_mult(16395, global_values.trace_length)), 65536))). + let pow1315 = pow32 + * pow1311; // pow(trace_generator, (safe_div((safe_mult(17419, global_values.trace_length)), 65536))). + let pow1316 = pow32 + * pow1312; // pow(trace_generator, (safe_div((safe_mult(18443, global_values.trace_length)), 65536))). + let pow1317 = pow32 + * pow1313; // pow(trace_generator, (safe_div((safe_mult(19467, global_values.trace_length)), 65536))). + let pow1318 = pow32 + * pow1314; // pow(trace_generator, (safe_div((safe_mult(4099, global_values.trace_length)), 16384))). + let pow1319 = pow32 + * pow1315; // pow(trace_generator, (safe_div((safe_mult(4355, global_values.trace_length)), 16384))). + let pow1320 = pow32 + * pow1316; // pow(trace_generator, (safe_div((safe_mult(4611, global_values.trace_length)), 16384))). + let pow1321 = pow32 + * pow1317; // pow(trace_generator, (safe_div((safe_mult(4867, global_values.trace_length)), 16384))). + let pow1322 = pow32 + * pow1318; // pow(trace_generator, (safe_div((safe_mult(16397, global_values.trace_length)), 65536))). + let pow1323 = pow32 + * pow1319; // pow(trace_generator, (safe_div((safe_mult(17421, global_values.trace_length)), 65536))). + let pow1324 = pow32 + * pow1320; // pow(trace_generator, (safe_div((safe_mult(18445, global_values.trace_length)), 65536))). + let pow1325 = pow32 + * pow1321; // pow(trace_generator, (safe_div((safe_mult(19469, global_values.trace_length)), 65536))). + let pow1326 = pow32 + * pow1322; // pow(trace_generator, (safe_div((safe_mult(8199, global_values.trace_length)), 32768))). + let pow1327 = pow32 + * pow1323; // pow(trace_generator, (safe_div((safe_mult(8711, global_values.trace_length)), 32768))). + let pow1328 = pow32 + * pow1324; // pow(trace_generator, (safe_div((safe_mult(9223, global_values.trace_length)), 32768))). + let pow1329 = pow32 + * pow1325; // pow(trace_generator, (safe_div((safe_mult(9735, global_values.trace_length)), 32768))). + let pow1330 = pow32 + * pow1326; // pow(trace_generator, (safe_div((safe_mult(16399, global_values.trace_length)), 65536))). + let pow1331 = pow32 + * pow1327; // pow(trace_generator, (safe_div((safe_mult(17423, global_values.trace_length)), 65536))). + let pow1332 = pow32 + * pow1328; // pow(trace_generator, (safe_div((safe_mult(18447, global_values.trace_length)), 65536))). + let pow1333 = pow32 + * pow1329; // pow(trace_generator, (safe_div((safe_mult(19471, global_values.trace_length)), 65536))). + let pow1334 = pow32 + * pow1330; // pow(trace_generator, (safe_div((safe_mult(1025, global_values.trace_length)), 4096))). + let pow1335 = pow32 + * pow1331; // pow(trace_generator, (safe_div((safe_mult(1089, global_values.trace_length)), 4096))). + let pow1336 = pow32 + * pow1332; // pow(trace_generator, (safe_div((safe_mult(1153, global_values.trace_length)), 4096))). + let pow1337 = pow32 + * pow1333; // pow(trace_generator, (safe_div((safe_mult(1217, global_values.trace_length)), 4096))). + let pow1338 = pow32 + * pow1334; // pow(trace_generator, (safe_div((safe_mult(16401, global_values.trace_length)), 65536))). + let pow1339 = pow32 + * pow1335; // pow(trace_generator, (safe_div((safe_mult(17425, global_values.trace_length)), 65536))). + let pow1340 = pow32 + * pow1336; // pow(trace_generator, (safe_div((safe_mult(18449, global_values.trace_length)), 65536))). + let pow1341 = pow32 + * pow1337; // pow(trace_generator, (safe_div((safe_mult(19473, global_values.trace_length)), 65536))). + let pow1342 = pow32 + * pow1338; // pow(trace_generator, (safe_div((safe_mult(8201, global_values.trace_length)), 32768))). + let pow1343 = pow32 + * pow1339; // pow(trace_generator, (safe_div((safe_mult(8713, global_values.trace_length)), 32768))). + let pow1344 = pow32 + * pow1340; // pow(trace_generator, (safe_div((safe_mult(9225, global_values.trace_length)), 32768))). + let pow1345 = pow32 + * pow1341; // pow(trace_generator, (safe_div((safe_mult(9737, global_values.trace_length)), 32768))). + let pow1346 = pow32 + * pow1342; // pow(trace_generator, (safe_div((safe_mult(16403, global_values.trace_length)), 65536))). + let pow1347 = pow32 + * pow1343; // pow(trace_generator, (safe_div((safe_mult(17427, global_values.trace_length)), 65536))). + let pow1348 = pow32 + * pow1344; // pow(trace_generator, (safe_div((safe_mult(18451, global_values.trace_length)), 65536))). + let pow1349 = pow32 + * pow1345; // pow(trace_generator, (safe_div((safe_mult(19475, global_values.trace_length)), 65536))). + let pow1350 = pow32 + * pow1346; // pow(trace_generator, (safe_div((safe_mult(4101, global_values.trace_length)), 16384))). + let pow1351 = pow32 + * pow1347; // pow(trace_generator, (safe_div((safe_mult(4357, global_values.trace_length)), 16384))). + let pow1352 = pow32 + * pow1348; // pow(trace_generator, (safe_div((safe_mult(4613, global_values.trace_length)), 16384))). + let pow1353 = pow32 + * pow1349; // pow(trace_generator, (safe_div((safe_mult(4869, global_values.trace_length)), 16384))). + let pow1354 = pow32 + * pow1350; // pow(trace_generator, (safe_div((safe_mult(16405, global_values.trace_length)), 65536))). + let pow1355 = pow32 + * pow1351; // pow(trace_generator, (safe_div((safe_mult(17429, global_values.trace_length)), 65536))). + let pow1356 = pow32 + * pow1352; // pow(trace_generator, (safe_div((safe_mult(18453, global_values.trace_length)), 65536))). + let pow1357 = pow32 + * pow1353; // pow(trace_generator, (safe_div((safe_mult(19477, global_values.trace_length)), 65536))). + let pow1358 = pow32 + * pow1354; // pow(trace_generator, (safe_div((safe_mult(8203, global_values.trace_length)), 32768))). + let pow1359 = pow32 + * pow1355; // pow(trace_generator, (safe_div((safe_mult(8715, global_values.trace_length)), 32768))). + let pow1360 = pow32 + * pow1356; // pow(trace_generator, (safe_div((safe_mult(9227, global_values.trace_length)), 32768))). + let pow1361 = pow32 + * pow1357; // pow(trace_generator, (safe_div((safe_mult(9739, global_values.trace_length)), 32768))). + let pow1362 = pow32 + * pow1358; // pow(trace_generator, (safe_div((safe_mult(16407, global_values.trace_length)), 65536))). + let pow1363 = pow32 + * pow1359; // pow(trace_generator, (safe_div((safe_mult(17431, global_values.trace_length)), 65536))). + let pow1364 = pow32 + * pow1360; // pow(trace_generator, (safe_div((safe_mult(18455, global_values.trace_length)), 65536))). + let pow1365 = pow32 + * pow1361; // pow(trace_generator, (safe_div((safe_mult(19479, global_values.trace_length)), 65536))). + let pow1366 = pow793 + * pow1273; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 16))). + let pow1367 = pow32 + * pow1366; // pow(trace_generator, (safe_div((safe_mult(20481, global_values.trace_length)), 65536))). + let pow1368 = pow32 + * pow1367; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 32768))). + let pow1369 = pow32 + * pow1368; // pow(trace_generator, (safe_div((safe_mult(20483, global_values.trace_length)), 65536))). + let pow1370 = pow32 + * pow1369; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 16384))). + let pow1371 = pow32 + * pow1370; // pow(trace_generator, (safe_div((safe_mult(20485, global_values.trace_length)), 65536))). + let pow1372 = pow32 + * pow1371; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 32768))). + let pow1373 = pow32 + * pow1372; // pow(trace_generator, (safe_div((safe_mult(20487, global_values.trace_length)), 65536))). + let pow1374 = pow32 + * pow1373; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 8192))). + let pow1375 = pow32 + * pow1374; // pow(trace_generator, (safe_div((safe_mult(20489, global_values.trace_length)), 65536))). + let pow1376 = pow32 + * pow1375; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 32768))). + let pow1377 = pow32 + * pow1376; // pow(trace_generator, (safe_div((safe_mult(20491, global_values.trace_length)), 65536))). + let pow1378 = pow32 + * pow1377; // pow(trace_generator, (safe_div((safe_mult(5123, global_values.trace_length)), 16384))). + let pow1379 = pow32 + * pow1378; // pow(trace_generator, (safe_div((safe_mult(20493, global_values.trace_length)), 65536))). + let pow1380 = pow32 + * pow1379; // pow(trace_generator, (safe_div((safe_mult(10247, global_values.trace_length)), 32768))). + let pow1381 = pow32 + * pow1380; // pow(trace_generator, (safe_div((safe_mult(20495, global_values.trace_length)), 65536))). + let pow1382 = pow32 + * pow1381; // pow(trace_generator, (safe_div((safe_mult(1281, global_values.trace_length)), 4096))). + let pow1383 = pow32 + * pow1382; // pow(trace_generator, (safe_div((safe_mult(20497, global_values.trace_length)), 65536))). + let pow1384 = pow32 + * pow1383; // pow(trace_generator, (safe_div((safe_mult(10249, global_values.trace_length)), 32768))). + let pow1385 = pow32 + * pow1384; // pow(trace_generator, (safe_div((safe_mult(20499, global_values.trace_length)), 65536))). + let pow1386 = pow32 + * pow1385; // pow(trace_generator, (safe_div((safe_mult(5125, global_values.trace_length)), 16384))). + let pow1387 = pow32 + * pow1386; // pow(trace_generator, (safe_div((safe_mult(20501, global_values.trace_length)), 65536))). + let pow1388 = pow32 + * pow1387; // pow(trace_generator, (safe_div((safe_mult(10251, global_values.trace_length)), 32768))). + let pow1389 = pow32 + * pow1388; // pow(trace_generator, (safe_div((safe_mult(20503, global_values.trace_length)), 65536))). + let pow1390 = pow79 + * pow1389; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 1024))). + let pow1391 = pow100 + * pow1390; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 512))). + let pow1392 = pow100 + * pow1391; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 1024))). + let pow1393 = pow100 + * pow1392; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 256))). + let pow1394 = pow100 + * pow1393; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 1024))). + let pow1395 = pow100 + * pow1394; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 512))). + let pow1396 = pow100 + * pow1395; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 1024))). + let pow1397 = pow100 + * pow1396; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 128))). + let pow1398 = pow100 + * pow1397; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 1024))). + let pow1399 = pow100 + * pow1398; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 512))). + let pow1400 = pow100 + * pow1399; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 1024))). + let pow1401 = pow100 + * pow1400; // pow(trace_generator, (safe_div((safe_mult(83, global_values.trace_length)), 256))). + let pow1402 = pow100 + * pow1401; // pow(trace_generator, (safe_div((safe_mult(333, global_values.trace_length)), 1024))). + let pow1403 = pow100 + * pow1402; // pow(trace_generator, (safe_div((safe_mult(167, global_values.trace_length)), 512))). + let pow1404 = pow100 + * pow1403; // pow(trace_generator, (safe_div((safe_mult(335, global_values.trace_length)), 1024))). + let pow1405 = pow100 + * pow1404; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 64))). + let pow1406 = pow32 + * pow1405; // pow(trace_generator, (safe_div((safe_mult(21505, global_values.trace_length)), 65536))). + let pow1407 = pow32 + * pow1406; // pow(trace_generator, (safe_div((safe_mult(10753, global_values.trace_length)), 32768))). + let pow1408 = pow32 + * pow1407; // pow(trace_generator, (safe_div((safe_mult(21507, global_values.trace_length)), 65536))). + let pow1409 = pow32 + * pow1408; // pow(trace_generator, (safe_div((safe_mult(5377, global_values.trace_length)), 16384))). + let pow1410 = pow32 + * pow1409; // pow(trace_generator, (safe_div((safe_mult(21509, global_values.trace_length)), 65536))). + let pow1411 = pow32 + * pow1410; // pow(trace_generator, (safe_div((safe_mult(10755, global_values.trace_length)), 32768))). + let pow1412 = pow32 + * pow1411; // pow(trace_generator, (safe_div((safe_mult(21511, global_values.trace_length)), 65536))). + let pow1413 = pow32 + * pow1412; // pow(trace_generator, (safe_div((safe_mult(2689, global_values.trace_length)), 8192))). + let pow1414 = pow32 + * pow1413; // pow(trace_generator, (safe_div((safe_mult(21513, global_values.trace_length)), 65536))). + let pow1415 = pow32 + * pow1414; // pow(trace_generator, (safe_div((safe_mult(10757, global_values.trace_length)), 32768))). + let pow1416 = pow32 + * pow1415; // pow(trace_generator, (safe_div((safe_mult(21515, global_values.trace_length)), 65536))). + let pow1417 = pow32 + * pow1416; // pow(trace_generator, (safe_div((safe_mult(5379, global_values.trace_length)), 16384))). + let pow1418 = pow32 + * pow1417; // pow(trace_generator, (safe_div((safe_mult(21517, global_values.trace_length)), 65536))). + let pow1419 = pow32 + * pow1418; // pow(trace_generator, (safe_div((safe_mult(10759, global_values.trace_length)), 32768))). + let pow1420 = pow32 + * pow1419; // pow(trace_generator, (safe_div((safe_mult(21519, global_values.trace_length)), 65536))). + let pow1421 = pow32 + * pow1420; // pow(trace_generator, (safe_div((safe_mult(1345, global_values.trace_length)), 4096))). + let pow1422 = pow32 + * pow1421; // pow(trace_generator, (safe_div((safe_mult(21521, global_values.trace_length)), 65536))). + let pow1423 = pow32 + * pow1422; // pow(trace_generator, (safe_div((safe_mult(10761, global_values.trace_length)), 32768))). + let pow1424 = pow32 + * pow1423; // pow(trace_generator, (safe_div((safe_mult(21523, global_values.trace_length)), 65536))). + let pow1425 = pow32 + * pow1424; // pow(trace_generator, (safe_div((safe_mult(5381, global_values.trace_length)), 16384))). + let pow1426 = pow32 + * pow1425; // pow(trace_generator, (safe_div((safe_mult(21525, global_values.trace_length)), 65536))). + let pow1427 = pow32 + * pow1426; // pow(trace_generator, (safe_div((safe_mult(10763, global_values.trace_length)), 32768))). + let pow1428 = pow32 + * pow1427; // pow(trace_generator, (safe_div((safe_mult(21527, global_values.trace_length)), 65536))). + let pow1429 = pow79 + * pow1428; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 1024))). + let pow1430 = pow100 + * pow1429; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 512))). + let pow1431 = pow100 + * pow1430; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 1024))). + let pow1432 = pow100 + * pow1431; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 256))). + let pow1433 = pow100 + * pow1432; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 1024))). + let pow1434 = pow100 + * pow1433; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 512))). + let pow1435 = pow100 + * pow1434; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 1024))). + let pow1436 = pow580 + * pow1435; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 32))). + let pow1437 = pow32 + * pow1436; // pow(trace_generator, (safe_div((safe_mult(22529, global_values.trace_length)), 65536))). + let pow1438 = pow32 + * pow1437; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 32768))). + let pow1439 = pow32 + * pow1438; // pow(trace_generator, (safe_div((safe_mult(22531, global_values.trace_length)), 65536))). + let pow1440 = pow32 + * pow1439; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 16384))). + let pow1441 = pow32 + * pow1440; // pow(trace_generator, (safe_div((safe_mult(22533, global_values.trace_length)), 65536))). + let pow1442 = pow32 + * pow1441; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 32768))). + let pow1443 = pow32 + * pow1442; // pow(trace_generator, (safe_div((safe_mult(22535, global_values.trace_length)), 65536))). + let pow1444 = pow32 + * pow1443; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 8192))). + let pow1445 = pow32 + * pow1444; // pow(trace_generator, (safe_div((safe_mult(22537, global_values.trace_length)), 65536))). + let pow1446 = pow32 + * pow1445; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 32768))). + let pow1447 = pow32 + * pow1446; // pow(trace_generator, (safe_div((safe_mult(22539, global_values.trace_length)), 65536))). + let pow1448 = pow32 + * pow1447; // pow(trace_generator, (safe_div((safe_mult(5635, global_values.trace_length)), 16384))). + let pow1449 = pow32 + * pow1448; // pow(trace_generator, (safe_div((safe_mult(22541, global_values.trace_length)), 65536))). + let pow1450 = pow32 + * pow1449; // pow(trace_generator, (safe_div((safe_mult(11271, global_values.trace_length)), 32768))). + let pow1451 = pow32 + * pow1450; // pow(trace_generator, (safe_div((safe_mult(22543, global_values.trace_length)), 65536))). + let pow1452 = pow32 + * pow1451; // pow(trace_generator, (safe_div((safe_mult(1409, global_values.trace_length)), 4096))). + let pow1453 = pow32 + * pow1452; // pow(trace_generator, (safe_div((safe_mult(22545, global_values.trace_length)), 65536))). + let pow1454 = pow32 + * pow1453; // pow(trace_generator, (safe_div((safe_mult(11273, global_values.trace_length)), 32768))). + let pow1455 = pow32 + * pow1454; // pow(trace_generator, (safe_div((safe_mult(22547, global_values.trace_length)), 65536))). + let pow1456 = pow32 + * pow1455; // pow(trace_generator, (safe_div((safe_mult(5637, global_values.trace_length)), 16384))). + let pow1457 = pow32 + * pow1456; // pow(trace_generator, (safe_div((safe_mult(22549, global_values.trace_length)), 65536))). + let pow1458 = pow32 + * pow1457; // pow(trace_generator, (safe_div((safe_mult(11275, global_values.trace_length)), 32768))). + let pow1459 = pow32 + * pow1458; // pow(trace_generator, (safe_div((safe_mult(22551, global_values.trace_length)), 65536))). + let pow1460 = pow79 + * pow1459; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 1024))). + let pow1461 = pow100 + * pow1460; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 512))). + let pow1462 = pow100 + * pow1461; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 1024))). + let pow1463 = pow100 + * pow1462; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 256))). + let pow1464 = pow100 + * pow1463; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 1024))). + let pow1465 = pow100 + * pow1464; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 512))). + let pow1466 = pow100 + * pow1465; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 1024))). + let pow1467 = pow100 + * pow1466; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 128))). + let pow1468 = pow100 + * pow1467; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 1024))). + let pow1469 = pow100 + * pow1468; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 512))). + let pow1470 = pow100 + * pow1469; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 1024))). + let pow1471 = pow100 + * pow1470; // pow(trace_generator, (safe_div((safe_mult(91, global_values.trace_length)), 256))). + let pow1472 = pow100 + * pow1471; // pow(trace_generator, (safe_div((safe_mult(365, global_values.trace_length)), 1024))). + let pow1473 = pow100 + * pow1472; // pow(trace_generator, (safe_div((safe_mult(183, global_values.trace_length)), 512))). + let pow1474 = pow100 + * pow1473; // pow(trace_generator, (safe_div((safe_mult(367, global_values.trace_length)), 1024))). + let pow1475 = pow100 + * pow1474; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 64))). + let pow1476 = pow32 + * pow1475; // pow(trace_generator, (safe_div((safe_mult(23553, global_values.trace_length)), 65536))). + let pow1477 = pow32 + * pow1476; // pow(trace_generator, (safe_div((safe_mult(11777, global_values.trace_length)), 32768))). + let pow1478 = pow32 + * pow1477; // pow(trace_generator, (safe_div((safe_mult(23555, global_values.trace_length)), 65536))). + let pow1479 = pow32 + * pow1478; // pow(trace_generator, (safe_div((safe_mult(5889, global_values.trace_length)), 16384))). + let pow1480 = pow32 + * pow1479; // pow(trace_generator, (safe_div((safe_mult(23557, global_values.trace_length)), 65536))). + let pow1481 = pow32 + * pow1480; // pow(trace_generator, (safe_div((safe_mult(11779, global_values.trace_length)), 32768))). + let pow1482 = pow32 + * pow1481; // pow(trace_generator, (safe_div((safe_mult(23559, global_values.trace_length)), 65536))). + let pow1483 = pow32 + * pow1482; // pow(trace_generator, (safe_div((safe_mult(2945, global_values.trace_length)), 8192))). + let pow1484 = pow32 + * pow1483; // pow(trace_generator, (safe_div((safe_mult(23561, global_values.trace_length)), 65536))). + let pow1485 = pow32 + * pow1484; // pow(trace_generator, (safe_div((safe_mult(11781, global_values.trace_length)), 32768))). + let pow1486 = pow32 + * pow1485; // pow(trace_generator, (safe_div((safe_mult(23563, global_values.trace_length)), 65536))). + let pow1487 = pow32 + * pow1486; // pow(trace_generator, (safe_div((safe_mult(5891, global_values.trace_length)), 16384))). + let pow1488 = pow32 + * pow1487; // pow(trace_generator, (safe_div((safe_mult(23565, global_values.trace_length)), 65536))). + let pow1489 = pow32 + * pow1488; // pow(trace_generator, (safe_div((safe_mult(11783, global_values.trace_length)), 32768))). + let pow1490 = pow32 + * pow1489; // pow(trace_generator, (safe_div((safe_mult(23567, global_values.trace_length)), 65536))). + let pow1491 = pow32 + * pow1490; // pow(trace_generator, (safe_div((safe_mult(1473, global_values.trace_length)), 4096))). + let pow1492 = pow32 + * pow1491; // pow(trace_generator, (safe_div((safe_mult(23569, global_values.trace_length)), 65536))). + let pow1493 = pow32 + * pow1492; // pow(trace_generator, (safe_div((safe_mult(11785, global_values.trace_length)), 32768))). + let pow1494 = pow32 + * pow1493; // pow(trace_generator, (safe_div((safe_mult(23571, global_values.trace_length)), 65536))). + let pow1495 = pow32 + * pow1494; // pow(trace_generator, (safe_div((safe_mult(5893, global_values.trace_length)), 16384))). + let pow1496 = pow32 + * pow1495; // pow(trace_generator, (safe_div((safe_mult(23573, global_values.trace_length)), 65536))). + let pow1497 = pow32 + * pow1496; // pow(trace_generator, (safe_div((safe_mult(11787, global_values.trace_length)), 32768))). + let pow1498 = pow32 + * pow1497; // pow(trace_generator, (safe_div((safe_mult(23575, global_values.trace_length)), 65536))). + let pow1499 = pow79 + * pow1498; // pow(trace_generator, (safe_div((safe_mult(369, global_values.trace_length)), 1024))). + let pow1500 = pow100 + * pow1499; // pow(trace_generator, (safe_div((safe_mult(185, global_values.trace_length)), 512))). + let pow1501 = pow100 + * pow1500; // pow(trace_generator, (safe_div((safe_mult(371, global_values.trace_length)), 1024))). + let pow1502 = pow100 + * pow1501; // pow(trace_generator, (safe_div((safe_mult(93, global_values.trace_length)), 256))). + let pow1503 = pow100 + * pow1502; // pow(trace_generator, (safe_div((safe_mult(373, global_values.trace_length)), 1024))). + let pow1504 = pow100 + * pow1503; // pow(trace_generator, (safe_div((safe_mult(187, global_values.trace_length)), 512))). + let pow1505 = pow100 + * pow1504; // pow(trace_generator, (safe_div((safe_mult(375, global_values.trace_length)), 1024))). + let pow1506 = pow580 + * pow1505; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 8))). + let pow1507 = pow32 + * pow1506; // pow(trace_generator, (safe_div((safe_mult(24577, global_values.trace_length)), 65536))). + let pow1508 = pow32 + * pow1507; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 32768))). + let pow1509 = pow32 + * pow1508; // pow(trace_generator, (safe_div((safe_mult(24579, global_values.trace_length)), 65536))). + let pow1510 = pow32 + * pow1509; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 16384))). + let pow1511 = pow32 + * pow1510; // pow(trace_generator, (safe_div((safe_mult(24581, global_values.trace_length)), 65536))). + let pow1512 = pow32 + * pow1511; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 32768))). + let pow1513 = pow32 + * pow1512; // pow(trace_generator, (safe_div((safe_mult(24583, global_values.trace_length)), 65536))). + let pow1514 = pow32 + * pow1513; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 8192))). + let pow1515 = pow32 + * pow1514; // pow(trace_generator, (safe_div((safe_mult(24585, global_values.trace_length)), 65536))). + let pow1516 = pow32 + * pow1515; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 32768))). + let pow1517 = pow32 + * pow1516; // pow(trace_generator, (safe_div((safe_mult(24587, global_values.trace_length)), 65536))). + let pow1518 = pow32 + * pow1517; // pow(trace_generator, (safe_div((safe_mult(6147, global_values.trace_length)), 16384))). + let pow1519 = pow32 + * pow1518; // pow(trace_generator, (safe_div((safe_mult(24589, global_values.trace_length)), 65536))). + let pow1520 = pow32 + * pow1519; // pow(trace_generator, (safe_div((safe_mult(12295, global_values.trace_length)), 32768))). + let pow1521 = pow32 + * pow1520; // pow(trace_generator, (safe_div((safe_mult(24591, global_values.trace_length)), 65536))). + let pow1522 = pow32 + * pow1521; // pow(trace_generator, (safe_div((safe_mult(1537, global_values.trace_length)), 4096))). + let pow1523 = pow32 + * pow1522; // pow(trace_generator, (safe_div((safe_mult(24593, global_values.trace_length)), 65536))). + let pow1524 = pow32 + * pow1523; // pow(trace_generator, (safe_div((safe_mult(12297, global_values.trace_length)), 32768))). + let pow1525 = pow32 + * pow1524; // pow(trace_generator, (safe_div((safe_mult(24595, global_values.trace_length)), 65536))). + let pow1526 = pow32 + * pow1525; // pow(trace_generator, (safe_div((safe_mult(6149, global_values.trace_length)), 16384))). + let pow1527 = pow32 + * pow1526; // pow(trace_generator, (safe_div((safe_mult(24597, global_values.trace_length)), 65536))). + let pow1528 = pow32 + * pow1527; // pow(trace_generator, (safe_div((safe_mult(12299, global_values.trace_length)), 32768))). + let pow1529 = pow32 + * pow1528; // pow(trace_generator, (safe_div((safe_mult(24599, global_values.trace_length)), 65536))). + let pow1530 = pow79 + * pow1529; // pow(trace_generator, (safe_div((safe_mult(385, global_values.trace_length)), 1024))). + let pow1531 = pow100 + * pow1530; // pow(trace_generator, (safe_div((safe_mult(193, global_values.trace_length)), 512))). + let pow1532 = pow100 + * pow1531; // pow(trace_generator, (safe_div((safe_mult(387, global_values.trace_length)), 1024))). + let pow1533 = pow100 + * pow1532; // pow(trace_generator, (safe_div((safe_mult(97, global_values.trace_length)), 256))). + let pow1534 = pow100 + * pow1533; // pow(trace_generator, (safe_div((safe_mult(389, global_values.trace_length)), 1024))). + let pow1535 = pow100 + * pow1534; // pow(trace_generator, (safe_div((safe_mult(195, global_values.trace_length)), 512))). + let pow1536 = pow100 + * pow1535; // pow(trace_generator, (safe_div((safe_mult(391, global_values.trace_length)), 1024))). + let pow1537 = pow100 + * pow1536; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 128))). + let pow1538 = pow100 + * pow1537; // pow(trace_generator, (safe_div((safe_mult(393, global_values.trace_length)), 1024))). + let pow1539 = pow100 + * pow1538; // pow(trace_generator, (safe_div((safe_mult(197, global_values.trace_length)), 512))). + let pow1540 = pow100 + * pow1539; // pow(trace_generator, (safe_div((safe_mult(395, global_values.trace_length)), 1024))). + let pow1541 = pow100 + * pow1540; // pow(trace_generator, (safe_div((safe_mult(99, global_values.trace_length)), 256))). + let pow1542 = pow100 + * pow1541; // pow(trace_generator, (safe_div((safe_mult(397, global_values.trace_length)), 1024))). + let pow1543 = pow100 + * pow1542; // pow(trace_generator, (safe_div((safe_mult(199, global_values.trace_length)), 512))). + let pow1544 = pow100 + * pow1543; // pow(trace_generator, (safe_div((safe_mult(399, global_values.trace_length)), 1024))). + let pow1545 = pow100 + * pow1544; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 64))). + let pow1546 = pow32 + * pow1545; // pow(trace_generator, (safe_div((safe_mult(25601, global_values.trace_length)), 65536))). + let pow1547 = pow32 + * pow1546; // pow(trace_generator, (safe_div((safe_mult(12801, global_values.trace_length)), 32768))). + let pow1548 = pow32 + * pow1547; // pow(trace_generator, (safe_div((safe_mult(25603, global_values.trace_length)), 65536))). + let pow1549 = pow32 + * pow1548; // pow(trace_generator, (safe_div((safe_mult(6401, global_values.trace_length)), 16384))). + let pow1550 = pow32 + * pow1549; // pow(trace_generator, (safe_div((safe_mult(25605, global_values.trace_length)), 65536))). + let pow1551 = pow32 + * pow1550; // pow(trace_generator, (safe_div((safe_mult(12803, global_values.trace_length)), 32768))). + let pow1552 = pow32 + * pow1551; // pow(trace_generator, (safe_div((safe_mult(25607, global_values.trace_length)), 65536))). + let pow1553 = pow32 + * pow1552; // pow(trace_generator, (safe_div((safe_mult(3201, global_values.trace_length)), 8192))). + let pow1554 = pow32 + * pow1553; // pow(trace_generator, (safe_div((safe_mult(25609, global_values.trace_length)), 65536))). + let pow1555 = pow32 + * pow1554; // pow(trace_generator, (safe_div((safe_mult(12805, global_values.trace_length)), 32768))). + let pow1556 = pow32 + * pow1555; // pow(trace_generator, (safe_div((safe_mult(25611, global_values.trace_length)), 65536))). + let pow1557 = pow32 + * pow1556; // pow(trace_generator, (safe_div((safe_mult(6403, global_values.trace_length)), 16384))). + let pow1558 = pow32 + * pow1557; // pow(trace_generator, (safe_div((safe_mult(25613, global_values.trace_length)), 65536))). + let pow1559 = pow32 + * pow1558; // pow(trace_generator, (safe_div((safe_mult(12807, global_values.trace_length)), 32768))). + let pow1560 = pow32 + * pow1559; // pow(trace_generator, (safe_div((safe_mult(25615, global_values.trace_length)), 65536))). + let pow1561 = pow32 + * pow1560; // pow(trace_generator, (safe_div((safe_mult(1601, global_values.trace_length)), 4096))). + let pow1562 = pow32 + * pow1561; // pow(trace_generator, (safe_div((safe_mult(25617, global_values.trace_length)), 65536))). + let pow1563 = pow32 + * pow1562; // pow(trace_generator, (safe_div((safe_mult(12809, global_values.trace_length)), 32768))). + let pow1564 = pow32 + * pow1563; // pow(trace_generator, (safe_div((safe_mult(25619, global_values.trace_length)), 65536))). + let pow1565 = pow32 + * pow1564; // pow(trace_generator, (safe_div((safe_mult(6405, global_values.trace_length)), 16384))). + let pow1566 = pow32 + * pow1565; // pow(trace_generator, (safe_div((safe_mult(25621, global_values.trace_length)), 65536))). + let pow1567 = pow32 + * pow1566; // pow(trace_generator, (safe_div((safe_mult(12811, global_values.trace_length)), 32768))). + let pow1568 = pow32 + * pow1567; // pow(trace_generator, (safe_div((safe_mult(25623, global_values.trace_length)), 65536))). + let pow1569 = pow79 + * pow1568; // pow(trace_generator, (safe_div((safe_mult(401, global_values.trace_length)), 1024))). + let pow1570 = pow100 + * pow1569; // pow(trace_generator, (safe_div((safe_mult(201, global_values.trace_length)), 512))). + let pow1571 = pow100 + * pow1570; // pow(trace_generator, (safe_div((safe_mult(403, global_values.trace_length)), 1024))). + let pow1572 = pow100 + * pow1571; // pow(trace_generator, (safe_div((safe_mult(101, global_values.trace_length)), 256))). + let pow1573 = pow100 + * pow1572; // pow(trace_generator, (safe_div((safe_mult(405, global_values.trace_length)), 1024))). + let pow1574 = pow100 + * pow1573; // pow(trace_generator, (safe_div((safe_mult(203, global_values.trace_length)), 512))). + let pow1575 = pow100 + * pow1574; // pow(trace_generator, (safe_div((safe_mult(407, global_values.trace_length)), 1024))). + let pow1576 = pow580 + * pow1575; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 32))). + let pow1577 = pow793 + * pow1576; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 64))). + let pow1578 = pow32 + * pow1576; // pow(trace_generator, (safe_div((safe_mult(26625, global_values.trace_length)), 65536))). + let pow1579 = pow32 + * pow1577; // pow(trace_generator, (safe_div((safe_mult(27649, global_values.trace_length)), 65536))). + let pow1580 = pow32 + * pow1578; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 32768))). + let pow1581 = pow32 + * pow1579; // pow(trace_generator, (safe_div((safe_mult(13825, global_values.trace_length)), 32768))). + let pow1582 = pow32 + * pow1580; // pow(trace_generator, (safe_div((safe_mult(26627, global_values.trace_length)), 65536))). + let pow1583 = pow32 + * pow1581; // pow(trace_generator, (safe_div((safe_mult(27651, global_values.trace_length)), 65536))). + let pow1584 = pow32 + * pow1582; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 16384))). + let pow1585 = pow32 + * pow1583; // pow(trace_generator, (safe_div((safe_mult(6913, global_values.trace_length)), 16384))). + let pow1586 = pow32 + * pow1584; // pow(trace_generator, (safe_div((safe_mult(26629, global_values.trace_length)), 65536))). + let pow1587 = pow32 + * pow1585; // pow(trace_generator, (safe_div((safe_mult(27653, global_values.trace_length)), 65536))). + let pow1588 = pow32 + * pow1586; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 32768))). + let pow1589 = pow32 + * pow1587; // pow(trace_generator, (safe_div((safe_mult(13827, global_values.trace_length)), 32768))). + let pow1590 = pow32 + * pow1588; // pow(trace_generator, (safe_div((safe_mult(26631, global_values.trace_length)), 65536))). + let pow1591 = pow32 + * pow1589; // pow(trace_generator, (safe_div((safe_mult(27655, global_values.trace_length)), 65536))). + let pow1592 = pow32 + * pow1590; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 8192))). + let pow1593 = pow32 + * pow1591; // pow(trace_generator, (safe_div((safe_mult(3457, global_values.trace_length)), 8192))). + let pow1594 = pow32 + * pow1592; // pow(trace_generator, (safe_div((safe_mult(26633, global_values.trace_length)), 65536))). + let pow1595 = pow32 + * pow1593; // pow(trace_generator, (safe_div((safe_mult(27657, global_values.trace_length)), 65536))). + let pow1596 = pow32 + * pow1594; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 32768))). + let pow1597 = pow32 + * pow1595; // pow(trace_generator, (safe_div((safe_mult(13829, global_values.trace_length)), 32768))). + let pow1598 = pow32 + * pow1596; // pow(trace_generator, (safe_div((safe_mult(26635, global_values.trace_length)), 65536))). + let pow1599 = pow32 + * pow1597; // pow(trace_generator, (safe_div((safe_mult(27659, global_values.trace_length)), 65536))). + let pow1600 = pow32 + * pow1598; // pow(trace_generator, (safe_div((safe_mult(6659, global_values.trace_length)), 16384))). + let pow1601 = pow32 + * pow1599; // pow(trace_generator, (safe_div((safe_mult(6915, global_values.trace_length)), 16384))). + let pow1602 = pow32 + * pow1600; // pow(trace_generator, (safe_div((safe_mult(26637, global_values.trace_length)), 65536))). + let pow1603 = pow32 + * pow1601; // pow(trace_generator, (safe_div((safe_mult(27661, global_values.trace_length)), 65536))). + let pow1604 = pow32 + * pow1602; // pow(trace_generator, (safe_div((safe_mult(13319, global_values.trace_length)), 32768))). + let pow1605 = pow32 + * pow1603; // pow(trace_generator, (safe_div((safe_mult(13831, global_values.trace_length)), 32768))). + let pow1606 = pow32 + * pow1604; // pow(trace_generator, (safe_div((safe_mult(26639, global_values.trace_length)), 65536))). + let pow1607 = pow32 + * pow1606; // pow(trace_generator, (safe_div((safe_mult(1665, global_values.trace_length)), 4096))). + let pow1608 = pow32 + * pow1607; // pow(trace_generator, (safe_div((safe_mult(26641, global_values.trace_length)), 65536))). + let pow1609 = pow32 + * pow1608; // pow(trace_generator, (safe_div((safe_mult(13321, global_values.trace_length)), 32768))). + let pow1610 = pow32 + * pow1609; // pow(trace_generator, (safe_div((safe_mult(26643, global_values.trace_length)), 65536))). + let pow1611 = pow32 + * pow1610; // pow(trace_generator, (safe_div((safe_mult(6661, global_values.trace_length)), 16384))). + let pow1612 = pow32 + * pow1611; // pow(trace_generator, (safe_div((safe_mult(26645, global_values.trace_length)), 65536))). + let pow1613 = pow32 + * pow1612; // pow(trace_generator, (safe_div((safe_mult(13323, global_values.trace_length)), 32768))). + let pow1614 = pow32 + * pow1613; // pow(trace_generator, (safe_div((safe_mult(26647, global_values.trace_length)), 65536))). + let pow1615 = pow32 + * pow1605; // pow(trace_generator, (safe_div((safe_mult(27663, global_values.trace_length)), 65536))). + let pow1616 = pow32 + * pow1615; // pow(trace_generator, (safe_div((safe_mult(1729, global_values.trace_length)), 4096))). + let pow1617 = pow32 + * pow1616; // pow(trace_generator, (safe_div((safe_mult(27665, global_values.trace_length)), 65536))). + let pow1618 = pow32 + * pow1617; // pow(trace_generator, (safe_div((safe_mult(13833, global_values.trace_length)), 32768))). + let pow1619 = pow32 + * pow1618; // pow(trace_generator, (safe_div((safe_mult(27667, global_values.trace_length)), 65536))). + let pow1620 = pow32 + * pow1619; // pow(trace_generator, (safe_div((safe_mult(6917, global_values.trace_length)), 16384))). + let pow1621 = pow32 + * pow1620; // pow(trace_generator, (safe_div((safe_mult(27669, global_values.trace_length)), 65536))). + let pow1622 = pow32 + * pow1621; // pow(trace_generator, (safe_div((safe_mult(13835, global_values.trace_length)), 32768))). + let pow1623 = pow32 + * pow1622; // pow(trace_generator, (safe_div((safe_mult(27671, global_values.trace_length)), 65536))). + let pow1624 = pow863 + * pow1577; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 32))). + let pow1625 = pow100 + * pow1624; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 1024))). + let pow1626 = pow100 + * pow1625; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 512))). + let pow1627 = pow100 + * pow1626; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 1024))). + let pow1628 = pow100 + * pow1627; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 256))). + let pow1629 = pow100 + * pow1628; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 1024))). + let pow1630 = pow100 + * pow1629; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 512))). + let pow1631 = pow100 + * pow1630; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 1024))). + let pow1632 = pow100 + * pow1631; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 128))). + let pow1633 = pow100 + * pow1632; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 1024))). + let pow1634 = pow100 + * pow1633; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 512))). + let pow1635 = pow100 + * pow1634; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 1024))). + let pow1636 = pow100 + * pow1635; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 256))). + let pow1637 = pow100 + * pow1636; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 1024))). + let pow1638 = pow100 + * pow1637; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 512))). + let pow1639 = pow100 + * pow1638; // pow(trace_generator, (safe_div((safe_mult(495, global_values.trace_length)), 1024))). + let pow1640 = pow100 + * pow1639; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 64))). + let pow1641 = pow32 + * pow1640; // pow(trace_generator, (safe_div((safe_mult(31745, global_values.trace_length)), 65536))). + let pow1642 = pow32 + * pow1641; // pow(trace_generator, (safe_div((safe_mult(15873, global_values.trace_length)), 32768))). + let pow1643 = pow32 + * pow1642; // pow(trace_generator, (safe_div((safe_mult(31747, global_values.trace_length)), 65536))). + let pow1644 = pow32 + * pow1643; // pow(trace_generator, (safe_div((safe_mult(7937, global_values.trace_length)), 16384))). + let pow1645 = pow32 + * pow1644; // pow(trace_generator, (safe_div((safe_mult(31749, global_values.trace_length)), 65536))). + let pow1646 = pow32 + * pow1645; // pow(trace_generator, (safe_div((safe_mult(15875, global_values.trace_length)), 32768))). + let pow1647 = pow32 + * pow1646; // pow(trace_generator, (safe_div((safe_mult(31751, global_values.trace_length)), 65536))). + let pow1648 = pow32 + * pow1647; // pow(trace_generator, (safe_div((safe_mult(3969, global_values.trace_length)), 8192))). + let pow1649 = pow32 + * pow1648; // pow(trace_generator, (safe_div((safe_mult(31753, global_values.trace_length)), 65536))). + let pow1650 = pow32 + * pow1649; // pow(trace_generator, (safe_div((safe_mult(15877, global_values.trace_length)), 32768))). + let pow1651 = pow32 + * pow1650; // pow(trace_generator, (safe_div((safe_mult(31755, global_values.trace_length)), 65536))). + let pow1652 = pow32 + * pow1651; // pow(trace_generator, (safe_div((safe_mult(7939, global_values.trace_length)), 16384))). + let pow1653 = pow32 + * pow1652; // pow(trace_generator, (safe_div((safe_mult(31757, global_values.trace_length)), 65536))). + let pow1654 = pow32 + * pow1653; // pow(trace_generator, (safe_div((safe_mult(15879, global_values.trace_length)), 32768))). + let pow1655 = pow32 + * pow1654; // pow(trace_generator, (safe_div((safe_mult(31759, global_values.trace_length)), 65536))). + let pow1656 = pow32 + * pow1655; // pow(trace_generator, (safe_div((safe_mult(1985, global_values.trace_length)), 4096))). + let pow1657 = pow32 + * pow1656; // pow(trace_generator, (safe_div((safe_mult(31761, global_values.trace_length)), 65536))). + let pow1658 = pow32 + * pow1657; // pow(trace_generator, (safe_div((safe_mult(15881, global_values.trace_length)), 32768))). + let pow1659 = pow32 + * pow1658; // pow(trace_generator, (safe_div((safe_mult(31763, global_values.trace_length)), 65536))). + let pow1660 = pow32 + * pow1659; // pow(trace_generator, (safe_div((safe_mult(7941, global_values.trace_length)), 16384))). + let pow1661 = pow32 + * pow1660; // pow(trace_generator, (safe_div((safe_mult(31765, global_values.trace_length)), 65536))). + let pow1662 = pow32 + * pow1661; // pow(trace_generator, (safe_div((safe_mult(15883, global_values.trace_length)), 32768))). + let pow1663 = pow32 + * pow1662; // pow(trace_generator, (safe_div((safe_mult(31767, global_values.trace_length)), 65536))). + let pow1664 = pow79 + * pow1663; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 1024))). + let pow1665 = pow100 + * pow1664; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 512))). + let pow1666 = pow100 + * pow1665; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 1024))). + let pow1667 = pow100 + * pow1666; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 256))). + let pow1668 = pow100 + * pow1667; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 1024))). + let pow1669 = pow100 + * pow1668; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 512))). + let pow1670 = pow100 + * pow1669; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 1024))). + let pow1671 = pow580 + * pow1670; // pow(trace_generator, (safe_div(global_values.trace_length, 2))). + let pow1672 = pow100 + * pow1671; // pow(trace_generator, (safe_div((safe_mult(513, global_values.trace_length)), 1024))). + let pow1673 = pow100 + * pow1672; // pow(trace_generator, (safe_div((safe_mult(257, global_values.trace_length)), 512))). + let pow1674 = pow100 + * pow1673; // pow(trace_generator, (safe_div((safe_mult(515, global_values.trace_length)), 1024))). + let pow1675 = pow100 + * pow1674; // pow(trace_generator, (safe_div((safe_mult(129, global_values.trace_length)), 256))). + let pow1676 = pow100 + * pow1675; // pow(trace_generator, (safe_div((safe_mult(517, global_values.trace_length)), 1024))). + let pow1677 = pow100 + * pow1676; // pow(trace_generator, (safe_div((safe_mult(259, global_values.trace_length)), 512))). + let pow1678 = pow100 + * pow1677; // pow(trace_generator, (safe_div((safe_mult(519, global_values.trace_length)), 1024))). + let pow1679 = pow100 + * pow1678; // pow(trace_generator, (safe_div((safe_mult(65, global_values.trace_length)), 128))). + let pow1680 = pow100 + * pow1679; // pow(trace_generator, (safe_div((safe_mult(521, global_values.trace_length)), 1024))). + let pow1681 = pow100 + * pow1680; // pow(trace_generator, (safe_div((safe_mult(261, global_values.trace_length)), 512))). + let pow1682 = pow100 + * pow1681; // pow(trace_generator, (safe_div((safe_mult(523, global_values.trace_length)), 1024))). + let pow1683 = pow100 + * pow1682; // pow(trace_generator, (safe_div((safe_mult(131, global_values.trace_length)), 256))). + let pow1684 = pow100 + * pow1683; // pow(trace_generator, (safe_div((safe_mult(525, global_values.trace_length)), 1024))). + let pow1685 = pow100 + * pow1684; // pow(trace_generator, (safe_div((safe_mult(263, global_values.trace_length)), 512))). + let pow1686 = pow100 + * pow1685; // pow(trace_generator, (safe_div((safe_mult(527, global_values.trace_length)), 1024))). + let pow1687 = pow100 + * pow1686; // pow(trace_generator, (safe_div((safe_mult(33, global_values.trace_length)), 64))). + let pow1688 = pow100 + * pow1687; // pow(trace_generator, (safe_div((safe_mult(529, global_values.trace_length)), 1024))). + let pow1689 = pow100 + * pow1688; // pow(trace_generator, (safe_div((safe_mult(265, global_values.trace_length)), 512))). + let pow1690 = pow100 + * pow1689; // pow(trace_generator, (safe_div((safe_mult(531, global_values.trace_length)), 1024))). + let pow1691 = pow100 + * pow1690; // pow(trace_generator, (safe_div((safe_mult(133, global_values.trace_length)), 256))). + let pow1692 = pow100 + * pow1691; // pow(trace_generator, (safe_div((safe_mult(533, global_values.trace_length)), 1024))). + let pow1693 = pow100 + * pow1692; // pow(trace_generator, (safe_div((safe_mult(267, global_values.trace_length)), 512))). + let pow1694 = pow100 + * pow1693; // pow(trace_generator, (safe_div((safe_mult(535, global_values.trace_length)), 1024))). + let pow1695 = pow580 + * pow1694; // pow(trace_generator, (safe_div((safe_mult(17, global_values.trace_length)), 32))). + let pow1696 = pow100 + * pow1695; // pow(trace_generator, (safe_div((safe_mult(545, global_values.trace_length)), 1024))). + let pow1697 = pow100 + * pow1696; // pow(trace_generator, (safe_div((safe_mult(273, global_values.trace_length)), 512))). + let pow1698 = pow100 + * pow1697; // pow(trace_generator, (safe_div((safe_mult(547, global_values.trace_length)), 1024))). + let pow1699 = pow100 + * pow1698; // pow(trace_generator, (safe_div((safe_mult(137, global_values.trace_length)), 256))). + let pow1700 = pow100 + * pow1699; // pow(trace_generator, (safe_div((safe_mult(549, global_values.trace_length)), 1024))). + let pow1701 = pow100 + * pow1700; // pow(trace_generator, (safe_div((safe_mult(275, global_values.trace_length)), 512))). + let pow1702 = pow100 + * pow1701; // pow(trace_generator, (safe_div((safe_mult(551, global_values.trace_length)), 1024))). + let pow1703 = pow100 + * pow1702; // pow(trace_generator, (safe_div((safe_mult(69, global_values.trace_length)), 128))). + let pow1704 = pow100 + * pow1703; // pow(trace_generator, (safe_div((safe_mult(553, global_values.trace_length)), 1024))). + let pow1705 = pow100 + * pow1704; // pow(trace_generator, (safe_div((safe_mult(277, global_values.trace_length)), 512))). + let pow1706 = pow100 + * pow1705; // pow(trace_generator, (safe_div((safe_mult(555, global_values.trace_length)), 1024))). + let pow1707 = pow100 + * pow1706; // pow(trace_generator, (safe_div((safe_mult(139, global_values.trace_length)), 256))). + let pow1708 = pow100 + * pow1707; // pow(trace_generator, (safe_div((safe_mult(557, global_values.trace_length)), 1024))). + let pow1709 = pow100 + * pow1708; // pow(trace_generator, (safe_div((safe_mult(279, global_values.trace_length)), 512))). + let pow1710 = pow100 + * pow1709; // pow(trace_generator, (safe_div((safe_mult(559, global_values.trace_length)), 1024))). + let pow1711 = pow100 + * pow1710; // pow(trace_generator, (safe_div((safe_mult(35, global_values.trace_length)), 64))). + let pow1712 = pow100 + * pow1711; // pow(trace_generator, (safe_div((safe_mult(561, global_values.trace_length)), 1024))). + let pow1713 = pow100 + * pow1712; // pow(trace_generator, (safe_div((safe_mult(281, global_values.trace_length)), 512))). + let pow1714 = pow100 + * pow1713; // pow(trace_generator, (safe_div((safe_mult(563, global_values.trace_length)), 1024))). + let pow1715 = pow100 + * pow1714; // pow(trace_generator, (safe_div((safe_mult(141, global_values.trace_length)), 256))). + let pow1716 = pow100 + * pow1715; // pow(trace_generator, (safe_div((safe_mult(565, global_values.trace_length)), 1024))). + let pow1717 = pow100 + * pow1716; // pow(trace_generator, (safe_div((safe_mult(283, global_values.trace_length)), 512))). + let pow1718 = pow100 + * pow1717; // pow(trace_generator, (safe_div((safe_mult(567, global_values.trace_length)), 1024))). + let pow1719 = pow580 + * pow1718; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 16))). + let pow1720 = pow32 + * pow1719; // pow(trace_generator, (safe_div((safe_mult(36865, global_values.trace_length)), 65536))). + let pow1721 = pow32 + * pow1720; // pow(trace_generator, (safe_div((safe_mult(18433, global_values.trace_length)), 32768))). + let pow1722 = pow32 + * pow1721; // pow(trace_generator, (safe_div((safe_mult(36867, global_values.trace_length)), 65536))). + let pow1723 = pow32 + * pow1722; // pow(trace_generator, (safe_div((safe_mult(9217, global_values.trace_length)), 16384))). + let pow1724 = pow32 + * pow1723; // pow(trace_generator, (safe_div((safe_mult(36869, global_values.trace_length)), 65536))). + let pow1725 = pow32 + * pow1724; // pow(trace_generator, (safe_div((safe_mult(18435, global_values.trace_length)), 32768))). + let pow1726 = pow32 + * pow1725; // pow(trace_generator, (safe_div((safe_mult(36871, global_values.trace_length)), 65536))). + let pow1727 = pow32 + * pow1726; // pow(trace_generator, (safe_div((safe_mult(4609, global_values.trace_length)), 8192))). + let pow1728 = pow32 + * pow1727; // pow(trace_generator, (safe_div((safe_mult(36873, global_values.trace_length)), 65536))). + let pow1729 = pow32 + * pow1728; // pow(trace_generator, (safe_div((safe_mult(18437, global_values.trace_length)), 32768))). + let pow1730 = pow32 + * pow1729; // pow(trace_generator, (safe_div((safe_mult(36875, global_values.trace_length)), 65536))). + let pow1731 = pow32 + * pow1730; // pow(trace_generator, (safe_div((safe_mult(9219, global_values.trace_length)), 16384))). + let pow1732 = pow32 + * pow1731; // pow(trace_generator, (safe_div((safe_mult(36877, global_values.trace_length)), 65536))). + let pow1733 = pow32 + * pow1732; // pow(trace_generator, (safe_div((safe_mult(18439, global_values.trace_length)), 32768))). + let pow1734 = pow32 + * pow1733; // pow(trace_generator, (safe_div((safe_mult(36879, global_values.trace_length)), 65536))). + let pow1735 = pow32 + * pow1734; // pow(trace_generator, (safe_div((safe_mult(2305, global_values.trace_length)), 4096))). + let pow1736 = pow32 + * pow1735; // pow(trace_generator, (safe_div((safe_mult(36881, global_values.trace_length)), 65536))). + let pow1737 = pow32 + * pow1736; // pow(trace_generator, (safe_div((safe_mult(18441, global_values.trace_length)), 32768))). + let pow1738 = pow32 + * pow1737; // pow(trace_generator, (safe_div((safe_mult(36883, global_values.trace_length)), 65536))). + let pow1739 = pow32 + * pow1738; // pow(trace_generator, (safe_div((safe_mult(9221, global_values.trace_length)), 16384))). + let pow1740 = pow32 + * pow1739; // pow(trace_generator, (safe_div((safe_mult(36885, global_values.trace_length)), 65536))). + let pow1741 = pow32 + * pow1740; // pow(trace_generator, (safe_div((safe_mult(18443, global_values.trace_length)), 32768))). + let pow1742 = pow32 + * pow1741; // pow(trace_generator, (safe_div((safe_mult(36887, global_values.trace_length)), 65536))). + let pow1743 = pow793 + * pow1719; // pow(trace_generator, (safe_div((safe_mult(37, global_values.trace_length)), 64))). + let pow1744 = pow32 + * pow1743; // pow(trace_generator, (safe_div((safe_mult(37889, global_values.trace_length)), 65536))). + let pow1745 = pow32 + * pow1744; // pow(trace_generator, (safe_div((safe_mult(18945, global_values.trace_length)), 32768))). + let pow1746 = pow32 + * pow1745; // pow(trace_generator, (safe_div((safe_mult(37891, global_values.trace_length)), 65536))). + let pow1747 = pow32 + * pow1746; // pow(trace_generator, (safe_div((safe_mult(9473, global_values.trace_length)), 16384))). + let pow1748 = pow32 + * pow1747; // pow(trace_generator, (safe_div((safe_mult(37893, global_values.trace_length)), 65536))). + let pow1749 = pow32 + * pow1748; // pow(trace_generator, (safe_div((safe_mult(18947, global_values.trace_length)), 32768))). + let pow1750 = pow32 + * pow1749; // pow(trace_generator, (safe_div((safe_mult(37895, global_values.trace_length)), 65536))). + let pow1751 = pow32 + * pow1750; // pow(trace_generator, (safe_div((safe_mult(4737, global_values.trace_length)), 8192))). + let pow1752 = pow32 + * pow1751; // pow(trace_generator, (safe_div((safe_mult(37897, global_values.trace_length)), 65536))). + let pow1753 = pow32 + * pow1752; // pow(trace_generator, (safe_div((safe_mult(18949, global_values.trace_length)), 32768))). + let pow1754 = pow32 + * pow1753; // pow(trace_generator, (safe_div((safe_mult(37899, global_values.trace_length)), 65536))). + let pow1755 = pow32 + * pow1754; // pow(trace_generator, (safe_div((safe_mult(9475, global_values.trace_length)), 16384))). + let pow1756 = pow32 + * pow1755; // pow(trace_generator, (safe_div((safe_mult(37901, global_values.trace_length)), 65536))). + let pow1757 = pow32 + * pow1756; // pow(trace_generator, (safe_div((safe_mult(18951, global_values.trace_length)), 32768))). + let pow1758 = pow32 + * pow1757; // pow(trace_generator, (safe_div((safe_mult(37903, global_values.trace_length)), 65536))). + let pow1759 = pow32 + * pow1758; // pow(trace_generator, (safe_div((safe_mult(2369, global_values.trace_length)), 4096))). + let pow1760 = pow32 + * pow1759; // pow(trace_generator, (safe_div((safe_mult(37905, global_values.trace_length)), 65536))). + let pow1761 = pow32 + * pow1760; // pow(trace_generator, (safe_div((safe_mult(18953, global_values.trace_length)), 32768))). + let pow1762 = pow32 + * pow1761; // pow(trace_generator, (safe_div((safe_mult(37907, global_values.trace_length)), 65536))). + let pow1763 = pow32 + * pow1762; // pow(trace_generator, (safe_div((safe_mult(9477, global_values.trace_length)), 16384))). + let pow1764 = pow32 + * pow1763; // pow(trace_generator, (safe_div((safe_mult(37909, global_values.trace_length)), 65536))). + let pow1765 = pow32 + * pow1764; // pow(trace_generator, (safe_div((safe_mult(18955, global_values.trace_length)), 32768))). + let pow1766 = pow32 + * pow1765; // pow(trace_generator, (safe_div((safe_mult(37911, global_values.trace_length)), 65536))). + let pow1767 = pow793 + * pow1743; // pow(trace_generator, (safe_div((safe_mult(19, global_values.trace_length)), 32))). + let pow1768 = pow32 + * pow1767; // pow(trace_generator, (safe_div((safe_mult(38913, global_values.trace_length)), 65536))). + let pow1769 = pow32 + * pow1768; // pow(trace_generator, (safe_div((safe_mult(19457, global_values.trace_length)), 32768))). + let pow1770 = pow32 + * pow1769; // pow(trace_generator, (safe_div((safe_mult(38915, global_values.trace_length)), 65536))). + let pow1771 = pow32 + * pow1770; // pow(trace_generator, (safe_div((safe_mult(9729, global_values.trace_length)), 16384))). + let pow1772 = pow32 + * pow1771; // pow(trace_generator, (safe_div((safe_mult(38917, global_values.trace_length)), 65536))). + let pow1773 = pow32 + * pow1772; // pow(trace_generator, (safe_div((safe_mult(19459, global_values.trace_length)), 32768))). + let pow1774 = pow32 + * pow1773; // pow(trace_generator, (safe_div((safe_mult(38919, global_values.trace_length)), 65536))). + let pow1775 = pow32 + * pow1774; // pow(trace_generator, (safe_div((safe_mult(4865, global_values.trace_length)), 8192))). + let pow1776 = pow32 + * pow1775; // pow(trace_generator, (safe_div((safe_mult(38921, global_values.trace_length)), 65536))). + let pow1777 = pow32 + * pow1776; // pow(trace_generator, (safe_div((safe_mult(19461, global_values.trace_length)), 32768))). + let pow1778 = pow32 + * pow1777; // pow(trace_generator, (safe_div((safe_mult(38923, global_values.trace_length)), 65536))). + let pow1779 = pow32 + * pow1778; // pow(trace_generator, (safe_div((safe_mult(9731, global_values.trace_length)), 16384))). + let pow1780 = pow32 + * pow1779; // pow(trace_generator, (safe_div((safe_mult(38925, global_values.trace_length)), 65536))). + let pow1781 = pow32 + * pow1780; // pow(trace_generator, (safe_div((safe_mult(19463, global_values.trace_length)), 32768))). + let pow1782 = pow32 + * pow1781; // pow(trace_generator, (safe_div((safe_mult(38927, global_values.trace_length)), 65536))). + let pow1783 = pow32 + * pow1782; // pow(trace_generator, (safe_div((safe_mult(2433, global_values.trace_length)), 4096))). + let pow1784 = pow32 + * pow1783; // pow(trace_generator, (safe_div((safe_mult(38929, global_values.trace_length)), 65536))). + let pow1785 = pow32 + * pow1784; // pow(trace_generator, (safe_div((safe_mult(19465, global_values.trace_length)), 32768))). + let pow1786 = pow32 + * pow1785; // pow(trace_generator, (safe_div((safe_mult(38931, global_values.trace_length)), 65536))). + let pow1787 = pow32 + * pow1786; // pow(trace_generator, (safe_div((safe_mult(9733, global_values.trace_length)), 16384))). + let pow1788 = pow32 + * pow1787; // pow(trace_generator, (safe_div((safe_mult(38933, global_values.trace_length)), 65536))). + let pow1789 = pow32 + * pow1788; // pow(trace_generator, (safe_div((safe_mult(19467, global_values.trace_length)), 32768))). + let pow1790 = pow32 + * pow1789; // pow(trace_generator, (safe_div((safe_mult(38935, global_values.trace_length)), 65536))). + let pow1791 = pow793 + * pow1767; // pow(trace_generator, (safe_div((safe_mult(39, global_values.trace_length)), 64))). + let pow1792 = pow32 + * pow1791; // pow(trace_generator, (safe_div((safe_mult(39937, global_values.trace_length)), 65536))). + let pow1793 = pow32 + * pow1792; // pow(trace_generator, (safe_div((safe_mult(19969, global_values.trace_length)), 32768))). + let pow1794 = pow32 + * pow1793; // pow(trace_generator, (safe_div((safe_mult(39939, global_values.trace_length)), 65536))). + let pow1795 = pow32 + * pow1794; // pow(trace_generator, (safe_div((safe_mult(9985, global_values.trace_length)), 16384))). + let pow1796 = pow32 + * pow1795; // pow(trace_generator, (safe_div((safe_mult(39941, global_values.trace_length)), 65536))). + let pow1797 = pow32 + * pow1796; // pow(trace_generator, (safe_div((safe_mult(19971, global_values.trace_length)), 32768))). + let pow1798 = pow32 + * pow1797; // pow(trace_generator, (safe_div((safe_mult(39943, global_values.trace_length)), 65536))). + let pow1799 = pow32 + * pow1798; // pow(trace_generator, (safe_div((safe_mult(4993, global_values.trace_length)), 8192))). + let pow1800 = pow32 + * pow1799; // pow(trace_generator, (safe_div((safe_mult(39945, global_values.trace_length)), 65536))). + let pow1801 = pow32 + * pow1800; // pow(trace_generator, (safe_div((safe_mult(19973, global_values.trace_length)), 32768))). + let pow1802 = pow32 + * pow1801; // pow(trace_generator, (safe_div((safe_mult(39947, global_values.trace_length)), 65536))). + let pow1803 = pow32 + * pow1802; // pow(trace_generator, (safe_div((safe_mult(9987, global_values.trace_length)), 16384))). + let pow1804 = pow32 + * pow1803; // pow(trace_generator, (safe_div((safe_mult(39949, global_values.trace_length)), 65536))). + let pow1805 = pow32 + * pow1804; // pow(trace_generator, (safe_div((safe_mult(19975, global_values.trace_length)), 32768))). + let pow1806 = pow32 + * pow1805; // pow(trace_generator, (safe_div((safe_mult(39951, global_values.trace_length)), 65536))). + let pow1807 = pow32 + * pow1806; // pow(trace_generator, (safe_div((safe_mult(2497, global_values.trace_length)), 4096))). + let pow1808 = pow32 + * pow1807; // pow(trace_generator, (safe_div((safe_mult(39953, global_values.trace_length)), 65536))). + let pow1809 = pow32 + * pow1808; // pow(trace_generator, (safe_div((safe_mult(19977, global_values.trace_length)), 32768))). + let pow1810 = pow32 + * pow1809; // pow(trace_generator, (safe_div((safe_mult(39955, global_values.trace_length)), 65536))). + let pow1811 = pow32 + * pow1810; // pow(trace_generator, (safe_div((safe_mult(9989, global_values.trace_length)), 16384))). + let pow1812 = pow32 + * pow1811; // pow(trace_generator, (safe_div((safe_mult(39957, global_values.trace_length)), 65536))). + let pow1813 = pow32 + * pow1812; // pow(trace_generator, (safe_div((safe_mult(19979, global_values.trace_length)), 32768))). + let pow1814 = pow32 + * pow1813; // pow(trace_generator, (safe_div((safe_mult(39959, global_values.trace_length)), 65536))). + let pow1815 = pow793 + * pow1791; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 8))). + let pow1816 = pow32 + * pow1815; // pow(trace_generator, (safe_div((safe_mult(40961, global_values.trace_length)), 65536))). + let pow1817 = pow32 + * pow1816; // pow(trace_generator, (safe_div((safe_mult(20481, global_values.trace_length)), 32768))). + let pow1818 = pow32 + * pow1817; // pow(trace_generator, (safe_div((safe_mult(40963, global_values.trace_length)), 65536))). + let pow1819 = pow32 + * pow1818; // pow(trace_generator, (safe_div((safe_mult(10241, global_values.trace_length)), 16384))). + let pow1820 = pow32 + * pow1819; // pow(trace_generator, (safe_div((safe_mult(40965, global_values.trace_length)), 65536))). + let pow1821 = pow32 + * pow1820; // pow(trace_generator, (safe_div((safe_mult(20483, global_values.trace_length)), 32768))). + let pow1822 = pow32 + * pow1821; // pow(trace_generator, (safe_div((safe_mult(40967, global_values.trace_length)), 65536))). + let pow1823 = pow32 + * pow1822; // pow(trace_generator, (safe_div((safe_mult(5121, global_values.trace_length)), 8192))). + let pow1824 = pow32 + * pow1823; // pow(trace_generator, (safe_div((safe_mult(40969, global_values.trace_length)), 65536))). + let pow1825 = pow32 + * pow1824; // pow(trace_generator, (safe_div((safe_mult(20485, global_values.trace_length)), 32768))). + let pow1826 = pow32 + * pow1825; // pow(trace_generator, (safe_div((safe_mult(40971, global_values.trace_length)), 65536))). + let pow1827 = pow32 + * pow1826; // pow(trace_generator, (safe_div((safe_mult(10243, global_values.trace_length)), 16384))). + let pow1828 = pow32 + * pow1827; // pow(trace_generator, (safe_div((safe_mult(40973, global_values.trace_length)), 65536))). + let pow1829 = pow32 + * pow1828; // pow(trace_generator, (safe_div((safe_mult(20487, global_values.trace_length)), 32768))). + let pow1830 = pow32 + * pow1829; // pow(trace_generator, (safe_div((safe_mult(40975, global_values.trace_length)), 65536))). + let pow1831 = pow32 + * pow1830; // pow(trace_generator, (safe_div((safe_mult(2561, global_values.trace_length)), 4096))). + let pow1832 = pow32 + * pow1831; // pow(trace_generator, (safe_div((safe_mult(40977, global_values.trace_length)), 65536))). + let pow1833 = pow32 + * pow1832; // pow(trace_generator, (safe_div((safe_mult(20489, global_values.trace_length)), 32768))). + let pow1834 = pow32 + * pow1833; // pow(trace_generator, (safe_div((safe_mult(40979, global_values.trace_length)), 65536))). + let pow1835 = pow32 + * pow1834; // pow(trace_generator, (safe_div((safe_mult(10245, global_values.trace_length)), 16384))). + let pow1836 = pow32 + * pow1835; // pow(trace_generator, (safe_div((safe_mult(40981, global_values.trace_length)), 65536))). + let pow1837 = pow32 + * pow1836; // pow(trace_generator, (safe_div((safe_mult(20491, global_values.trace_length)), 32768))). + let pow1838 = pow32 + * pow1837; // pow(trace_generator, (safe_div((safe_mult(40983, global_values.trace_length)), 65536))). + let pow1839 = pow79 + * pow1838; // pow(trace_generator, (safe_div((safe_mult(641, global_values.trace_length)), 1024))). + let pow1840 = pow100 + * pow1839; // pow(trace_generator, (safe_div((safe_mult(321, global_values.trace_length)), 512))). + let pow1841 = pow100 + * pow1840; // pow(trace_generator, (safe_div((safe_mult(643, global_values.trace_length)), 1024))). + let pow1842 = pow100 + * pow1841; // pow(trace_generator, (safe_div((safe_mult(161, global_values.trace_length)), 256))). + let pow1843 = pow100 + * pow1842; // pow(trace_generator, (safe_div((safe_mult(645, global_values.trace_length)), 1024))). + let pow1844 = pow100 + * pow1843; // pow(trace_generator, (safe_div((safe_mult(323, global_values.trace_length)), 512))). + let pow1845 = pow100 + * pow1844; // pow(trace_generator, (safe_div((safe_mult(647, global_values.trace_length)), 1024))). + let pow1846 = pow100 + * pow1845; // pow(trace_generator, (safe_div((safe_mult(81, global_values.trace_length)), 128))). + let pow1847 = pow100 + * pow1846; // pow(trace_generator, (safe_div((safe_mult(649, global_values.trace_length)), 1024))). + let pow1848 = pow100 + * pow1847; // pow(trace_generator, (safe_div((safe_mult(325, global_values.trace_length)), 512))). + let pow1849 = pow100 + * pow1848; // pow(trace_generator, (safe_div((safe_mult(651, global_values.trace_length)), 1024))). + let pow1850 = pow100 + * pow1849; // pow(trace_generator, (safe_div((safe_mult(163, global_values.trace_length)), 256))). + let pow1851 = pow100 + * pow1850; // pow(trace_generator, (safe_div((safe_mult(653, global_values.trace_length)), 1024))). + let pow1852 = pow100 + * pow1851; // pow(trace_generator, (safe_div((safe_mult(327, global_values.trace_length)), 512))). + let pow1853 = pow100 + * pow1852; // pow(trace_generator, (safe_div((safe_mult(655, global_values.trace_length)), 1024))). + let pow1854 = pow100 + * pow1853; // pow(trace_generator, (safe_div((safe_mult(41, global_values.trace_length)), 64))). + let pow1855 = pow32 + * pow1854; // pow(trace_generator, (safe_div((safe_mult(41985, global_values.trace_length)), 65536))). + let pow1856 = pow32 + * pow1855; // pow(trace_generator, (safe_div((safe_mult(20993, global_values.trace_length)), 32768))). + let pow1857 = pow32 + * pow1856; // pow(trace_generator, (safe_div((safe_mult(41987, global_values.trace_length)), 65536))). + let pow1858 = pow32 + * pow1857; // pow(trace_generator, (safe_div((safe_mult(10497, global_values.trace_length)), 16384))). + let pow1859 = pow32 + * pow1858; // pow(trace_generator, (safe_div((safe_mult(41989, global_values.trace_length)), 65536))). + let pow1860 = pow32 + * pow1859; // pow(trace_generator, (safe_div((safe_mult(20995, global_values.trace_length)), 32768))). + let pow1861 = pow32 + * pow1860; // pow(trace_generator, (safe_div((safe_mult(41991, global_values.trace_length)), 65536))). + let pow1862 = pow32 + * pow1861; // pow(trace_generator, (safe_div((safe_mult(5249, global_values.trace_length)), 8192))). + let pow1863 = pow32 + * pow1862; // pow(trace_generator, (safe_div((safe_mult(41993, global_values.trace_length)), 65536))). + let pow1864 = pow32 + * pow1863; // pow(trace_generator, (safe_div((safe_mult(20997, global_values.trace_length)), 32768))). + let pow1865 = pow32 + * pow1864; // pow(trace_generator, (safe_div((safe_mult(41995, global_values.trace_length)), 65536))). + let pow1866 = pow32 + * pow1865; // pow(trace_generator, (safe_div((safe_mult(10499, global_values.trace_length)), 16384))). + let pow1867 = pow32 + * pow1866; // pow(trace_generator, (safe_div((safe_mult(41997, global_values.trace_length)), 65536))). + let pow1868 = pow32 + * pow1867; // pow(trace_generator, (safe_div((safe_mult(20999, global_values.trace_length)), 32768))). + let pow1869 = pow32 + * pow1868; // pow(trace_generator, (safe_div((safe_mult(41999, global_values.trace_length)), 65536))). + let pow1870 = pow32 + * pow1869; // pow(trace_generator, (safe_div((safe_mult(2625, global_values.trace_length)), 4096))). + let pow1871 = pow32 + * pow1870; // pow(trace_generator, (safe_div((safe_mult(42001, global_values.trace_length)), 65536))). + let pow1872 = pow32 + * pow1871; // pow(trace_generator, (safe_div((safe_mult(21001, global_values.trace_length)), 32768))). + let pow1873 = pow32 + * pow1872; // pow(trace_generator, (safe_div((safe_mult(42003, global_values.trace_length)), 65536))). + let pow1874 = pow32 + * pow1873; // pow(trace_generator, (safe_div((safe_mult(10501, global_values.trace_length)), 16384))). + let pow1875 = pow32 + * pow1874; // pow(trace_generator, (safe_div((safe_mult(42005, global_values.trace_length)), 65536))). + let pow1876 = pow32 + * pow1875; // pow(trace_generator, (safe_div((safe_mult(21003, global_values.trace_length)), 32768))). + let pow1877 = pow32 + * pow1876; // pow(trace_generator, (safe_div((safe_mult(42007, global_values.trace_length)), 65536))). + let pow1878 = pow79 + * pow1877; // pow(trace_generator, (safe_div((safe_mult(657, global_values.trace_length)), 1024))). + let pow1879 = pow100 + * pow1878; // pow(trace_generator, (safe_div((safe_mult(329, global_values.trace_length)), 512))). + let pow1880 = pow100 + * pow1879; // pow(trace_generator, (safe_div((safe_mult(659, global_values.trace_length)), 1024))). + let pow1881 = pow100 + * pow1880; // pow(trace_generator, (safe_div((safe_mult(165, global_values.trace_length)), 256))). + let pow1882 = pow100 + * pow1881; // pow(trace_generator, (safe_div((safe_mult(661, global_values.trace_length)), 1024))). + let pow1883 = pow100 + * pow1882; // pow(trace_generator, (safe_div((safe_mult(331, global_values.trace_length)), 512))). + let pow1884 = pow100 + * pow1883; // pow(trace_generator, (safe_div((safe_mult(663, global_values.trace_length)), 1024))). + let pow1885 = pow580 + * pow1884; // pow(trace_generator, (safe_div((safe_mult(21, global_values.trace_length)), 32))). + let pow1886 = pow32 + * pow1885; // pow(trace_generator, (safe_div((safe_mult(43009, global_values.trace_length)), 65536))). + let pow1887 = pow32 + * pow1886; // pow(trace_generator, (safe_div((safe_mult(21505, global_values.trace_length)), 32768))). + let pow1888 = pow32 + * pow1887; // pow(trace_generator, (safe_div((safe_mult(43011, global_values.trace_length)), 65536))). + let pow1889 = pow32 + * pow1888; // pow(trace_generator, (safe_div((safe_mult(10753, global_values.trace_length)), 16384))). + let pow1890 = pow32 + * pow1889; // pow(trace_generator, (safe_div((safe_mult(43013, global_values.trace_length)), 65536))). + let pow1891 = pow32 + * pow1890; // pow(trace_generator, (safe_div((safe_mult(21507, global_values.trace_length)), 32768))). + let pow1892 = pow32 + * pow1891; // pow(trace_generator, (safe_div((safe_mult(43015, global_values.trace_length)), 65536))). + let pow1893 = pow32 + * pow1892; // pow(trace_generator, (safe_div((safe_mult(5377, global_values.trace_length)), 8192))). + let pow1894 = pow32 + * pow1893; // pow(trace_generator, (safe_div((safe_mult(43017, global_values.trace_length)), 65536))). + let pow1895 = pow32 + * pow1894; // pow(trace_generator, (safe_div((safe_mult(21509, global_values.trace_length)), 32768))). + let pow1896 = pow32 + * pow1895; // pow(trace_generator, (safe_div((safe_mult(43019, global_values.trace_length)), 65536))). + let pow1897 = pow32 + * pow1896; // pow(trace_generator, (safe_div((safe_mult(10755, global_values.trace_length)), 16384))). + let pow1898 = pow32 + * pow1897; // pow(trace_generator, (safe_div((safe_mult(43021, global_values.trace_length)), 65536))). + let pow1899 = pow32 + * pow1898; // pow(trace_generator, (safe_div((safe_mult(21511, global_values.trace_length)), 32768))). + let pow1900 = pow32 + * pow1899; // pow(trace_generator, (safe_div((safe_mult(43023, global_values.trace_length)), 65536))). + let pow1901 = pow32 + * pow1900; // pow(trace_generator, (safe_div((safe_mult(2689, global_values.trace_length)), 4096))). + let pow1902 = pow32 + * pow1901; // pow(trace_generator, (safe_div((safe_mult(43025, global_values.trace_length)), 65536))). + let pow1903 = pow32 + * pow1902; // pow(trace_generator, (safe_div((safe_mult(21513, global_values.trace_length)), 32768))). + let pow1904 = pow32 + * pow1903; // pow(trace_generator, (safe_div((safe_mult(43027, global_values.trace_length)), 65536))). + let pow1905 = pow32 + * pow1904; // pow(trace_generator, (safe_div((safe_mult(10757, global_values.trace_length)), 16384))). + let pow1906 = pow32 + * pow1905; // pow(trace_generator, (safe_div((safe_mult(43029, global_values.trace_length)), 65536))). + let pow1907 = pow32 + * pow1906; // pow(trace_generator, (safe_div((safe_mult(21515, global_values.trace_length)), 32768))). + let pow1908 = pow32 + * pow1907; // pow(trace_generator, (safe_div((safe_mult(43031, global_values.trace_length)), 65536))). + let pow1909 = pow79 + * pow1908; // pow(trace_generator, (safe_div((safe_mult(673, global_values.trace_length)), 1024))). + let pow1910 = pow100 + * pow1909; // pow(trace_generator, (safe_div((safe_mult(337, global_values.trace_length)), 512))). + let pow1911 = pow100 + * pow1910; // pow(trace_generator, (safe_div((safe_mult(675, global_values.trace_length)), 1024))). + let pow1912 = pow100 + * pow1911; // pow(trace_generator, (safe_div((safe_mult(169, global_values.trace_length)), 256))). + let pow1913 = pow100 + * pow1912; // pow(trace_generator, (safe_div((safe_mult(677, global_values.trace_length)), 1024))). + let pow1914 = pow100 + * pow1913; // pow(trace_generator, (safe_div((safe_mult(339, global_values.trace_length)), 512))). + let pow1915 = pow100 + * pow1914; // pow(trace_generator, (safe_div((safe_mult(679, global_values.trace_length)), 1024))). + let pow1916 = pow100 + * pow1915; // pow(trace_generator, (safe_div((safe_mult(85, global_values.trace_length)), 128))). + let pow1917 = pow100 + * pow1916; // pow(trace_generator, (safe_div((safe_mult(681, global_values.trace_length)), 1024))). + let pow1918 = pow100 + * pow1917; // pow(trace_generator, (safe_div((safe_mult(341, global_values.trace_length)), 512))). + let pow1919 = pow100 + * pow1918; // pow(trace_generator, (safe_div((safe_mult(683, global_values.trace_length)), 1024))). + let pow1920 = pow100 + * pow1919; // pow(trace_generator, (safe_div((safe_mult(171, global_values.trace_length)), 256))). + let pow1921 = pow100 + * pow1920; // pow(trace_generator, (safe_div((safe_mult(685, global_values.trace_length)), 1024))). + let pow1922 = pow100 + * pow1921; // pow(trace_generator, (safe_div((safe_mult(343, global_values.trace_length)), 512))). + let pow1923 = pow100 + * pow1922; // pow(trace_generator, (safe_div((safe_mult(687, global_values.trace_length)), 1024))). + let pow1924 = pow100 + * pow1923; // pow(trace_generator, (safe_div((safe_mult(43, global_values.trace_length)), 64))). + let pow1925 = pow32 + * pow1924; // pow(trace_generator, (safe_div((safe_mult(44033, global_values.trace_length)), 65536))). + let pow1926 = pow32 + * pow1925; // pow(trace_generator, (safe_div((safe_mult(22017, global_values.trace_length)), 32768))). + let pow1927 = pow32 + * pow1926; // pow(trace_generator, (safe_div((safe_mult(44035, global_values.trace_length)), 65536))). + let pow1928 = pow32 + * pow1927; // pow(trace_generator, (safe_div((safe_mult(11009, global_values.trace_length)), 16384))). + let pow1929 = pow32 + * pow1928; // pow(trace_generator, (safe_div((safe_mult(44037, global_values.trace_length)), 65536))). + let pow1930 = pow32 + * pow1929; // pow(trace_generator, (safe_div((safe_mult(22019, global_values.trace_length)), 32768))). + let pow1931 = pow32 + * pow1930; // pow(trace_generator, (safe_div((safe_mult(44039, global_values.trace_length)), 65536))). + let pow1932 = pow32 + * pow1931; // pow(trace_generator, (safe_div((safe_mult(5505, global_values.trace_length)), 8192))). + let pow1933 = pow32 + * pow1932; // pow(trace_generator, (safe_div((safe_mult(44041, global_values.trace_length)), 65536))). + let pow1934 = pow32 + * pow1933; // pow(trace_generator, (safe_div((safe_mult(22021, global_values.trace_length)), 32768))). + let pow1935 = pow32 + * pow1934; // pow(trace_generator, (safe_div((safe_mult(44043, global_values.trace_length)), 65536))). + let pow1936 = pow32 + * pow1935; // pow(trace_generator, (safe_div((safe_mult(11011, global_values.trace_length)), 16384))). + let pow1937 = pow32 + * pow1936; // pow(trace_generator, (safe_div((safe_mult(44045, global_values.trace_length)), 65536))). + let pow1938 = pow32 + * pow1937; // pow(trace_generator, (safe_div((safe_mult(22023, global_values.trace_length)), 32768))). + let pow1939 = pow32 + * pow1938; // pow(trace_generator, (safe_div((safe_mult(44047, global_values.trace_length)), 65536))). + let pow1940 = pow32 + * pow1939; // pow(trace_generator, (safe_div((safe_mult(2753, global_values.trace_length)), 4096))). + let pow1941 = pow32 + * pow1940; // pow(trace_generator, (safe_div((safe_mult(44049, global_values.trace_length)), 65536))). + let pow1942 = pow32 + * pow1941; // pow(trace_generator, (safe_div((safe_mult(22025, global_values.trace_length)), 32768))). + let pow1943 = pow32 + * pow1942; // pow(trace_generator, (safe_div((safe_mult(44051, global_values.trace_length)), 65536))). + let pow1944 = pow32 + * pow1943; // pow(trace_generator, (safe_div((safe_mult(11013, global_values.trace_length)), 16384))). + let pow1945 = pow32 + * pow1944; // pow(trace_generator, (safe_div((safe_mult(44053, global_values.trace_length)), 65536))). + let pow1946 = pow32 + * pow1945; // pow(trace_generator, (safe_div((safe_mult(22027, global_values.trace_length)), 32768))). + let pow1947 = pow32 + * pow1946; // pow(trace_generator, (safe_div((safe_mult(44055, global_values.trace_length)), 65536))). + let pow1948 = pow79 + * pow1947; // pow(trace_generator, (safe_div((safe_mult(689, global_values.trace_length)), 1024))). + let pow1949 = pow100 + * pow1948; // pow(trace_generator, (safe_div((safe_mult(345, global_values.trace_length)), 512))). + let pow1950 = pow100 + * pow1949; // pow(trace_generator, (safe_div((safe_mult(691, global_values.trace_length)), 1024))). + let pow1951 = pow100 + * pow1950; // pow(trace_generator, (safe_div((safe_mult(173, global_values.trace_length)), 256))). + let pow1952 = pow100 + * pow1951; // pow(trace_generator, (safe_div((safe_mult(693, global_values.trace_length)), 1024))). + let pow1953 = pow100 + * pow1952; // pow(trace_generator, (safe_div((safe_mult(347, global_values.trace_length)), 512))). + let pow1954 = pow100 + * pow1953; // pow(trace_generator, (safe_div((safe_mult(695, global_values.trace_length)), 1024))). + let pow1955 = pow580 + * pow1954; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 16))). + let pow1956 = pow32 + * pow1955; // pow(trace_generator, (safe_div((safe_mult(45057, global_values.trace_length)), 65536))). + let pow1957 = pow32 + * pow1956; // pow(trace_generator, (safe_div((safe_mult(22529, global_values.trace_length)), 32768))). + let pow1958 = pow32 + * pow1957; // pow(trace_generator, (safe_div((safe_mult(45059, global_values.trace_length)), 65536))). + let pow1959 = pow32 + * pow1958; // pow(trace_generator, (safe_div((safe_mult(11265, global_values.trace_length)), 16384))). + let pow1960 = pow32 + * pow1959; // pow(trace_generator, (safe_div((safe_mult(45061, global_values.trace_length)), 65536))). + let pow1961 = pow32 + * pow1960; // pow(trace_generator, (safe_div((safe_mult(22531, global_values.trace_length)), 32768))). + let pow1962 = pow32 + * pow1961; // pow(trace_generator, (safe_div((safe_mult(45063, global_values.trace_length)), 65536))). + let pow1963 = pow32 + * pow1962; // pow(trace_generator, (safe_div((safe_mult(5633, global_values.trace_length)), 8192))). + let pow1964 = pow32 + * pow1963; // pow(trace_generator, (safe_div((safe_mult(45065, global_values.trace_length)), 65536))). + let pow1965 = pow32 + * pow1964; // pow(trace_generator, (safe_div((safe_mult(22533, global_values.trace_length)), 32768))). + let pow1966 = pow32 + * pow1965; // pow(trace_generator, (safe_div((safe_mult(45067, global_values.trace_length)), 65536))). + let pow1967 = pow32 + * pow1966; // pow(trace_generator, (safe_div((safe_mult(11267, global_values.trace_length)), 16384))). + let pow1968 = pow32 + * pow1967; // pow(trace_generator, (safe_div((safe_mult(45069, global_values.trace_length)), 65536))). + let pow1969 = pow32 + * pow1968; // pow(trace_generator, (safe_div((safe_mult(22535, global_values.trace_length)), 32768))). + let pow1970 = pow32 + * pow1969; // pow(trace_generator, (safe_div((safe_mult(45071, global_values.trace_length)), 65536))). + let pow1971 = pow32 + * pow1970; // pow(trace_generator, (safe_div((safe_mult(2817, global_values.trace_length)), 4096))). + let pow1972 = pow32 + * pow1971; // pow(trace_generator, (safe_div((safe_mult(45073, global_values.trace_length)), 65536))). + let pow1973 = pow32 + * pow1972; // pow(trace_generator, (safe_div((safe_mult(22537, global_values.trace_length)), 32768))). + let pow1974 = pow32 + * pow1973; // pow(trace_generator, (safe_div((safe_mult(45075, global_values.trace_length)), 65536))). + let pow1975 = pow32 + * pow1974; // pow(trace_generator, (safe_div((safe_mult(11269, global_values.trace_length)), 16384))). + let pow1976 = pow32 + * pow1975; // pow(trace_generator, (safe_div((safe_mult(45077, global_values.trace_length)), 65536))). + let pow1977 = pow32 + * pow1976; // pow(trace_generator, (safe_div((safe_mult(22539, global_values.trace_length)), 32768))). + let pow1978 = pow32 + * pow1977; // pow(trace_generator, (safe_div((safe_mult(45079, global_values.trace_length)), 65536))). + let pow1979 = pow79 + * pow1978; // pow(trace_generator, (safe_div((safe_mult(705, global_values.trace_length)), 1024))). + let pow1980 = pow100 + * pow1979; // pow(trace_generator, (safe_div((safe_mult(353, global_values.trace_length)), 512))). + let pow1981 = pow100 + * pow1980; // pow(trace_generator, (safe_div((safe_mult(707, global_values.trace_length)), 1024))). + let pow1982 = pow100 + * pow1981; // pow(trace_generator, (safe_div((safe_mult(177, global_values.trace_length)), 256))). + let pow1983 = pow100 + * pow1982; // pow(trace_generator, (safe_div((safe_mult(709, global_values.trace_length)), 1024))). + let pow1984 = pow100 + * pow1983; // pow(trace_generator, (safe_div((safe_mult(355, global_values.trace_length)), 512))). + let pow1985 = pow100 + * pow1984; // pow(trace_generator, (safe_div((safe_mult(711, global_values.trace_length)), 1024))). + let pow1986 = pow100 + * pow1985; // pow(trace_generator, (safe_div((safe_mult(89, global_values.trace_length)), 128))). + let pow1987 = pow100 + * pow1986; // pow(trace_generator, (safe_div((safe_mult(713, global_values.trace_length)), 1024))). + let pow1988 = pow100 + * pow1987; // pow(trace_generator, (safe_div((safe_mult(357, global_values.trace_length)), 512))). + let pow1989 = pow100 + * pow1988; // pow(trace_generator, (safe_div((safe_mult(715, global_values.trace_length)), 1024))). + let pow1990 = pow100 + * pow1989; // pow(trace_generator, (safe_div((safe_mult(179, global_values.trace_length)), 256))). + let pow1991 = pow100 + * pow1990; // pow(trace_generator, (safe_div((safe_mult(717, global_values.trace_length)), 1024))). + let pow1992 = pow100 + * pow1991; // pow(trace_generator, (safe_div((safe_mult(359, global_values.trace_length)), 512))). + let pow1993 = pow100 + * pow1992; // pow(trace_generator, (safe_div((safe_mult(719, global_values.trace_length)), 1024))). + let pow1994 = pow100 + * pow1993; // pow(trace_generator, (safe_div((safe_mult(45, global_values.trace_length)), 64))). + let pow1995 = pow32 + * pow1994; // pow(trace_generator, (safe_div((safe_mult(46081, global_values.trace_length)), 65536))). + let pow1996 = pow32 + * pow1995; // pow(trace_generator, (safe_div((safe_mult(23041, global_values.trace_length)), 32768))). + let pow1997 = pow32 + * pow1996; // pow(trace_generator, (safe_div((safe_mult(46083, global_values.trace_length)), 65536))). + let pow1998 = pow32 + * pow1997; // pow(trace_generator, (safe_div((safe_mult(11521, global_values.trace_length)), 16384))). + let pow1999 = pow32 + * pow1998; // pow(trace_generator, (safe_div((safe_mult(46085, global_values.trace_length)), 65536))). + let pow2000 = pow32 + * pow1999; // pow(trace_generator, (safe_div((safe_mult(23043, global_values.trace_length)), 32768))). + let pow2001 = pow32 + * pow2000; // pow(trace_generator, (safe_div((safe_mult(46087, global_values.trace_length)), 65536))). + let pow2002 = pow32 + * pow2001; // pow(trace_generator, (safe_div((safe_mult(5761, global_values.trace_length)), 8192))). + let pow2003 = pow32 + * pow2002; // pow(trace_generator, (safe_div((safe_mult(46089, global_values.trace_length)), 65536))). + let pow2004 = pow32 + * pow2003; // pow(trace_generator, (safe_div((safe_mult(23045, global_values.trace_length)), 32768))). + let pow2005 = pow32 + * pow2004; // pow(trace_generator, (safe_div((safe_mult(46091, global_values.trace_length)), 65536))). + let pow2006 = pow32 + * pow2005; // pow(trace_generator, (safe_div((safe_mult(11523, global_values.trace_length)), 16384))). + let pow2007 = pow32 + * pow2006; // pow(trace_generator, (safe_div((safe_mult(46093, global_values.trace_length)), 65536))). + let pow2008 = pow32 + * pow2007; // pow(trace_generator, (safe_div((safe_mult(23047, global_values.trace_length)), 32768))). + let pow2009 = pow32 + * pow2008; // pow(trace_generator, (safe_div((safe_mult(46095, global_values.trace_length)), 65536))). + let pow2010 = pow32 + * pow2009; // pow(trace_generator, (safe_div((safe_mult(2881, global_values.trace_length)), 4096))). + let pow2011 = pow32 + * pow2010; // pow(trace_generator, (safe_div((safe_mult(46097, global_values.trace_length)), 65536))). + let pow2012 = pow32 + * pow2011; // pow(trace_generator, (safe_div((safe_mult(23049, global_values.trace_length)), 32768))). + let pow2013 = pow32 + * pow2012; // pow(trace_generator, (safe_div((safe_mult(46099, global_values.trace_length)), 65536))). + let pow2014 = pow32 + * pow2013; // pow(trace_generator, (safe_div((safe_mult(11525, global_values.trace_length)), 16384))). + let pow2015 = pow32 + * pow2014; // pow(trace_generator, (safe_div((safe_mult(46101, global_values.trace_length)), 65536))). + let pow2016 = pow32 + * pow2015; // pow(trace_generator, (safe_div((safe_mult(23051, global_values.trace_length)), 32768))). + let pow2017 = pow32 + * pow2016; // pow(trace_generator, (safe_div((safe_mult(46103, global_values.trace_length)), 65536))). + let pow2018 = pow79 + * pow2017; // pow(trace_generator, (safe_div((safe_mult(721, global_values.trace_length)), 1024))). + let pow2019 = pow100 + * pow2018; // pow(trace_generator, (safe_div((safe_mult(361, global_values.trace_length)), 512))). + let pow2020 = pow100 + * pow2019; // pow(trace_generator, (safe_div((safe_mult(723, global_values.trace_length)), 1024))). + let pow2021 = pow100 + * pow2020; // pow(trace_generator, (safe_div((safe_mult(181, global_values.trace_length)), 256))). + let pow2022 = pow100 + * pow2021; // pow(trace_generator, (safe_div((safe_mult(725, global_values.trace_length)), 1024))). + let pow2023 = pow100 + * pow2022; // pow(trace_generator, (safe_div((safe_mult(363, global_values.trace_length)), 512))). + let pow2024 = pow100 + * pow2023; // pow(trace_generator, (safe_div((safe_mult(727, global_values.trace_length)), 1024))). + let pow2025 = pow580 + * pow2024; // pow(trace_generator, (safe_div((safe_mult(23, global_values.trace_length)), 32))). + let pow2026 = pow793 + * pow2025; // pow(trace_generator, (safe_div((safe_mult(47, global_values.trace_length)), 64))). + let pow2027 = pow32 + * pow2025; // pow(trace_generator, (safe_div((safe_mult(47105, global_values.trace_length)), 65536))). + let pow2028 = pow32 + * pow2026; // pow(trace_generator, (safe_div((safe_mult(48129, global_values.trace_length)), 65536))). + let pow2029 = pow32 + * pow2027; // pow(trace_generator, (safe_div((safe_mult(23553, global_values.trace_length)), 32768))). + let pow2030 = pow32 + * pow2028; // pow(trace_generator, (safe_div((safe_mult(24065, global_values.trace_length)), 32768))). + let pow2031 = pow32 + * pow2029; // pow(trace_generator, (safe_div((safe_mult(47107, global_values.trace_length)), 65536))). + let pow2032 = pow32 + * pow2030; // pow(trace_generator, (safe_div((safe_mult(48131, global_values.trace_length)), 65536))). + let pow2033 = pow32 + * pow2031; // pow(trace_generator, (safe_div((safe_mult(11777, global_values.trace_length)), 16384))). + let pow2034 = pow32 + * pow2032; // pow(trace_generator, (safe_div((safe_mult(12033, global_values.trace_length)), 16384))). + let pow2035 = pow32 + * pow2033; // pow(trace_generator, (safe_div((safe_mult(47109, global_values.trace_length)), 65536))). + let pow2036 = pow32 + * pow2034; // pow(trace_generator, (safe_div((safe_mult(48133, global_values.trace_length)), 65536))). + let pow2037 = pow32 + * pow2035; // pow(trace_generator, (safe_div((safe_mult(23555, global_values.trace_length)), 32768))). + let pow2038 = pow32 + * pow2036; // pow(trace_generator, (safe_div((safe_mult(24067, global_values.trace_length)), 32768))). + let pow2039 = pow32 + * pow2037; // pow(trace_generator, (safe_div((safe_mult(47111, global_values.trace_length)), 65536))). + let pow2040 = pow32 + * pow2039; // pow(trace_generator, (safe_div((safe_mult(5889, global_values.trace_length)), 8192))). + let pow2041 = pow32 + * pow2040; // pow(trace_generator, (safe_div((safe_mult(47113, global_values.trace_length)), 65536))). + let pow2042 = pow32 + * pow2041; // pow(trace_generator, (safe_div((safe_mult(23557, global_values.trace_length)), 32768))). + let pow2043 = pow32 + * pow2042; // pow(trace_generator, (safe_div((safe_mult(47115, global_values.trace_length)), 65536))). + let pow2044 = pow32 + * pow2043; // pow(trace_generator, (safe_div((safe_mult(11779, global_values.trace_length)), 16384))). + let pow2045 = pow32 + * pow2044; // pow(trace_generator, (safe_div((safe_mult(47117, global_values.trace_length)), 65536))). + let pow2046 = pow32 + * pow2045; // pow(trace_generator, (safe_div((safe_mult(23559, global_values.trace_length)), 32768))). + let pow2047 = pow32 + * pow2046; // pow(trace_generator, (safe_div((safe_mult(47119, global_values.trace_length)), 65536))). + let pow2048 = pow32 + * pow2047; // pow(trace_generator, (safe_div((safe_mult(2945, global_values.trace_length)), 4096))). + let pow2049 = pow32 + * pow2048; // pow(trace_generator, (safe_div((safe_mult(47121, global_values.trace_length)), 65536))). + let pow2050 = pow32 + * pow2049; // pow(trace_generator, (safe_div((safe_mult(23561, global_values.trace_length)), 32768))). + let pow2051 = pow32 + * pow2050; // pow(trace_generator, (safe_div((safe_mult(47123, global_values.trace_length)), 65536))). + let pow2052 = pow32 + * pow2051; // pow(trace_generator, (safe_div((safe_mult(11781, global_values.trace_length)), 16384))). + let pow2053 = pow32 + * pow2052; // pow(trace_generator, (safe_div((safe_mult(47125, global_values.trace_length)), 65536))). + let pow2054 = pow32 + * pow2053; // pow(trace_generator, (safe_div((safe_mult(23563, global_values.trace_length)), 32768))). + let pow2055 = pow32 + * pow2054; // pow(trace_generator, (safe_div((safe_mult(47127, global_values.trace_length)), 65536))). + let pow2056 = pow32 + * pow2038; // pow(trace_generator, (safe_div((safe_mult(48135, global_values.trace_length)), 65536))). + let pow2057 = pow32 + * pow2056; // pow(trace_generator, (safe_div((safe_mult(6017, global_values.trace_length)), 8192))). + let pow2058 = pow32 + * pow2057; // pow(trace_generator, (safe_div((safe_mult(48137, global_values.trace_length)), 65536))). + let pow2059 = pow32 + * pow2058; // pow(trace_generator, (safe_div((safe_mult(24069, global_values.trace_length)), 32768))). + let pow2060 = pow32 + * pow2059; // pow(trace_generator, (safe_div((safe_mult(48139, global_values.trace_length)), 65536))). + let pow2061 = pow32 + * pow2060; // pow(trace_generator, (safe_div((safe_mult(12035, global_values.trace_length)), 16384))). + let pow2062 = pow32 + * pow2061; // pow(trace_generator, (safe_div((safe_mult(48141, global_values.trace_length)), 65536))). + let pow2063 = pow32 + * pow2062; // pow(trace_generator, (safe_div((safe_mult(24071, global_values.trace_length)), 32768))). + let pow2064 = pow32 + * pow2063; // pow(trace_generator, (safe_div((safe_mult(48143, global_values.trace_length)), 65536))). + let pow2065 = pow32 + * pow2064; // pow(trace_generator, (safe_div((safe_mult(3009, global_values.trace_length)), 4096))). + let pow2066 = pow32 + * pow2065; // pow(trace_generator, (safe_div((safe_mult(48145, global_values.trace_length)), 65536))). + let pow2067 = pow32 + * pow2066; // pow(trace_generator, (safe_div((safe_mult(24073, global_values.trace_length)), 32768))). + let pow2068 = pow32 + * pow2067; // pow(trace_generator, (safe_div((safe_mult(48147, global_values.trace_length)), 65536))). + let pow2069 = pow32 + * pow2068; // pow(trace_generator, (safe_div((safe_mult(12037, global_values.trace_length)), 16384))). + let pow2070 = pow32 + * pow2069; // pow(trace_generator, (safe_div((safe_mult(48149, global_values.trace_length)), 65536))). + let pow2071 = pow32 + * pow2070; // pow(trace_generator, (safe_div((safe_mult(24075, global_values.trace_length)), 32768))). + let pow2072 = pow32 + * pow2071; // pow(trace_generator, (safe_div((safe_mult(48151, global_values.trace_length)), 65536))). + let pow2073 = pow793 + * pow2026; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 4))). + let pow2074 = pow32 + * pow2073; // pow(trace_generator, (safe_div((safe_mult(49153, global_values.trace_length)), 65536))). + let pow2075 = pow32 + * pow2074; // pow(trace_generator, (safe_div((safe_mult(24577, global_values.trace_length)), 32768))). + let pow2076 = pow32 + * pow2075; // pow(trace_generator, (safe_div((safe_mult(49155, global_values.trace_length)), 65536))). + let pow2077 = pow32 + * pow2076; // pow(trace_generator, (safe_div((safe_mult(12289, global_values.trace_length)), 16384))). + let pow2078 = pow32 + * pow2077; // pow(trace_generator, (safe_div((safe_mult(49157, global_values.trace_length)), 65536))). + let pow2079 = pow32 + * pow2078; // pow(trace_generator, (safe_div((safe_mult(24579, global_values.trace_length)), 32768))). + let pow2080 = pow32 + * pow2079; // pow(trace_generator, (safe_div((safe_mult(49159, global_values.trace_length)), 65536))). + let pow2081 = pow32 + * pow2080; // pow(trace_generator, (safe_div((safe_mult(6145, global_values.trace_length)), 8192))). + let pow2082 = pow32 + * pow2081; // pow(trace_generator, (safe_div((safe_mult(49161, global_values.trace_length)), 65536))). + let pow2083 = pow32 + * pow2082; // pow(trace_generator, (safe_div((safe_mult(24581, global_values.trace_length)), 32768))). + let pow2084 = pow32 + * pow2083; // pow(trace_generator, (safe_div((safe_mult(49163, global_values.trace_length)), 65536))). + let pow2085 = pow32 + * pow2084; // pow(trace_generator, (safe_div((safe_mult(12291, global_values.trace_length)), 16384))). + let pow2086 = pow32 + * pow2085; // pow(trace_generator, (safe_div((safe_mult(49165, global_values.trace_length)), 65536))). + let pow2087 = pow32 + * pow2086; // pow(trace_generator, (safe_div((safe_mult(24583, global_values.trace_length)), 32768))). + let pow2088 = pow32 + * pow2087; // pow(trace_generator, (safe_div((safe_mult(49167, global_values.trace_length)), 65536))). + let pow2089 = pow32 + * pow2088; // pow(trace_generator, (safe_div((safe_mult(3073, global_values.trace_length)), 4096))). + let pow2090 = pow32 + * pow2089; // pow(trace_generator, (safe_div((safe_mult(49169, global_values.trace_length)), 65536))). + let pow2091 = pow32 + * pow2090; // pow(trace_generator, (safe_div((safe_mult(24585, global_values.trace_length)), 32768))). + let pow2092 = pow32 + * pow2091; // pow(trace_generator, (safe_div((safe_mult(49171, global_values.trace_length)), 65536))). + let pow2093 = pow32 + * pow2092; // pow(trace_generator, (safe_div((safe_mult(12293, global_values.trace_length)), 16384))). + let pow2094 = pow32 + * pow2093; // pow(trace_generator, (safe_div((safe_mult(49173, global_values.trace_length)), 65536))). + let pow2095 = pow32 + * pow2094; // pow(trace_generator, (safe_div((safe_mult(24587, global_values.trace_length)), 32768))). + let pow2096 = pow32 + * pow2095; // pow(trace_generator, (safe_div((safe_mult(49175, global_values.trace_length)), 65536))). + let pow2097 = pow793 + * pow2073; // pow(trace_generator, (safe_div((safe_mult(49, global_values.trace_length)), 64))). + let pow2098 = pow32 + * pow2097; // pow(trace_generator, (safe_div((safe_mult(50177, global_values.trace_length)), 65536))). + let pow2099 = pow32 + * pow2098; // pow(trace_generator, (safe_div((safe_mult(25089, global_values.trace_length)), 32768))). + let pow2100 = pow32 + * pow2099; // pow(trace_generator, (safe_div((safe_mult(50179, global_values.trace_length)), 65536))). + let pow2101 = pow32 + * pow2100; // pow(trace_generator, (safe_div((safe_mult(12545, global_values.trace_length)), 16384))). + let pow2102 = pow32 + * pow2101; // pow(trace_generator, (safe_div((safe_mult(50181, global_values.trace_length)), 65536))). + let pow2103 = pow32 + * pow2102; // pow(trace_generator, (safe_div((safe_mult(25091, global_values.trace_length)), 32768))). + let pow2104 = pow32 + * pow2103; // pow(trace_generator, (safe_div((safe_mult(50183, global_values.trace_length)), 65536))). + let pow2105 = pow32 + * pow2104; // pow(trace_generator, (safe_div((safe_mult(6273, global_values.trace_length)), 8192))). + let pow2106 = pow32 + * pow2105; // pow(trace_generator, (safe_div((safe_mult(50185, global_values.trace_length)), 65536))). + let pow2107 = pow32 + * pow2106; // pow(trace_generator, (safe_div((safe_mult(25093, global_values.trace_length)), 32768))). + let pow2108 = pow32 + * pow2107; // pow(trace_generator, (safe_div((safe_mult(50187, global_values.trace_length)), 65536))). + let pow2109 = pow32 + * pow2108; // pow(trace_generator, (safe_div((safe_mult(12547, global_values.trace_length)), 16384))). + let pow2110 = pow32 + * pow2109; // pow(trace_generator, (safe_div((safe_mult(50189, global_values.trace_length)), 65536))). + let pow2111 = pow32 + * pow2110; // pow(trace_generator, (safe_div((safe_mult(25095, global_values.trace_length)), 32768))). + let pow2112 = pow32 + * pow2111; // pow(trace_generator, (safe_div((safe_mult(50191, global_values.trace_length)), 65536))). + let pow2113 = pow32 + * pow2112; // pow(trace_generator, (safe_div((safe_mult(3137, global_values.trace_length)), 4096))). + let pow2114 = pow32 + * pow2113; // pow(trace_generator, (safe_div((safe_mult(50193, global_values.trace_length)), 65536))). + let pow2115 = pow32 + * pow2114; // pow(trace_generator, (safe_div((safe_mult(25097, global_values.trace_length)), 32768))). + let pow2116 = pow32 + * pow2115; // pow(trace_generator, (safe_div((safe_mult(50195, global_values.trace_length)), 65536))). + let pow2117 = pow32 + * pow2116; // pow(trace_generator, (safe_div((safe_mult(12549, global_values.trace_length)), 16384))). + let pow2118 = pow32 + * pow2117; // pow(trace_generator, (safe_div((safe_mult(50197, global_values.trace_length)), 65536))). + let pow2119 = pow32 + * pow2118; // pow(trace_generator, (safe_div((safe_mult(25099, global_values.trace_length)), 32768))). + let pow2120 = pow32 + * pow2119; // pow(trace_generator, (safe_div((safe_mult(50199, global_values.trace_length)), 65536))). + let pow2121 = pow793 + * pow2097; // pow(trace_generator, (safe_div((safe_mult(25, global_values.trace_length)), 32))). + let pow2122 = pow793 + * pow2121; // pow(trace_generator, (safe_div((safe_mult(51, global_values.trace_length)), 64))). + let pow2123 = pow32 + * pow2121; // pow(trace_generator, (safe_div((safe_mult(51201, global_values.trace_length)), 65536))). + let pow2124 = pow32 + * pow2122; // pow(trace_generator, (safe_div((safe_mult(52225, global_values.trace_length)), 65536))). + let pow2125 = pow32 + * pow2123; // pow(trace_generator, (safe_div((safe_mult(25601, global_values.trace_length)), 32768))). + let pow2126 = pow32 + * pow2124; // pow(trace_generator, (safe_div((safe_mult(26113, global_values.trace_length)), 32768))). + let pow2127 = pow32 + * pow2125; // pow(trace_generator, (safe_div((safe_mult(51203, global_values.trace_length)), 65536))). + let pow2128 = pow32 + * pow2126; // pow(trace_generator, (safe_div((safe_mult(52227, global_values.trace_length)), 65536))). + let pow2129 = pow32 + * pow2127; // pow(trace_generator, (safe_div((safe_mult(12801, global_values.trace_length)), 16384))). + let pow2130 = pow32 + * pow2128; // pow(trace_generator, (safe_div((safe_mult(13057, global_values.trace_length)), 16384))). + let pow2131 = pow32 + * pow2129; // pow(trace_generator, (safe_div((safe_mult(51205, global_values.trace_length)), 65536))). + let pow2132 = pow32 + * pow2130; // pow(trace_generator, (safe_div((safe_mult(52229, global_values.trace_length)), 65536))). + let pow2133 = pow32 + * pow2131; // pow(trace_generator, (safe_div((safe_mult(25603, global_values.trace_length)), 32768))). + let pow2134 = pow32 + * pow2132; // pow(trace_generator, (safe_div((safe_mult(26115, global_values.trace_length)), 32768))). + let pow2135 = pow32 + * pow2133; // pow(trace_generator, (safe_div((safe_mult(51207, global_values.trace_length)), 65536))). + let pow2136 = pow32 + * pow2135; // pow(trace_generator, (safe_div((safe_mult(6401, global_values.trace_length)), 8192))). + let pow2137 = pow32 + * pow2136; // pow(trace_generator, (safe_div((safe_mult(51209, global_values.trace_length)), 65536))). + let pow2138 = pow32 + * pow2137; // pow(trace_generator, (safe_div((safe_mult(25605, global_values.trace_length)), 32768))). + let pow2139 = pow32 + * pow2138; // pow(trace_generator, (safe_div((safe_mult(51211, global_values.trace_length)), 65536))). + let pow2140 = pow32 + * pow2139; // pow(trace_generator, (safe_div((safe_mult(12803, global_values.trace_length)), 16384))). + let pow2141 = pow32 + * pow2140; // pow(trace_generator, (safe_div((safe_mult(51213, global_values.trace_length)), 65536))). + let pow2142 = pow32 + * pow2141; // pow(trace_generator, (safe_div((safe_mult(25607, global_values.trace_length)), 32768))). + let pow2143 = pow32 + * pow2142; // pow(trace_generator, (safe_div((safe_mult(51215, global_values.trace_length)), 65536))). + let pow2144 = pow32 + * pow2143; // pow(trace_generator, (safe_div((safe_mult(3201, global_values.trace_length)), 4096))). + let pow2145 = pow32 + * pow2144; // pow(trace_generator, (safe_div((safe_mult(51217, global_values.trace_length)), 65536))). + let pow2146 = pow32 + * pow2145; // pow(trace_generator, (safe_div((safe_mult(25609, global_values.trace_length)), 32768))). + let pow2147 = pow32 + * pow2146; // pow(trace_generator, (safe_div((safe_mult(51219, global_values.trace_length)), 65536))). + let pow2148 = pow32 + * pow2147; // pow(trace_generator, (safe_div((safe_mult(12805, global_values.trace_length)), 16384))). + let pow2149 = pow32 + * pow2148; // pow(trace_generator, (safe_div((safe_mult(51221, global_values.trace_length)), 65536))). + let pow2150 = pow32 + * pow2149; // pow(trace_generator, (safe_div((safe_mult(25611, global_values.trace_length)), 32768))). + let pow2151 = pow32 + * pow2150; // pow(trace_generator, (safe_div((safe_mult(51223, global_values.trace_length)), 65536))). + let pow2152 = pow32 + * pow2134; // pow(trace_generator, (safe_div((safe_mult(52231, global_values.trace_length)), 65536))). + let pow2153 = pow32 + * pow2152; // pow(trace_generator, (safe_div((safe_mult(6529, global_values.trace_length)), 8192))). + let pow2154 = pow32 + * pow2153; // pow(trace_generator, (safe_div((safe_mult(52233, global_values.trace_length)), 65536))). + let pow2155 = pow32 + * pow2154; // pow(trace_generator, (safe_div((safe_mult(26117, global_values.trace_length)), 32768))). + let pow2156 = pow32 + * pow2155; // pow(trace_generator, (safe_div((safe_mult(52235, global_values.trace_length)), 65536))). + let pow2157 = pow32 + * pow2156; // pow(trace_generator, (safe_div((safe_mult(13059, global_values.trace_length)), 16384))). + let pow2158 = pow32 + * pow2157; // pow(trace_generator, (safe_div((safe_mult(52237, global_values.trace_length)), 65536))). + let pow2159 = pow32 + * pow2158; // pow(trace_generator, (safe_div((safe_mult(26119, global_values.trace_length)), 32768))). + let pow2160 = pow32 + * pow2159; // pow(trace_generator, (safe_div((safe_mult(52239, global_values.trace_length)), 65536))). + let pow2161 = pow32 + * pow2160; // pow(trace_generator, (safe_div((safe_mult(3265, global_values.trace_length)), 4096))). + let pow2162 = pow32 + * pow2161; // pow(trace_generator, (safe_div((safe_mult(52241, global_values.trace_length)), 65536))). + let pow2163 = pow32 + * pow2162; // pow(trace_generator, (safe_div((safe_mult(26121, global_values.trace_length)), 32768))). + let pow2164 = pow32 + * pow2163; // pow(trace_generator, (safe_div((safe_mult(52243, global_values.trace_length)), 65536))). + let pow2165 = pow32 + * pow2164; // pow(trace_generator, (safe_div((safe_mult(13061, global_values.trace_length)), 16384))). + let pow2166 = pow32 + * pow2165; // pow(trace_generator, (safe_div((safe_mult(52245, global_values.trace_length)), 65536))). + let pow2167 = pow32 + * pow2166; // pow(trace_generator, (safe_div((safe_mult(26123, global_values.trace_length)), 32768))). + let pow2168 = pow32 + * pow2167; // pow(trace_generator, (safe_div((safe_mult(52247, global_values.trace_length)), 65536))). + let pow2169 = pow793 + * pow2122; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 16))). + let pow2170 = pow32 + * pow2169; // pow(trace_generator, (safe_div((safe_mult(53249, global_values.trace_length)), 65536))). + let pow2171 = pow32 + * pow2170; // pow(trace_generator, (safe_div((safe_mult(26625, global_values.trace_length)), 32768))). + let pow2172 = pow32 + * pow2171; // pow(trace_generator, (safe_div((safe_mult(53251, global_values.trace_length)), 65536))). + let pow2173 = pow32 + * pow2172; // pow(trace_generator, (safe_div((safe_mult(13313, global_values.trace_length)), 16384))). + let pow2174 = pow32 + * pow2173; // pow(trace_generator, (safe_div((safe_mult(53253, global_values.trace_length)), 65536))). + let pow2175 = pow32 + * pow2174; // pow(trace_generator, (safe_div((safe_mult(26627, global_values.trace_length)), 32768))). + let pow2176 = pow32 + * pow2175; // pow(trace_generator, (safe_div((safe_mult(53255, global_values.trace_length)), 65536))). + let pow2177 = pow32 + * pow2176; // pow(trace_generator, (safe_div((safe_mult(6657, global_values.trace_length)), 8192))). + let pow2178 = pow32 + * pow2177; // pow(trace_generator, (safe_div((safe_mult(53257, global_values.trace_length)), 65536))). + let pow2179 = pow32 + * pow2178; // pow(trace_generator, (safe_div((safe_mult(26629, global_values.trace_length)), 32768))). + let pow2180 = pow32 + * pow2179; // pow(trace_generator, (safe_div((safe_mult(53259, global_values.trace_length)), 65536))). + let pow2181 = pow32 + * pow2180; // pow(trace_generator, (safe_div((safe_mult(13315, global_values.trace_length)), 16384))). + let pow2182 = pow32 + * pow2181; // pow(trace_generator, (safe_div((safe_mult(53261, global_values.trace_length)), 65536))). + let pow2183 = pow32 + * pow2182; // pow(trace_generator, (safe_div((safe_mult(26631, global_values.trace_length)), 32768))). + let pow2184 = pow32 + * pow2183; // pow(trace_generator, (safe_div((safe_mult(53263, global_values.trace_length)), 65536))). + let pow2185 = pow32 + * pow2184; // pow(trace_generator, (safe_div((safe_mult(3329, global_values.trace_length)), 4096))). + let pow2186 = pow32 + * pow2185; // pow(trace_generator, (safe_div((safe_mult(53265, global_values.trace_length)), 65536))). + let pow2187 = pow32 + * pow2186; // pow(trace_generator, (safe_div((safe_mult(26633, global_values.trace_length)), 32768))). + let pow2188 = pow32 + * pow2187; // pow(trace_generator, (safe_div((safe_mult(53267, global_values.trace_length)), 65536))). + let pow2189 = pow32 + * pow2188; // pow(trace_generator, (safe_div((safe_mult(13317, global_values.trace_length)), 16384))). + let pow2190 = pow32 + * pow2189; // pow(trace_generator, (safe_div((safe_mult(53269, global_values.trace_length)), 65536))). + let pow2191 = pow32 + * pow2190; // pow(trace_generator, (safe_div((safe_mult(26635, global_values.trace_length)), 32768))). + let pow2192 = pow32 + * pow2191; // pow(trace_generator, (safe_div((safe_mult(53271, global_values.trace_length)), 65536))). + let pow2193 = pow79 + * pow2192; // pow(trace_generator, (safe_div((safe_mult(833, global_values.trace_length)), 1024))). + let pow2194 = pow100 + * pow2193; // pow(trace_generator, (safe_div((safe_mult(417, global_values.trace_length)), 512))). + let pow2195 = pow100 + * pow2194; // pow(trace_generator, (safe_div((safe_mult(835, global_values.trace_length)), 1024))). + let pow2196 = pow100 + * pow2195; // pow(trace_generator, (safe_div((safe_mult(209, global_values.trace_length)), 256))). + let pow2197 = pow100 + * pow2196; // pow(trace_generator, (safe_div((safe_mult(837, global_values.trace_length)), 1024))). + let pow2198 = pow100 + * pow2197; // pow(trace_generator, (safe_div((safe_mult(419, global_values.trace_length)), 512))). + let pow2199 = pow100 + * pow2198; // pow(trace_generator, (safe_div((safe_mult(839, global_values.trace_length)), 1024))). + let pow2200 = pow100 + * pow2199; // pow(trace_generator, (safe_div((safe_mult(105, global_values.trace_length)), 128))). + let pow2201 = pow100 + * pow2200; // pow(trace_generator, (safe_div((safe_mult(841, global_values.trace_length)), 1024))). + let pow2202 = pow100 + * pow2201; // pow(trace_generator, (safe_div((safe_mult(421, global_values.trace_length)), 512))). + let pow2203 = pow100 + * pow2202; // pow(trace_generator, (safe_div((safe_mult(843, global_values.trace_length)), 1024))). + let pow2204 = pow100 + * pow2203; // pow(trace_generator, (safe_div((safe_mult(211, global_values.trace_length)), 256))). + let pow2205 = pow100 + * pow2204; // pow(trace_generator, (safe_div((safe_mult(845, global_values.trace_length)), 1024))). + let pow2206 = pow100 + * pow2205; // pow(trace_generator, (safe_div((safe_mult(423, global_values.trace_length)), 512))). + let pow2207 = pow100 + * pow2206; // pow(trace_generator, (safe_div((safe_mult(847, global_values.trace_length)), 1024))). + let pow2208 = pow100 + * pow2207; // pow(trace_generator, (safe_div((safe_mult(53, global_values.trace_length)), 64))). + let pow2209 = pow32 + * pow2208; // pow(trace_generator, (safe_div((safe_mult(54273, global_values.trace_length)), 65536))). + let pow2210 = pow32 + * pow2209; // pow(trace_generator, (safe_div((safe_mult(27137, global_values.trace_length)), 32768))). + let pow2211 = pow32 + * pow2210; // pow(trace_generator, (safe_div((safe_mult(54275, global_values.trace_length)), 65536))). + let pow2212 = pow32 + * pow2211; // pow(trace_generator, (safe_div((safe_mult(13569, global_values.trace_length)), 16384))). + let pow2213 = pow32 + * pow2212; // pow(trace_generator, (safe_div((safe_mult(54277, global_values.trace_length)), 65536))). + let pow2214 = pow32 + * pow2213; // pow(trace_generator, (safe_div((safe_mult(27139, global_values.trace_length)), 32768))). + let pow2215 = pow32 + * pow2214; // pow(trace_generator, (safe_div((safe_mult(54279, global_values.trace_length)), 65536))). + let pow2216 = pow32 + * pow2215; // pow(trace_generator, (safe_div((safe_mult(6785, global_values.trace_length)), 8192))). + let pow2217 = pow32 + * pow2216; // pow(trace_generator, (safe_div((safe_mult(54281, global_values.trace_length)), 65536))). + let pow2218 = pow32 + * pow2217; // pow(trace_generator, (safe_div((safe_mult(27141, global_values.trace_length)), 32768))). + let pow2219 = pow32 + * pow2218; // pow(trace_generator, (safe_div((safe_mult(54283, global_values.trace_length)), 65536))). + let pow2220 = pow32 + * pow2219; // pow(trace_generator, (safe_div((safe_mult(13571, global_values.trace_length)), 16384))). + let pow2221 = pow32 + * pow2220; // pow(trace_generator, (safe_div((safe_mult(54285, global_values.trace_length)), 65536))). + let pow2222 = pow32 + * pow2221; // pow(trace_generator, (safe_div((safe_mult(27143, global_values.trace_length)), 32768))). + let pow2223 = pow32 + * pow2222; // pow(trace_generator, (safe_div((safe_mult(54287, global_values.trace_length)), 65536))). + let pow2224 = pow32 + * pow2223; // pow(trace_generator, (safe_div((safe_mult(3393, global_values.trace_length)), 4096))). + let pow2225 = pow32 + * pow2224; // pow(trace_generator, (safe_div((safe_mult(54289, global_values.trace_length)), 65536))). + let pow2226 = pow32 + * pow2225; // pow(trace_generator, (safe_div((safe_mult(27145, global_values.trace_length)), 32768))). + let pow2227 = pow32 + * pow2226; // pow(trace_generator, (safe_div((safe_mult(54291, global_values.trace_length)), 65536))). + let pow2228 = pow32 + * pow2227; // pow(trace_generator, (safe_div((safe_mult(13573, global_values.trace_length)), 16384))). + let pow2229 = pow32 + * pow2228; // pow(trace_generator, (safe_div((safe_mult(54293, global_values.trace_length)), 65536))). + let pow2230 = pow32 + * pow2229; // pow(trace_generator, (safe_div((safe_mult(27147, global_values.trace_length)), 32768))). + let pow2231 = pow32 + * pow2230; // pow(trace_generator, (safe_div((safe_mult(54295, global_values.trace_length)), 65536))). + let pow2232 = pow79 + * pow2231; // pow(trace_generator, (safe_div((safe_mult(849, global_values.trace_length)), 1024))). + let pow2233 = pow100 + * pow2232; // pow(trace_generator, (safe_div((safe_mult(425, global_values.trace_length)), 512))). + let pow2234 = pow100 + * pow2233; // pow(trace_generator, (safe_div((safe_mult(851, global_values.trace_length)), 1024))). + let pow2235 = pow100 + * pow2234; // pow(trace_generator, (safe_div((safe_mult(213, global_values.trace_length)), 256))). + let pow2236 = pow100 + * pow2235; // pow(trace_generator, (safe_div((safe_mult(853, global_values.trace_length)), 1024))). + let pow2237 = pow100 + * pow2236; // pow(trace_generator, (safe_div((safe_mult(427, global_values.trace_length)), 512))). + let pow2238 = pow100 + * pow2237; // pow(trace_generator, (safe_div((safe_mult(855, global_values.trace_length)), 1024))). + let pow2239 = pow100 + * pow2238; // pow(trace_generator, (safe_div((safe_mult(107, global_values.trace_length)), 128))). + let pow2240 = pow100 + * pow2239; // pow(trace_generator, (safe_div((safe_mult(857, global_values.trace_length)), 1024))). + let pow2241 = pow100 + * pow2240; // pow(trace_generator, (safe_div((safe_mult(429, global_values.trace_length)), 512))). + let pow2242 = pow100 + * pow2241; // pow(trace_generator, (safe_div((safe_mult(859, global_values.trace_length)), 1024))). + let pow2243 = pow100 + * pow2242; // pow(trace_generator, (safe_div((safe_mult(215, global_values.trace_length)), 256))). + let pow2244 = pow100 + * pow2243; // pow(trace_generator, (safe_div((safe_mult(861, global_values.trace_length)), 1024))). + let pow2245 = pow220 + * pow2244; // pow(trace_generator, (safe_div((safe_mult(27, global_values.trace_length)), 32))). + let pow2246 = pow32 + * pow2245; // pow(trace_generator, (safe_div((safe_mult(55297, global_values.trace_length)), 65536))). + let pow2247 = pow32 + * pow2246; // pow(trace_generator, (safe_div((safe_mult(27649, global_values.trace_length)), 32768))). + let pow2248 = pow32 + * pow2247; // pow(trace_generator, (safe_div((safe_mult(55299, global_values.trace_length)), 65536))). + let pow2249 = pow32 + * pow2248; // pow(trace_generator, (safe_div((safe_mult(13825, global_values.trace_length)), 16384))). + let pow2250 = pow32 + * pow2249; // pow(trace_generator, (safe_div((safe_mult(55301, global_values.trace_length)), 65536))). + let pow2251 = pow32 + * pow2250; // pow(trace_generator, (safe_div((safe_mult(27651, global_values.trace_length)), 32768))). + let pow2252 = pow32 + * pow2251; // pow(trace_generator, (safe_div((safe_mult(55303, global_values.trace_length)), 65536))). + let pow2253 = pow32 + * pow2252; // pow(trace_generator, (safe_div((safe_mult(6913, global_values.trace_length)), 8192))). + let pow2254 = pow32 + * pow2253; // pow(trace_generator, (safe_div((safe_mult(55305, global_values.trace_length)), 65536))). + let pow2255 = pow32 + * pow2254; // pow(trace_generator, (safe_div((safe_mult(27653, global_values.trace_length)), 32768))). + let pow2256 = pow32 + * pow2255; // pow(trace_generator, (safe_div((safe_mult(55307, global_values.trace_length)), 65536))). + let pow2257 = pow32 + * pow2256; // pow(trace_generator, (safe_div((safe_mult(13827, global_values.trace_length)), 16384))). + let pow2258 = pow32 + * pow2257; // pow(trace_generator, (safe_div((safe_mult(55309, global_values.trace_length)), 65536))). + let pow2259 = pow32 + * pow2258; // pow(trace_generator, (safe_div((safe_mult(27655, global_values.trace_length)), 32768))). + let pow2260 = pow32 + * pow2259; // pow(trace_generator, (safe_div((safe_mult(55311, global_values.trace_length)), 65536))). + let pow2261 = pow32 + * pow2260; // pow(trace_generator, (safe_div((safe_mult(3457, global_values.trace_length)), 4096))). + let pow2262 = pow32 + * pow2261; // pow(trace_generator, (safe_div((safe_mult(55313, global_values.trace_length)), 65536))). + let pow2263 = pow32 + * pow2262; // pow(trace_generator, (safe_div((safe_mult(27657, global_values.trace_length)), 32768))). + let pow2264 = pow32 + * pow2263; // pow(trace_generator, (safe_div((safe_mult(55315, global_values.trace_length)), 65536))). + let pow2265 = pow32 + * pow2264; // pow(trace_generator, (safe_div((safe_mult(13829, global_values.trace_length)), 16384))). + let pow2266 = pow32 + * pow2265; // pow(trace_generator, (safe_div((safe_mult(55317, global_values.trace_length)), 65536))). + let pow2267 = pow32 + * pow2266; // pow(trace_generator, (safe_div((safe_mult(27659, global_values.trace_length)), 32768))). + let pow2268 = pow32 + * pow2267; // pow(trace_generator, (safe_div((safe_mult(55319, global_values.trace_length)), 65536))). + let pow2269 = pow79 + * pow2268; // pow(trace_generator, (safe_div((safe_mult(865, global_values.trace_length)), 1024))). + let pow2270 = pow100 + * pow2269; // pow(trace_generator, (safe_div((safe_mult(433, global_values.trace_length)), 512))). + let pow2271 = pow100 + * pow2270; // pow(trace_generator, (safe_div((safe_mult(867, global_values.trace_length)), 1024))). + let pow2272 = pow100 + * pow2271; // pow(trace_generator, (safe_div((safe_mult(217, global_values.trace_length)), 256))). + let pow2273 = pow100 + * pow2272; // pow(trace_generator, (safe_div((safe_mult(869, global_values.trace_length)), 1024))). + let pow2274 = pow100 + * pow2273; // pow(trace_generator, (safe_div((safe_mult(435, global_values.trace_length)), 512))). + let pow2275 = pow100 + * pow2274; // pow(trace_generator, (safe_div((safe_mult(871, global_values.trace_length)), 1024))). + let pow2276 = pow100 + * pow2275; // pow(trace_generator, (safe_div((safe_mult(109, global_values.trace_length)), 128))). + let pow2277 = pow100 + * pow2276; // pow(trace_generator, (safe_div((safe_mult(873, global_values.trace_length)), 1024))). + let pow2278 = pow100 + * pow2277; // pow(trace_generator, (safe_div((safe_mult(437, global_values.trace_length)), 512))). + let pow2279 = pow100 + * pow2278; // pow(trace_generator, (safe_div((safe_mult(875, global_values.trace_length)), 1024))). + let pow2280 = pow100 + * pow2279; // pow(trace_generator, (safe_div((safe_mult(219, global_values.trace_length)), 256))). + let pow2281 = pow100 + * pow2280; // pow(trace_generator, (safe_div((safe_mult(877, global_values.trace_length)), 1024))). + let pow2282 = pow100 + * pow2281; // pow(trace_generator, (safe_div((safe_mult(439, global_values.trace_length)), 512))). + let pow2283 = pow100 + * pow2282; // pow(trace_generator, (safe_div((safe_mult(879, global_values.trace_length)), 1024))). + let pow2284 = pow100 + * pow2283; // pow(trace_generator, (safe_div((safe_mult(55, global_values.trace_length)), 64))). + let pow2285 = pow32 + * pow2284; // pow(trace_generator, (safe_div((safe_mult(56321, global_values.trace_length)), 65536))). + let pow2286 = pow32 + * pow2285; // pow(trace_generator, (safe_div((safe_mult(28161, global_values.trace_length)), 32768))). + let pow2287 = pow32 + * pow2286; // pow(trace_generator, (safe_div((safe_mult(56323, global_values.trace_length)), 65536))). + let pow2288 = pow32 + * pow2287; // pow(trace_generator, (safe_div((safe_mult(14081, global_values.trace_length)), 16384))). + let pow2289 = pow32 + * pow2288; // pow(trace_generator, (safe_div((safe_mult(56325, global_values.trace_length)), 65536))). + let pow2290 = pow32 + * pow2289; // pow(trace_generator, (safe_div((safe_mult(28163, global_values.trace_length)), 32768))). + let pow2291 = pow32 + * pow2290; // pow(trace_generator, (safe_div((safe_mult(56327, global_values.trace_length)), 65536))). + let pow2292 = pow32 + * pow2291; // pow(trace_generator, (safe_div((safe_mult(7041, global_values.trace_length)), 8192))). + let pow2293 = pow32 + * pow2292; // pow(trace_generator, (safe_div((safe_mult(56329, global_values.trace_length)), 65536))). + let pow2294 = pow32 + * pow2293; // pow(trace_generator, (safe_div((safe_mult(28165, global_values.trace_length)), 32768))). + let pow2295 = pow32 + * pow2294; // pow(trace_generator, (safe_div((safe_mult(56331, global_values.trace_length)), 65536))). + let pow2296 = pow32 + * pow2295; // pow(trace_generator, (safe_div((safe_mult(14083, global_values.trace_length)), 16384))). + let pow2297 = pow32 + * pow2296; // pow(trace_generator, (safe_div((safe_mult(56333, global_values.trace_length)), 65536))). + let pow2298 = pow32 + * pow2297; // pow(trace_generator, (safe_div((safe_mult(28167, global_values.trace_length)), 32768))). + let pow2299 = pow32 + * pow2298; // pow(trace_generator, (safe_div((safe_mult(56335, global_values.trace_length)), 65536))). + let pow2300 = pow32 + * pow2299; // pow(trace_generator, (safe_div((safe_mult(3521, global_values.trace_length)), 4096))). + let pow2301 = pow32 + * pow2300; // pow(trace_generator, (safe_div((safe_mult(56337, global_values.trace_length)), 65536))). + let pow2302 = pow32 + * pow2301; // pow(trace_generator, (safe_div((safe_mult(28169, global_values.trace_length)), 32768))). + let pow2303 = pow32 + * pow2302; // pow(trace_generator, (safe_div((safe_mult(56339, global_values.trace_length)), 65536))). + let pow2304 = pow32 + * pow2303; // pow(trace_generator, (safe_div((safe_mult(14085, global_values.trace_length)), 16384))). + let pow2305 = pow32 + * pow2304; // pow(trace_generator, (safe_div((safe_mult(56341, global_values.trace_length)), 65536))). + let pow2306 = pow32 + * pow2305; // pow(trace_generator, (safe_div((safe_mult(28171, global_values.trace_length)), 32768))). + let pow2307 = pow32 + * pow2306; // pow(trace_generator, (safe_div((safe_mult(56343, global_values.trace_length)), 65536))). + let pow2308 = pow79 + * pow2307; // pow(trace_generator, (safe_div((safe_mult(881, global_values.trace_length)), 1024))). + let pow2309 = pow100 + * pow2308; // pow(trace_generator, (safe_div((safe_mult(441, global_values.trace_length)), 512))). + let pow2310 = pow100 + * pow2309; // pow(trace_generator, (safe_div((safe_mult(883, global_values.trace_length)), 1024))). + let pow2311 = pow100 + * pow2310; // pow(trace_generator, (safe_div((safe_mult(221, global_values.trace_length)), 256))). + let pow2312 = pow100 + * pow2311; // pow(trace_generator, (safe_div((safe_mult(885, global_values.trace_length)), 1024))). + let pow2313 = pow100 + * pow2312; // pow(trace_generator, (safe_div((safe_mult(443, global_values.trace_length)), 512))). + let pow2314 = pow100 + * pow2313; // pow(trace_generator, (safe_div((safe_mult(887, global_values.trace_length)), 1024))). + let pow2315 = pow100 + * pow2314; // pow(trace_generator, (safe_div((safe_mult(111, global_values.trace_length)), 128))). + let pow2316 = pow100 + * pow2315; // pow(trace_generator, (safe_div((safe_mult(889, global_values.trace_length)), 1024))). + let pow2317 = pow100 + * pow2316; // pow(trace_generator, (safe_div((safe_mult(445, global_values.trace_length)), 512))). + let pow2318 = pow100 + * pow2317; // pow(trace_generator, (safe_div((safe_mult(891, global_values.trace_length)), 1024))). + let pow2319 = pow100 + * pow2318; // pow(trace_generator, (safe_div((safe_mult(223, global_values.trace_length)), 256))). + let pow2320 = pow100 + * pow2319; // pow(trace_generator, (safe_div((safe_mult(893, global_values.trace_length)), 1024))). + let pow2321 = pow220 + * pow2320; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 8))). + let pow2322 = pow32 + * pow2321; // pow(trace_generator, (safe_div((safe_mult(57345, global_values.trace_length)), 65536))). + let pow2323 = pow32 + * pow2322; // pow(trace_generator, (safe_div((safe_mult(28673, global_values.trace_length)), 32768))). + let pow2324 = pow32 + * pow2323; // pow(trace_generator, (safe_div((safe_mult(57347, global_values.trace_length)), 65536))). + let pow2325 = pow32 + * pow2324; // pow(trace_generator, (safe_div((safe_mult(14337, global_values.trace_length)), 16384))). + let pow2326 = pow32 + * pow2325; // pow(trace_generator, (safe_div((safe_mult(57349, global_values.trace_length)), 65536))). + let pow2327 = pow32 + * pow2326; // pow(trace_generator, (safe_div((safe_mult(28675, global_values.trace_length)), 32768))). + let pow2328 = pow32 + * pow2327; // pow(trace_generator, (safe_div((safe_mult(57351, global_values.trace_length)), 65536))). + let pow2329 = pow32 + * pow2328; // pow(trace_generator, (safe_div((safe_mult(7169, global_values.trace_length)), 8192))). + let pow2330 = pow32 + * pow2329; // pow(trace_generator, (safe_div((safe_mult(57353, global_values.trace_length)), 65536))). + let pow2331 = pow32 + * pow2330; // pow(trace_generator, (safe_div((safe_mult(28677, global_values.trace_length)), 32768))). + let pow2332 = pow32 + * pow2331; // pow(trace_generator, (safe_div((safe_mult(57355, global_values.trace_length)), 65536))). + let pow2333 = pow32 + * pow2332; // pow(trace_generator, (safe_div((safe_mult(14339, global_values.trace_length)), 16384))). + let pow2334 = pow32 + * pow2333; // pow(trace_generator, (safe_div((safe_mult(57357, global_values.trace_length)), 65536))). + let pow2335 = pow32 + * pow2334; // pow(trace_generator, (safe_div((safe_mult(28679, global_values.trace_length)), 32768))). + let pow2336 = pow32 + * pow2335; // pow(trace_generator, (safe_div((safe_mult(57359, global_values.trace_length)), 65536))). + let pow2337 = pow32 + * pow2336; // pow(trace_generator, (safe_div((safe_mult(3585, global_values.trace_length)), 4096))). + let pow2338 = pow32 + * pow2337; // pow(trace_generator, (safe_div((safe_mult(57361, global_values.trace_length)), 65536))). + let pow2339 = pow32 + * pow2338; // pow(trace_generator, (safe_div((safe_mult(28681, global_values.trace_length)), 32768))). + let pow2340 = pow32 + * pow2339; // pow(trace_generator, (safe_div((safe_mult(57363, global_values.trace_length)), 65536))). + let pow2341 = pow32 + * pow2340; // pow(trace_generator, (safe_div((safe_mult(14341, global_values.trace_length)), 16384))). + let pow2342 = pow32 + * pow2341; // pow(trace_generator, (safe_div((safe_mult(57365, global_values.trace_length)), 65536))). + let pow2343 = pow32 + * pow2342; // pow(trace_generator, (safe_div((safe_mult(28683, global_values.trace_length)), 32768))). + let pow2344 = pow32 + * pow2343; // pow(trace_generator, (safe_div((safe_mult(57367, global_values.trace_length)), 65536))). + let pow2345 = pow79 + * pow2344; // pow(trace_generator, (safe_div((safe_mult(897, global_values.trace_length)), 1024))). + let pow2346 = pow100 + * pow2345; // pow(trace_generator, (safe_div((safe_mult(449, global_values.trace_length)), 512))). + let pow2347 = pow100 + * pow2346; // pow(trace_generator, (safe_div((safe_mult(899, global_values.trace_length)), 1024))). + let pow2348 = pow100 + * pow2347; // pow(trace_generator, (safe_div((safe_mult(225, global_values.trace_length)), 256))). + let pow2349 = pow100 + * pow2348; // pow(trace_generator, (safe_div((safe_mult(901, global_values.trace_length)), 1024))). + let pow2350 = pow100 + * pow2349; // pow(trace_generator, (safe_div((safe_mult(451, global_values.trace_length)), 512))). + let pow2351 = pow100 + * pow2350; // pow(trace_generator, (safe_div((safe_mult(903, global_values.trace_length)), 1024))). + let pow2352 = pow100 + * pow2351; // pow(trace_generator, (safe_div((safe_mult(113, global_values.trace_length)), 128))). + let pow2353 = pow100 + * pow2352; // pow(trace_generator, (safe_div((safe_mult(905, global_values.trace_length)), 1024))). + let pow2354 = pow100 + * pow2353; // pow(trace_generator, (safe_div((safe_mult(453, global_values.trace_length)), 512))). + let pow2355 = pow100 + * pow2354; // pow(trace_generator, (safe_div((safe_mult(907, global_values.trace_length)), 1024))). + let pow2356 = pow100 + * pow2355; // pow(trace_generator, (safe_div((safe_mult(227, global_values.trace_length)), 256))). + let pow2357 = pow100 + * pow2356; // pow(trace_generator, (safe_div((safe_mult(909, global_values.trace_length)), 1024))). + let pow2358 = pow100 + * pow2357; // pow(trace_generator, (safe_div((safe_mult(455, global_values.trace_length)), 512))). + let pow2359 = pow100 + * pow2358; // pow(trace_generator, (safe_div((safe_mult(911, global_values.trace_length)), 1024))). + let pow2360 = pow100 + * pow2359; // pow(trace_generator, (safe_div((safe_mult(57, global_values.trace_length)), 64))). + let pow2361 = pow32 + * pow2360; // pow(trace_generator, (safe_div((safe_mult(58369, global_values.trace_length)), 65536))). + let pow2362 = pow32 + * pow2361; // pow(trace_generator, (safe_div((safe_mult(29185, global_values.trace_length)), 32768))). + let pow2363 = pow32 + * pow2362; // pow(trace_generator, (safe_div((safe_mult(58371, global_values.trace_length)), 65536))). + let pow2364 = pow32 + * pow2363; // pow(trace_generator, (safe_div((safe_mult(14593, global_values.trace_length)), 16384))). + let pow2365 = pow32 + * pow2364; // pow(trace_generator, (safe_div((safe_mult(58373, global_values.trace_length)), 65536))). + let pow2366 = pow32 + * pow2365; // pow(trace_generator, (safe_div((safe_mult(29187, global_values.trace_length)), 32768))). + let pow2367 = pow32 + * pow2366; // pow(trace_generator, (safe_div((safe_mult(58375, global_values.trace_length)), 65536))). + let pow2368 = pow32 + * pow2367; // pow(trace_generator, (safe_div((safe_mult(7297, global_values.trace_length)), 8192))). + let pow2369 = pow32 + * pow2368; // pow(trace_generator, (safe_div((safe_mult(58377, global_values.trace_length)), 65536))). + let pow2370 = pow32 + * pow2369; // pow(trace_generator, (safe_div((safe_mult(29189, global_values.trace_length)), 32768))). + let pow2371 = pow32 + * pow2370; // pow(trace_generator, (safe_div((safe_mult(58379, global_values.trace_length)), 65536))). + let pow2372 = pow32 + * pow2371; // pow(trace_generator, (safe_div((safe_mult(14595, global_values.trace_length)), 16384))). + let pow2373 = pow32 + * pow2372; // pow(trace_generator, (safe_div((safe_mult(58381, global_values.trace_length)), 65536))). + let pow2374 = pow32 + * pow2373; // pow(trace_generator, (safe_div((safe_mult(29191, global_values.trace_length)), 32768))). + let pow2375 = pow32 + * pow2374; // pow(trace_generator, (safe_div((safe_mult(58383, global_values.trace_length)), 65536))). + let pow2376 = pow32 + * pow2375; // pow(trace_generator, (safe_div((safe_mult(3649, global_values.trace_length)), 4096))). + let pow2377 = pow32 + * pow2376; // pow(trace_generator, (safe_div((safe_mult(58385, global_values.trace_length)), 65536))). + let pow2378 = pow32 + * pow2377; // pow(trace_generator, (safe_div((safe_mult(29193, global_values.trace_length)), 32768))). + let pow2379 = pow32 + * pow2378; // pow(trace_generator, (safe_div((safe_mult(58387, global_values.trace_length)), 65536))). + let pow2380 = pow32 + * pow2379; // pow(trace_generator, (safe_div((safe_mult(14597, global_values.trace_length)), 16384))). + let pow2381 = pow32 + * pow2380; // pow(trace_generator, (safe_div((safe_mult(58389, global_values.trace_length)), 65536))). + let pow2382 = pow32 + * pow2381; // pow(trace_generator, (safe_div((safe_mult(29195, global_values.trace_length)), 32768))). + let pow2383 = pow32 + * pow2382; // pow(trace_generator, (safe_div((safe_mult(58391, global_values.trace_length)), 65536))). + let pow2384 = pow79 + * pow2383; // pow(trace_generator, (safe_div((safe_mult(913, global_values.trace_length)), 1024))). + let pow2385 = pow100 + * pow2384; // pow(trace_generator, (safe_div((safe_mult(457, global_values.trace_length)), 512))). + let pow2386 = pow100 + * pow2385; // pow(trace_generator, (safe_div((safe_mult(915, global_values.trace_length)), 1024))). + let pow2387 = pow100 + * pow2386; // pow(trace_generator, (safe_div((safe_mult(229, global_values.trace_length)), 256))). + let pow2388 = pow100 + * pow2387; // pow(trace_generator, (safe_div((safe_mult(917, global_values.trace_length)), 1024))). + let pow2389 = pow100 + * pow2388; // pow(trace_generator, (safe_div((safe_mult(459, global_values.trace_length)), 512))). + let pow2390 = pow100 + * pow2389; // pow(trace_generator, (safe_div((safe_mult(919, global_values.trace_length)), 1024))). + let pow2391 = pow100 + * pow2390; // pow(trace_generator, (safe_div((safe_mult(115, global_values.trace_length)), 128))). + let pow2392 = pow100 + * pow2391; // pow(trace_generator, (safe_div((safe_mult(921, global_values.trace_length)), 1024))). + let pow2393 = pow100 + * pow2392; // pow(trace_generator, (safe_div((safe_mult(461, global_values.trace_length)), 512))). + let pow2394 = pow100 + * pow2393; // pow(trace_generator, (safe_div((safe_mult(923, global_values.trace_length)), 1024))). + let pow2395 = pow100 + * pow2394; // pow(trace_generator, (safe_div((safe_mult(231, global_values.trace_length)), 256))). + let pow2396 = pow100 + * pow2395; // pow(trace_generator, (safe_div((safe_mult(925, global_values.trace_length)), 1024))). + let pow2397 = pow220 + * pow2396; // pow(trace_generator, (safe_div((safe_mult(29, global_values.trace_length)), 32))). + let pow2398 = pow32 + * pow2397; // pow(trace_generator, (safe_div((safe_mult(59393, global_values.trace_length)), 65536))). + let pow2399 = pow32 + * pow2398; // pow(trace_generator, (safe_div((safe_mult(29697, global_values.trace_length)), 32768))). + let pow2400 = pow32 + * pow2399; // pow(trace_generator, (safe_div((safe_mult(59395, global_values.trace_length)), 65536))). + let pow2401 = pow32 + * pow2400; // pow(trace_generator, (safe_div((safe_mult(14849, global_values.trace_length)), 16384))). + let pow2402 = pow32 + * pow2401; // pow(trace_generator, (safe_div((safe_mult(59397, global_values.trace_length)), 65536))). + let pow2403 = pow32 + * pow2402; // pow(trace_generator, (safe_div((safe_mult(29699, global_values.trace_length)), 32768))). + let pow2404 = pow32 + * pow2403; // pow(trace_generator, (safe_div((safe_mult(59399, global_values.trace_length)), 65536))). + let pow2405 = pow32 + * pow2404; // pow(trace_generator, (safe_div((safe_mult(7425, global_values.trace_length)), 8192))). + let pow2406 = pow32 + * pow2405; // pow(trace_generator, (safe_div((safe_mult(59401, global_values.trace_length)), 65536))). + let pow2407 = pow32 + * pow2406; // pow(trace_generator, (safe_div((safe_mult(29701, global_values.trace_length)), 32768))). + let pow2408 = pow32 + * pow2407; // pow(trace_generator, (safe_div((safe_mult(59403, global_values.trace_length)), 65536))). + let pow2409 = pow32 + * pow2408; // pow(trace_generator, (safe_div((safe_mult(14851, global_values.trace_length)), 16384))). + let pow2410 = pow32 + * pow2409; // pow(trace_generator, (safe_div((safe_mult(59405, global_values.trace_length)), 65536))). + let pow2411 = pow32 + * pow2410; // pow(trace_generator, (safe_div((safe_mult(29703, global_values.trace_length)), 32768))). + let pow2412 = pow32 + * pow2411; // pow(trace_generator, (safe_div((safe_mult(59407, global_values.trace_length)), 65536))). + let pow2413 = pow32 + * pow2412; // pow(trace_generator, (safe_div((safe_mult(3713, global_values.trace_length)), 4096))). + let pow2414 = pow32 + * pow2413; // pow(trace_generator, (safe_div((safe_mult(59409, global_values.trace_length)), 65536))). + let pow2415 = pow32 + * pow2414; // pow(trace_generator, (safe_div((safe_mult(29705, global_values.trace_length)), 32768))). + let pow2416 = pow32 + * pow2415; // pow(trace_generator, (safe_div((safe_mult(59411, global_values.trace_length)), 65536))). + let pow2417 = pow32 + * pow2416; // pow(trace_generator, (safe_div((safe_mult(14853, global_values.trace_length)), 16384))). + let pow2418 = pow32 + * pow2417; // pow(trace_generator, (safe_div((safe_mult(59413, global_values.trace_length)), 65536))). + let pow2419 = pow32 + * pow2418; // pow(trace_generator, (safe_div((safe_mult(29707, global_values.trace_length)), 32768))). + let pow2420 = pow32 + * pow2419; // pow(trace_generator, (safe_div((safe_mult(59415, global_values.trace_length)), 65536))). + let pow2421 = pow79 + * pow2420; // pow(trace_generator, (safe_div((safe_mult(929, global_values.trace_length)), 1024))). + let pow2422 = pow100 + * pow2421; // pow(trace_generator, (safe_div((safe_mult(465, global_values.trace_length)), 512))). + let pow2423 = pow100 + * pow2422; // pow(trace_generator, (safe_div((safe_mult(931, global_values.trace_length)), 1024))). + let pow2424 = pow100 + * pow2423; // pow(trace_generator, (safe_div((safe_mult(233, global_values.trace_length)), 256))). + let pow2425 = pow100 + * pow2424; // pow(trace_generator, (safe_div((safe_mult(933, global_values.trace_length)), 1024))). + let pow2426 = pow100 + * pow2425; // pow(trace_generator, (safe_div((safe_mult(467, global_values.trace_length)), 512))). + let pow2427 = pow100 + * pow2426; // pow(trace_generator, (safe_div((safe_mult(935, global_values.trace_length)), 1024))). + let pow2428 = pow100 + * pow2427; // pow(trace_generator, (safe_div((safe_mult(117, global_values.trace_length)), 128))). + let pow2429 = pow100 + * pow2428; // pow(trace_generator, (safe_div((safe_mult(937, global_values.trace_length)), 1024))). + let pow2430 = pow100 + * pow2429; // pow(trace_generator, (safe_div((safe_mult(469, global_values.trace_length)), 512))). + let pow2431 = pow100 + * pow2430; // pow(trace_generator, (safe_div((safe_mult(939, global_values.trace_length)), 1024))). + let pow2432 = pow100 + * pow2431; // pow(trace_generator, (safe_div((safe_mult(235, global_values.trace_length)), 256))). + let pow2433 = pow100 + * pow2432; // pow(trace_generator, (safe_div((safe_mult(941, global_values.trace_length)), 1024))). + let pow2434 = pow100 + * pow2433; // pow(trace_generator, (safe_div((safe_mult(471, global_values.trace_length)), 512))). + let pow2435 = pow100 + * pow2434; // pow(trace_generator, (safe_div((safe_mult(943, global_values.trace_length)), 1024))). + let pow2436 = pow100 + * pow2435; // pow(trace_generator, (safe_div((safe_mult(59, global_values.trace_length)), 64))). + let pow2437 = pow32 + * pow2436; // pow(trace_generator, (safe_div((safe_mult(60417, global_values.trace_length)), 65536))). + let pow2438 = pow32 + * pow2437; // pow(trace_generator, (safe_div((safe_mult(30209, global_values.trace_length)), 32768))). + let pow2439 = pow32 + * pow2438; // pow(trace_generator, (safe_div((safe_mult(60419, global_values.trace_length)), 65536))). + let pow2440 = pow32 + * pow2439; // pow(trace_generator, (safe_div((safe_mult(15105, global_values.trace_length)), 16384))). + let pow2441 = pow32 + * pow2440; // pow(trace_generator, (safe_div((safe_mult(60421, global_values.trace_length)), 65536))). + let pow2442 = pow32 + * pow2441; // pow(trace_generator, (safe_div((safe_mult(30211, global_values.trace_length)), 32768))). + let pow2443 = pow32 + * pow2442; // pow(trace_generator, (safe_div((safe_mult(60423, global_values.trace_length)), 65536))). + let pow2444 = pow32 + * pow2443; // pow(trace_generator, (safe_div((safe_mult(7553, global_values.trace_length)), 8192))). + let pow2445 = pow32 + * pow2444; // pow(trace_generator, (safe_div((safe_mult(60425, global_values.trace_length)), 65536))). + let pow2446 = pow32 + * pow2445; // pow(trace_generator, (safe_div((safe_mult(30213, global_values.trace_length)), 32768))). + let pow2447 = pow32 + * pow2446; // pow(trace_generator, (safe_div((safe_mult(60427, global_values.trace_length)), 65536))). + let pow2448 = pow32 + * pow2447; // pow(trace_generator, (safe_div((safe_mult(15107, global_values.trace_length)), 16384))). + let pow2449 = pow32 + * pow2448; // pow(trace_generator, (safe_div((safe_mult(60429, global_values.trace_length)), 65536))). + let pow2450 = pow32 + * pow2449; // pow(trace_generator, (safe_div((safe_mult(30215, global_values.trace_length)), 32768))). + let pow2451 = pow32 + * pow2450; // pow(trace_generator, (safe_div((safe_mult(60431, global_values.trace_length)), 65536))). + let pow2452 = pow32 + * pow2451; // pow(trace_generator, (safe_div((safe_mult(3777, global_values.trace_length)), 4096))). + let pow2453 = pow32 + * pow2452; // pow(trace_generator, (safe_div((safe_mult(60433, global_values.trace_length)), 65536))). + let pow2454 = pow32 + * pow2453; // pow(trace_generator, (safe_div((safe_mult(30217, global_values.trace_length)), 32768))). + let pow2455 = pow32 + * pow2454; // pow(trace_generator, (safe_div((safe_mult(60435, global_values.trace_length)), 65536))). + let pow2456 = pow32 + * pow2455; // pow(trace_generator, (safe_div((safe_mult(15109, global_values.trace_length)), 16384))). + let pow2457 = pow32 + * pow2456; // pow(trace_generator, (safe_div((safe_mult(60437, global_values.trace_length)), 65536))). + let pow2458 = pow32 + * pow2457; // pow(trace_generator, (safe_div((safe_mult(30219, global_values.trace_length)), 32768))). + let pow2459 = pow32 + * pow2458; // pow(trace_generator, (safe_div((safe_mult(60439, global_values.trace_length)), 65536))). + let pow2460 = pow79 + * pow2459; // pow(trace_generator, (safe_div((safe_mult(945, global_values.trace_length)), 1024))). + let pow2461 = pow100 + * pow2460; // pow(trace_generator, (safe_div((safe_mult(473, global_values.trace_length)), 512))). + let pow2462 = pow100 + * pow2461; // pow(trace_generator, (safe_div((safe_mult(947, global_values.trace_length)), 1024))). + let pow2463 = pow100 + * pow2462; // pow(trace_generator, (safe_div((safe_mult(237, global_values.trace_length)), 256))). + let pow2464 = pow100 + * pow2463; // pow(trace_generator, (safe_div((safe_mult(949, global_values.trace_length)), 1024))). + let pow2465 = pow100 + * pow2464; // pow(trace_generator, (safe_div((safe_mult(475, global_values.trace_length)), 512))). + let pow2466 = pow100 + * pow2465; // pow(trace_generator, (safe_div((safe_mult(951, global_values.trace_length)), 1024))). + let pow2467 = pow100 + * pow2466; // pow(trace_generator, (safe_div((safe_mult(119, global_values.trace_length)), 128))). + let pow2468 = pow100 + * pow2467; // pow(trace_generator, (safe_div((safe_mult(953, global_values.trace_length)), 1024))). + let pow2469 = pow100 + * pow2468; // pow(trace_generator, (safe_div((safe_mult(477, global_values.trace_length)), 512))). + let pow2470 = pow100 + * pow2469; // pow(trace_generator, (safe_div((safe_mult(955, global_values.trace_length)), 1024))). + let pow2471 = pow100 + * pow2470; // pow(trace_generator, (safe_div((safe_mult(239, global_values.trace_length)), 256))). + let pow2472 = pow100 + * pow2471; // pow(trace_generator, (safe_div((safe_mult(957, global_values.trace_length)), 1024))). + let pow2473 = pow220 + * pow2472; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). + let pow2474 = pow32 + * pow2473; // pow(trace_generator, (safe_div((safe_mult(61441, global_values.trace_length)), 65536))). + let pow2475 = pow32 + * pow2474; // pow(trace_generator, (safe_div((safe_mult(30721, global_values.trace_length)), 32768))). + let pow2476 = pow32 + * pow2475; // pow(trace_generator, (safe_div((safe_mult(61443, global_values.trace_length)), 65536))). + let pow2477 = pow32 + * pow2476; // pow(trace_generator, (safe_div((safe_mult(15361, global_values.trace_length)), 16384))). + let pow2478 = pow32 + * pow2477; // pow(trace_generator, (safe_div((safe_mult(61445, global_values.trace_length)), 65536))). + let pow2479 = pow32 + * pow2478; // pow(trace_generator, (safe_div((safe_mult(30723, global_values.trace_length)), 32768))). + let pow2480 = pow32 + * pow2479; // pow(trace_generator, (safe_div((safe_mult(61447, global_values.trace_length)), 65536))). + let pow2481 = pow32 + * pow2480; // pow(trace_generator, (safe_div((safe_mult(7681, global_values.trace_length)), 8192))). + let pow2482 = pow32 + * pow2481; // pow(trace_generator, (safe_div((safe_mult(61449, global_values.trace_length)), 65536))). + let pow2483 = pow32 + * pow2482; // pow(trace_generator, (safe_div((safe_mult(30725, global_values.trace_length)), 32768))). + let pow2484 = pow32 + * pow2483; // pow(trace_generator, (safe_div((safe_mult(61451, global_values.trace_length)), 65536))). + let pow2485 = pow32 + * pow2484; // pow(trace_generator, (safe_div((safe_mult(15363, global_values.trace_length)), 16384))). + let pow2486 = pow32 + * pow2485; // pow(trace_generator, (safe_div((safe_mult(61453, global_values.trace_length)), 65536))). + let pow2487 = pow32 + * pow2486; // pow(trace_generator, (safe_div((safe_mult(30727, global_values.trace_length)), 32768))). + let pow2488 = pow32 + * pow2487; // pow(trace_generator, (safe_div((safe_mult(61455, global_values.trace_length)), 65536))). + let pow2489 = pow32 + * pow2488; // pow(trace_generator, (safe_div((safe_mult(3841, global_values.trace_length)), 4096))). + let pow2490 = pow32 + * pow2489; // pow(trace_generator, (safe_div((safe_mult(61457, global_values.trace_length)), 65536))). + let pow2491 = pow32 + * pow2490; // pow(trace_generator, (safe_div((safe_mult(30729, global_values.trace_length)), 32768))). + let pow2492 = pow32 + * pow2491; // pow(trace_generator, (safe_div((safe_mult(61459, global_values.trace_length)), 65536))). + let pow2493 = pow32 + * pow2492; // pow(trace_generator, (safe_div((safe_mult(15365, global_values.trace_length)), 16384))). + let pow2494 = pow32 + * pow2493; // pow(trace_generator, (safe_div((safe_mult(61461, global_values.trace_length)), 65536))). + let pow2495 = pow32 + * pow2494; // pow(trace_generator, (safe_div((safe_mult(30731, global_values.trace_length)), 32768))). + let pow2496 = pow32 + * pow2495; // pow(trace_generator, (safe_div((safe_mult(61463, global_values.trace_length)), 65536))). + let pow2497 = pow79 + * pow2496; // pow(trace_generator, (safe_div((safe_mult(961, global_values.trace_length)), 1024))). + let pow2498 = pow100 + * pow2497; // pow(trace_generator, (safe_div((safe_mult(481, global_values.trace_length)), 512))). + let pow2499 = pow100 + * pow2498; // pow(trace_generator, (safe_div((safe_mult(963, global_values.trace_length)), 1024))). + let pow2500 = pow100 + * pow2499; // pow(trace_generator, (safe_div((safe_mult(241, global_values.trace_length)), 256))). + let pow2501 = pow100 + * pow2500; // pow(trace_generator, (safe_div((safe_mult(965, global_values.trace_length)), 1024))). + let pow2502 = pow100 + * pow2501; // pow(trace_generator, (safe_div((safe_mult(483, global_values.trace_length)), 512))). + let pow2503 = pow100 + * pow2502; // pow(trace_generator, (safe_div((safe_mult(967, global_values.trace_length)), 1024))). + let pow2504 = pow100 + * pow2503; // pow(trace_generator, (safe_div((safe_mult(121, global_values.trace_length)), 128))). + let pow2505 = pow100 + * pow2504; // pow(trace_generator, (safe_div((safe_mult(969, global_values.trace_length)), 1024))). + let pow2506 = pow100 + * pow2505; // pow(trace_generator, (safe_div((safe_mult(485, global_values.trace_length)), 512))). + let pow2507 = pow100 + * pow2506; // pow(trace_generator, (safe_div((safe_mult(971, global_values.trace_length)), 1024))). + let pow2508 = pow100 + * pow2507; // pow(trace_generator, (safe_div((safe_mult(243, global_values.trace_length)), 256))). + let pow2509 = pow100 + * pow2508; // pow(trace_generator, (safe_div((safe_mult(973, global_values.trace_length)), 1024))). + let pow2510 = pow100 + * pow2509; // pow(trace_generator, (safe_div((safe_mult(487, global_values.trace_length)), 512))). + let pow2511 = pow100 + * pow2510; // pow(trace_generator, (safe_div((safe_mult(975, global_values.trace_length)), 1024))). + let pow2512 = pow100 + * pow2511; // pow(trace_generator, (safe_div((safe_mult(61, global_values.trace_length)), 64))). + let pow2513 = pow32 + * pow2512; // pow(trace_generator, (safe_div((safe_mult(62465, global_values.trace_length)), 65536))). + let pow2514 = pow32 + * pow2513; // pow(trace_generator, (safe_div((safe_mult(31233, global_values.trace_length)), 32768))). + let pow2515 = pow32 + * pow2514; // pow(trace_generator, (safe_div((safe_mult(62467, global_values.trace_length)), 65536))). + let pow2516 = pow32 + * pow2515; // pow(trace_generator, (safe_div((safe_mult(15617, global_values.trace_length)), 16384))). + let pow2517 = pow32 + * pow2516; // pow(trace_generator, (safe_div((safe_mult(62469, global_values.trace_length)), 65536))). + let pow2518 = pow32 + * pow2517; // pow(trace_generator, (safe_div((safe_mult(31235, global_values.trace_length)), 32768))). + let pow2519 = pow32 + * pow2518; // pow(trace_generator, (safe_div((safe_mult(62471, global_values.trace_length)), 65536))). + let pow2520 = pow32 + * pow2519; // pow(trace_generator, (safe_div((safe_mult(7809, global_values.trace_length)), 8192))). + let pow2521 = pow32 + * pow2520; // pow(trace_generator, (safe_div((safe_mult(62473, global_values.trace_length)), 65536))). + let pow2522 = pow32 + * pow2521; // pow(trace_generator, (safe_div((safe_mult(31237, global_values.trace_length)), 32768))). + let pow2523 = pow32 + * pow2522; // pow(trace_generator, (safe_div((safe_mult(62475, global_values.trace_length)), 65536))). + let pow2524 = pow32 + * pow2523; // pow(trace_generator, (safe_div((safe_mult(15619, global_values.trace_length)), 16384))). + let pow2525 = pow32 + * pow2524; // pow(trace_generator, (safe_div((safe_mult(62477, global_values.trace_length)), 65536))). + let pow2526 = pow32 + * pow2525; // pow(trace_generator, (safe_div((safe_mult(31239, global_values.trace_length)), 32768))). + let pow2527 = pow32 + * pow2526; // pow(trace_generator, (safe_div((safe_mult(62479, global_values.trace_length)), 65536))). + let pow2528 = pow32 + * pow2527; // pow(trace_generator, (safe_div((safe_mult(3905, global_values.trace_length)), 4096))). + let pow2529 = pow32 + * pow2528; // pow(trace_generator, (safe_div((safe_mult(62481, global_values.trace_length)), 65536))). + let pow2530 = pow32 + * pow2529; // pow(trace_generator, (safe_div((safe_mult(31241, global_values.trace_length)), 32768))). + let pow2531 = pow32 + * pow2530; // pow(trace_generator, (safe_div((safe_mult(62483, global_values.trace_length)), 65536))). + let pow2532 = pow32 + * pow2531; // pow(trace_generator, (safe_div((safe_mult(15621, global_values.trace_length)), 16384))). + let pow2533 = pow32 + * pow2532; // pow(trace_generator, (safe_div((safe_mult(62485, global_values.trace_length)), 65536))). + let pow2534 = pow32 + * pow2533; // pow(trace_generator, (safe_div((safe_mult(31243, global_values.trace_length)), 32768))). + let pow2535 = pow32 + * pow2534; // pow(trace_generator, (safe_div((safe_mult(62487, global_values.trace_length)), 65536))). + let pow2536 = pow79 + * pow2535; // pow(trace_generator, (safe_div((safe_mult(977, global_values.trace_length)), 1024))). + let pow2537 = pow100 + * pow2536; // pow(trace_generator, (safe_div((safe_mult(489, global_values.trace_length)), 512))). + let pow2538 = pow100 + * pow2537; // pow(trace_generator, (safe_div((safe_mult(979, global_values.trace_length)), 1024))). + let pow2539 = pow100 + * pow2538; // pow(trace_generator, (safe_div((safe_mult(245, global_values.trace_length)), 256))). + let pow2540 = pow100 + * pow2539; // pow(trace_generator, (safe_div((safe_mult(981, global_values.trace_length)), 1024))). + let pow2541 = pow100 + * pow2540; // pow(trace_generator, (safe_div((safe_mult(491, global_values.trace_length)), 512))). + let pow2542 = pow100 + * pow2541; // pow(trace_generator, (safe_div((safe_mult(983, global_values.trace_length)), 1024))). + let pow2543 = pow100 + * pow2542; // pow(trace_generator, (safe_div((safe_mult(123, global_values.trace_length)), 128))). + let pow2544 = pow100 + * pow2543; // pow(trace_generator, (safe_div((safe_mult(985, global_values.trace_length)), 1024))). + let pow2545 = pow100 + * pow2544; // pow(trace_generator, (safe_div((safe_mult(493, global_values.trace_length)), 512))). + let pow2546 = pow100 + * pow2545; // pow(trace_generator, (safe_div((safe_mult(987, global_values.trace_length)), 1024))). + let pow2547 = pow100 + * pow2546; // pow(trace_generator, (safe_div((safe_mult(247, global_values.trace_length)), 256))). + let pow2548 = pow100 + * pow2547; // pow(trace_generator, (safe_div((safe_mult(989, global_values.trace_length)), 1024))). + let pow2549 = pow220 + * pow2548; // pow(trace_generator, (safe_div((safe_mult(31, global_values.trace_length)), 32))). + let pow2550 = pow32 + * pow2549; // pow(trace_generator, (safe_div((safe_mult(63489, global_values.trace_length)), 65536))). + let pow2551 = pow32 + * pow2550; // pow(trace_generator, (safe_div((safe_mult(31745, global_values.trace_length)), 32768))). + let pow2552 = pow32 + * pow2551; // pow(trace_generator, (safe_div((safe_mult(63491, global_values.trace_length)), 65536))). + let pow2553 = pow32 + * pow2552; // pow(trace_generator, (safe_div((safe_mult(15873, global_values.trace_length)), 16384))). + let pow2554 = pow32 + * pow2553; // pow(trace_generator, (safe_div((safe_mult(63493, global_values.trace_length)), 65536))). + let pow2555 = pow32 + * pow2554; // pow(trace_generator, (safe_div((safe_mult(31747, global_values.trace_length)), 32768))). + let pow2556 = pow32 + * pow2555; // pow(trace_generator, (safe_div((safe_mult(63495, global_values.trace_length)), 65536))). + let pow2557 = pow32 + * pow2556; // pow(trace_generator, (safe_div((safe_mult(7937, global_values.trace_length)), 8192))). + let pow2558 = pow32 + * pow2557; // pow(trace_generator, (safe_div((safe_mult(63497, global_values.trace_length)), 65536))). + let pow2559 = pow32 + * pow2558; // pow(trace_generator, (safe_div((safe_mult(31749, global_values.trace_length)), 32768))). + let pow2560 = pow32 + * pow2559; // pow(trace_generator, (safe_div((safe_mult(63499, global_values.trace_length)), 65536))). + let pow2561 = pow32 + * pow2560; // pow(trace_generator, (safe_div((safe_mult(15875, global_values.trace_length)), 16384))). + let pow2562 = pow32 + * pow2561; // pow(trace_generator, (safe_div((safe_mult(63501, global_values.trace_length)), 65536))). + let pow2563 = pow32 + * pow2562; // pow(trace_generator, (safe_div((safe_mult(31751, global_values.trace_length)), 32768))). + let pow2564 = pow32 + * pow2563; // pow(trace_generator, (safe_div((safe_mult(63503, global_values.trace_length)), 65536))). + let pow2565 = pow32 + * pow2564; // pow(trace_generator, (safe_div((safe_mult(3969, global_values.trace_length)), 4096))). + let pow2566 = pow32 + * pow2565; // pow(trace_generator, (safe_div((safe_mult(63505, global_values.trace_length)), 65536))). + let pow2567 = pow32 + * pow2566; // pow(trace_generator, (safe_div((safe_mult(31753, global_values.trace_length)), 32768))). + let pow2568 = pow32 + * pow2567; // pow(trace_generator, (safe_div((safe_mult(63507, global_values.trace_length)), 65536))). + let pow2569 = pow32 + * pow2568; // pow(trace_generator, (safe_div((safe_mult(15877, global_values.trace_length)), 16384))). + let pow2570 = pow32 + * pow2569; // pow(trace_generator, (safe_div((safe_mult(63509, global_values.trace_length)), 65536))). + let pow2571 = pow32 + * pow2570; // pow(trace_generator, (safe_div((safe_mult(31755, global_values.trace_length)), 32768))). + let pow2572 = pow32 + * pow2571; // pow(trace_generator, (safe_div((safe_mult(63511, global_values.trace_length)), 65536))). + let pow2573 = pow79 + * pow2572; // pow(trace_generator, (safe_div((safe_mult(993, global_values.trace_length)), 1024))). + let pow2574 = pow100 + * pow2573; // pow(trace_generator, (safe_div((safe_mult(497, global_values.trace_length)), 512))). + let pow2575 = pow100 + * pow2574; // pow(trace_generator, (safe_div((safe_mult(995, global_values.trace_length)), 1024))). + let pow2576 = pow100 + * pow2575; // pow(trace_generator, (safe_div((safe_mult(249, global_values.trace_length)), 256))). + let pow2577 = pow100 + * pow2576; // pow(trace_generator, (safe_div((safe_mult(997, global_values.trace_length)), 1024))). + let pow2578 = pow100 + * pow2577; // pow(trace_generator, (safe_div((safe_mult(499, global_values.trace_length)), 512))). + let pow2579 = pow100 + * pow2578; // pow(trace_generator, (safe_div((safe_mult(999, global_values.trace_length)), 1024))). + let pow2580 = pow100 + * pow2579; // pow(trace_generator, (safe_div((safe_mult(125, global_values.trace_length)), 128))). + let pow2581 = pow100 + * pow2580; // pow(trace_generator, (safe_div((safe_mult(1001, global_values.trace_length)), 1024))). + let pow2582 = pow100 + * pow2581; // pow(trace_generator, (safe_div((safe_mult(501, global_values.trace_length)), 512))). + let pow2583 = pow100 + * pow2582; // pow(trace_generator, (safe_div((safe_mult(1003, global_values.trace_length)), 1024))). + let pow2584 = pow100 + * pow2583; // pow(trace_generator, (safe_div((safe_mult(251, global_values.trace_length)), 256))). + let pow2585 = pow100 + * pow2584; // pow(trace_generator, (safe_div((safe_mult(1005, global_values.trace_length)), 1024))). + let pow2586 = pow100 + * pow2585; // pow(trace_generator, (safe_div((safe_mult(503, global_values.trace_length)), 512))). + let pow2587 = pow100 + * pow2586; // pow(trace_generator, (safe_div((safe_mult(1007, global_values.trace_length)), 1024))). + let pow2588 = pow100 + * pow2587; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64))). + let pow2589 = pow32 + * pow2588; // pow(trace_generator, (safe_div((safe_mult(64513, global_values.trace_length)), 65536))). + let pow2590 = pow32 + * pow2589; // pow(trace_generator, (safe_div((safe_mult(32257, global_values.trace_length)), 32768))). + let pow2591 = pow32 + * pow2590; // pow(trace_generator, (safe_div((safe_mult(64515, global_values.trace_length)), 65536))). + let pow2592 = pow32 + * pow2591; // pow(trace_generator, (safe_div((safe_mult(16129, global_values.trace_length)), 16384))). + let pow2593 = pow32 + * pow2592; // pow(trace_generator, (safe_div((safe_mult(64517, global_values.trace_length)), 65536))). + let pow2594 = pow32 + * pow2593; // pow(trace_generator, (safe_div((safe_mult(32259, global_values.trace_length)), 32768))). + let pow2595 = pow32 + * pow2594; // pow(trace_generator, (safe_div((safe_mult(64519, global_values.trace_length)), 65536))). + let pow2596 = pow32 + * pow2595; // pow(trace_generator, (safe_div((safe_mult(8065, global_values.trace_length)), 8192))). + let pow2597 = pow32 + * pow2596; // pow(trace_generator, (safe_div((safe_mult(64521, global_values.trace_length)), 65536))). + let pow2598 = pow32 + * pow2597; // pow(trace_generator, (safe_div((safe_mult(32261, global_values.trace_length)), 32768))). + let pow2599 = pow32 + * pow2598; // pow(trace_generator, (safe_div((safe_mult(64523, global_values.trace_length)), 65536))). + let pow2600 = pow32 + * pow2599; // pow(trace_generator, (safe_div((safe_mult(16131, global_values.trace_length)), 16384))). + let pow2601 = pow32 + * pow2600; // pow(trace_generator, (safe_div((safe_mult(64525, global_values.trace_length)), 65536))). + let pow2602 = pow32 + * pow2601; // pow(trace_generator, (safe_div((safe_mult(32263, global_values.trace_length)), 32768))). + let pow2603 = pow32 + * pow2602; // pow(trace_generator, (safe_div((safe_mult(64527, global_values.trace_length)), 65536))). + let pow2604 = pow32 + * pow2603; // pow(trace_generator, (safe_div((safe_mult(4033, global_values.trace_length)), 4096))). + let pow2605 = pow32 + * pow2604; // pow(trace_generator, (safe_div((safe_mult(64529, global_values.trace_length)), 65536))). + let pow2606 = pow32 + * pow2605; // pow(trace_generator, (safe_div((safe_mult(32265, global_values.trace_length)), 32768))). + let pow2607 = pow32 + * pow2606; // pow(trace_generator, (safe_div((safe_mult(64531, global_values.trace_length)), 65536))). + let pow2608 = pow32 + * pow2607; // pow(trace_generator, (safe_div((safe_mult(16133, global_values.trace_length)), 16384))). + let pow2609 = pow32 + * pow2608; // pow(trace_generator, (safe_div((safe_mult(64533, global_values.trace_length)), 65536))). + let pow2610 = pow32 + * pow2609; // pow(trace_generator, (safe_div((safe_mult(32267, global_values.trace_length)), 32768))). + let pow2611 = pow32 + * pow2610; // pow(trace_generator, (safe_div((safe_mult(64535, global_values.trace_length)), 65536))). + let pow2612 = pow32 + * pow2611; // pow(trace_generator, (safe_div((safe_mult(8067, global_values.trace_length)), 8192))). + let pow2613 = pow32 + * pow2612; // pow(trace_generator, (safe_div((safe_mult(64537, global_values.trace_length)), 65536))). + let pow2614 = pow32 + * pow2613; // pow(trace_generator, (safe_div((safe_mult(32269, global_values.trace_length)), 32768))). + let pow2615 = pow32 + * pow2614; // pow(trace_generator, (safe_div((safe_mult(64539, global_values.trace_length)), 65536))). + let pow2616 = pow32 + * pow2615; // pow(trace_generator, (safe_div((safe_mult(16135, global_values.trace_length)), 16384))). + let pow2617 = pow32 + * pow2616; // pow(trace_generator, (safe_div((safe_mult(64541, global_values.trace_length)), 65536))). + let pow2618 = pow41 + * pow2617; // pow(trace_generator, (safe_div((safe_mult(2017, global_values.trace_length)), 2048))). + let pow2619 = pow32 + * pow2618; // pow(trace_generator, (safe_div((safe_mult(64545, global_values.trace_length)), 65536))). + let pow2620 = pow32 + * pow2619; // pow(trace_generator, (safe_div((safe_mult(32273, global_values.trace_length)), 32768))). + let pow2621 = pow32 + * pow2620; // pow(trace_generator, (safe_div((safe_mult(64547, global_values.trace_length)), 65536))). + let pow2622 = pow32 + * pow2621; // pow(trace_generator, (safe_div((safe_mult(16137, global_values.trace_length)), 16384))). + let pow2623 = pow32 + * pow2622; // pow(trace_generator, (safe_div((safe_mult(64549, global_values.trace_length)), 65536))). + let pow2624 = pow32 + * pow2623; // pow(trace_generator, (safe_div((safe_mult(32275, global_values.trace_length)), 32768))). + let pow2625 = pow32 + * pow2624; // pow(trace_generator, (safe_div((safe_mult(64551, global_values.trace_length)), 65536))). + let pow2626 = pow32 + * pow2625; // pow(trace_generator, (safe_div((safe_mult(8069, global_values.trace_length)), 8192))). + let pow2627 = pow32 + * pow2626; // pow(trace_generator, (safe_div((safe_mult(64553, global_values.trace_length)), 65536))). + let pow2628 = pow32 + * pow2627; // pow(trace_generator, (safe_div((safe_mult(32277, global_values.trace_length)), 32768))). + let pow2629 = pow32 + * pow2628; // pow(trace_generator, (safe_div((safe_mult(64555, global_values.trace_length)), 65536))). + let pow2630 = pow32 + * pow2629; // pow(trace_generator, (safe_div((safe_mult(16139, global_values.trace_length)), 16384))). + let pow2631 = pow32 + * pow2630; // pow(trace_generator, (safe_div((safe_mult(64557, global_values.trace_length)), 65536))). + let pow2632 = pow32 + * pow2631; // pow(trace_generator, (safe_div((safe_mult(32279, global_values.trace_length)), 32768))). + let pow2633 = pow32 + * pow2632; // pow(trace_generator, (safe_div((safe_mult(64559, global_values.trace_length)), 65536))). + let pow2634 = pow32 + * pow2633; // pow(trace_generator, (safe_div((safe_mult(4035, global_values.trace_length)), 4096))). + let pow2635 = pow32 + * pow2634; // pow(trace_generator, (safe_div((safe_mult(64561, global_values.trace_length)), 65536))). + let pow2636 = pow32 + * pow2635; // pow(trace_generator, (safe_div((safe_mult(32281, global_values.trace_length)), 32768))). + let pow2637 = pow32 + * pow2636; // pow(trace_generator, (safe_div((safe_mult(64563, global_values.trace_length)), 65536))). + let pow2638 = pow32 + * pow2637; // pow(trace_generator, (safe_div((safe_mult(16141, global_values.trace_length)), 16384))). + let pow2639 = pow32 + * pow2638; // pow(trace_generator, (safe_div((safe_mult(64565, global_values.trace_length)), 65536))). + let pow2640 = pow32 + * pow2639; // pow(trace_generator, (safe_div((safe_mult(32283, global_values.trace_length)), 32768))). + let pow2641 = pow32 + * pow2640; // pow(trace_generator, (safe_div((safe_mult(64567, global_values.trace_length)), 65536))). + let pow2642 = pow32 + * pow2641; // pow(trace_generator, (safe_div((safe_mult(8071, global_values.trace_length)), 8192))). + let pow2643 = pow32 + * pow2642; // pow(trace_generator, (safe_div((safe_mult(64569, global_values.trace_length)), 65536))). + let pow2644 = pow32 + * pow2643; // pow(trace_generator, (safe_div((safe_mult(32285, global_values.trace_length)), 32768))). + let pow2645 = pow32 + * pow2644; // pow(trace_generator, (safe_div((safe_mult(64571, global_values.trace_length)), 65536))). + let pow2646 = pow32 + * pow2645; // pow(trace_generator, (safe_div((safe_mult(16143, global_values.trace_length)), 16384))). + let pow2647 = pow32 + * pow2646; // pow(trace_generator, (safe_div((safe_mult(64573, global_values.trace_length)), 65536))). + let pow2648 = pow41 + * pow2647; // pow(trace_generator, (safe_div((safe_mult(1009, global_values.trace_length)), 1024))). + let pow2649 = pow32 + * pow2648; // pow(trace_generator, (safe_div((safe_mult(64577, global_values.trace_length)), 65536))). + let pow2650 = pow32 + * pow2649; // pow(trace_generator, (safe_div((safe_mult(32289, global_values.trace_length)), 32768))). + let pow2651 = pow32 + * pow2650; // pow(trace_generator, (safe_div((safe_mult(64579, global_values.trace_length)), 65536))). + let pow2652 = pow32 + * pow2651; // pow(trace_generator, (safe_div((safe_mult(16145, global_values.trace_length)), 16384))). + let pow2653 = pow32 + * pow2652; // pow(trace_generator, (safe_div((safe_mult(64581, global_values.trace_length)), 65536))). + let pow2654 = pow32 + * pow2653; // pow(trace_generator, (safe_div((safe_mult(32291, global_values.trace_length)), 32768))). + let pow2655 = pow32 + * pow2654; // pow(trace_generator, (safe_div((safe_mult(64583, global_values.trace_length)), 65536))). + let pow2656 = pow32 + * pow2655; // pow(trace_generator, (safe_div((safe_mult(8073, global_values.trace_length)), 8192))). + let pow2657 = pow32 + * pow2656; // pow(trace_generator, (safe_div((safe_mult(64585, global_values.trace_length)), 65536))). + let pow2658 = pow32 + * pow2657; // pow(trace_generator, (safe_div((safe_mult(32293, global_values.trace_length)), 32768))). + let pow2659 = pow32 + * pow2658; // pow(trace_generator, (safe_div((safe_mult(64587, global_values.trace_length)), 65536))). + let pow2660 = pow32 + * pow2659; // pow(trace_generator, (safe_div((safe_mult(16147, global_values.trace_length)), 16384))). + let pow2661 = pow32 + * pow2660; // pow(trace_generator, (safe_div((safe_mult(64589, global_values.trace_length)), 65536))). + let pow2662 = pow32 + * pow2661; // pow(trace_generator, (safe_div((safe_mult(32295, global_values.trace_length)), 32768))). + let pow2663 = pow32 + * pow2662; // pow(trace_generator, (safe_div((safe_mult(64591, global_values.trace_length)), 65536))). + let pow2664 = pow32 + * pow2663; // pow(trace_generator, (safe_div((safe_mult(4037, global_values.trace_length)), 4096))). + let pow2665 = pow32 + * pow2664; // pow(trace_generator, (safe_div((safe_mult(64593, global_values.trace_length)), 65536))). + let pow2666 = pow32 + * pow2665; // pow(trace_generator, (safe_div((safe_mult(32297, global_values.trace_length)), 32768))). + let pow2667 = pow32 + * pow2666; // pow(trace_generator, (safe_div((safe_mult(64595, global_values.trace_length)), 65536))). + let pow2668 = pow32 + * pow2667; // pow(trace_generator, (safe_div((safe_mult(16149, global_values.trace_length)), 16384))). + let pow2669 = pow32 + * pow2668; // pow(trace_generator, (safe_div((safe_mult(64597, global_values.trace_length)), 65536))). + let pow2670 = pow32 + * pow2669; // pow(trace_generator, (safe_div((safe_mult(32299, global_values.trace_length)), 32768))). + let pow2671 = pow32 + * pow2670; // pow(trace_generator, (safe_div((safe_mult(64599, global_values.trace_length)), 65536))). + let pow2672 = pow32 + * pow2671; // pow(trace_generator, (safe_div((safe_mult(8075, global_values.trace_length)), 8192))). + let pow2673 = pow32 + * pow2672; // pow(trace_generator, (safe_div((safe_mult(64601, global_values.trace_length)), 65536))). + let pow2674 = pow32 + * pow2673; // pow(trace_generator, (safe_div((safe_mult(32301, global_values.trace_length)), 32768))). + let pow2675 = pow32 + * pow2674; // pow(trace_generator, (safe_div((safe_mult(64603, global_values.trace_length)), 65536))). + let pow2676 = pow32 + * pow2675; // pow(trace_generator, (safe_div((safe_mult(16151, global_values.trace_length)), 16384))). + let pow2677 = pow32 + * pow2676; // pow(trace_generator, (safe_div((safe_mult(64605, global_values.trace_length)), 65536))). + let pow2678 = pow41 + * pow2677; // pow(trace_generator, (safe_div((safe_mult(2019, global_values.trace_length)), 2048))). + let pow2679 = pow32 + * pow2678; // pow(trace_generator, (safe_div((safe_mult(64609, global_values.trace_length)), 65536))). + let pow2680 = pow32 + * pow2679; // pow(trace_generator, (safe_div((safe_mult(32305, global_values.trace_length)), 32768))). + let pow2681 = pow32 + * pow2680; // pow(trace_generator, (safe_div((safe_mult(64611, global_values.trace_length)), 65536))). + let pow2682 = pow32 + * pow2681; // pow(trace_generator, (safe_div((safe_mult(16153, global_values.trace_length)), 16384))). + let pow2683 = pow32 + * pow2682; // pow(trace_generator, (safe_div((safe_mult(64613, global_values.trace_length)), 65536))). + let pow2684 = pow32 + * pow2683; // pow(trace_generator, (safe_div((safe_mult(32307, global_values.trace_length)), 32768))). + let pow2685 = pow32 + * pow2684; // pow(trace_generator, (safe_div((safe_mult(64615, global_values.trace_length)), 65536))). + let pow2686 = pow32 + * pow2685; // pow(trace_generator, (safe_div((safe_mult(8077, global_values.trace_length)), 8192))). + let pow2687 = pow32 + * pow2686; // pow(trace_generator, (safe_div((safe_mult(64617, global_values.trace_length)), 65536))). + let pow2688 = pow32 + * pow2687; // pow(trace_generator, (safe_div((safe_mult(32309, global_values.trace_length)), 32768))). + let pow2689 = pow32 + * pow2688; // pow(trace_generator, (safe_div((safe_mult(64619, global_values.trace_length)), 65536))). + let pow2690 = pow32 + * pow2689; // pow(trace_generator, (safe_div((safe_mult(16155, global_values.trace_length)), 16384))). + let pow2691 = pow32 + * pow2690; // pow(trace_generator, (safe_div((safe_mult(64621, global_values.trace_length)), 65536))). + let pow2692 = pow32 + * pow2691; // pow(trace_generator, (safe_div((safe_mult(32311, global_values.trace_length)), 32768))). + let pow2693 = pow32 + * pow2692; // pow(trace_generator, (safe_div((safe_mult(64623, global_values.trace_length)), 65536))). + let pow2694 = pow32 + * pow2693; // pow(trace_generator, (safe_div((safe_mult(4039, global_values.trace_length)), 4096))). + let pow2695 = pow32 + * pow2694; // pow(trace_generator, (safe_div((safe_mult(64625, global_values.trace_length)), 65536))). + let pow2696 = pow32 + * pow2695; // pow(trace_generator, (safe_div((safe_mult(32313, global_values.trace_length)), 32768))). + let pow2697 = pow32 + * pow2696; // pow(trace_generator, (safe_div((safe_mult(64627, global_values.trace_length)), 65536))). + let pow2698 = pow32 + * pow2697; // pow(trace_generator, (safe_div((safe_mult(16157, global_values.trace_length)), 16384))). + let pow2699 = pow32 + * pow2698; // pow(trace_generator, (safe_div((safe_mult(64629, global_values.trace_length)), 65536))). + let pow2700 = pow32 + * pow2699; // pow(trace_generator, (safe_div((safe_mult(32315, global_values.trace_length)), 32768))). + let pow2701 = pow32 + * pow2700; // pow(trace_generator, (safe_div((safe_mult(64631, global_values.trace_length)), 65536))). + let pow2702 = pow32 + * pow2701; // pow(trace_generator, (safe_div((safe_mult(8079, global_values.trace_length)), 8192))). + let pow2703 = pow32 + * pow2702; // pow(trace_generator, (safe_div((safe_mult(64633, global_values.trace_length)), 65536))). + let pow2704 = pow32 + * pow2703; // pow(trace_generator, (safe_div((safe_mult(32317, global_values.trace_length)), 32768))). + let pow2705 = pow32 + * pow2704; // pow(trace_generator, (safe_div((safe_mult(64635, global_values.trace_length)), 65536))). + let pow2706 = pow32 + * pow2705; // pow(trace_generator, (safe_div((safe_mult(16159, global_values.trace_length)), 16384))). + let pow2707 = pow32 + * pow2706; // pow(trace_generator, (safe_div((safe_mult(64637, global_values.trace_length)), 65536))). + let pow2708 = pow41 + * pow2707; // pow(trace_generator, (safe_div((safe_mult(505, global_values.trace_length)), 512))). + let pow2709 = pow32 + * pow2708; // pow(trace_generator, (safe_div((safe_mult(64641, global_values.trace_length)), 65536))). + let pow2710 = pow32 + * pow2709; // pow(trace_generator, (safe_div((safe_mult(32321, global_values.trace_length)), 32768))). + let pow2711 = pow32 + * pow2710; // pow(trace_generator, (safe_div((safe_mult(64643, global_values.trace_length)), 65536))). + let pow2712 = pow32 + * pow2711; // pow(trace_generator, (safe_div((safe_mult(16161, global_values.trace_length)), 16384))). + let pow2713 = pow32 + * pow2712; // pow(trace_generator, (safe_div((safe_mult(64645, global_values.trace_length)), 65536))). + let pow2714 = pow32 + * pow2713; // pow(trace_generator, (safe_div((safe_mult(32323, global_values.trace_length)), 32768))). + let pow2715 = pow32 + * pow2714; // pow(trace_generator, (safe_div((safe_mult(64647, global_values.trace_length)), 65536))). + let pow2716 = pow32 + * pow2715; // pow(trace_generator, (safe_div((safe_mult(8081, global_values.trace_length)), 8192))). + let pow2717 = pow32 + * pow2716; // pow(trace_generator, (safe_div((safe_mult(64649, global_values.trace_length)), 65536))). + let pow2718 = pow32 + * pow2717; // pow(trace_generator, (safe_div((safe_mult(32325, global_values.trace_length)), 32768))). + let pow2719 = pow32 + * pow2718; // pow(trace_generator, (safe_div((safe_mult(64651, global_values.trace_length)), 65536))). + let pow2720 = pow32 + * pow2719; // pow(trace_generator, (safe_div((safe_mult(16163, global_values.trace_length)), 16384))). + let pow2721 = pow32 + * pow2720; // pow(trace_generator, (safe_div((safe_mult(64653, global_values.trace_length)), 65536))). + let pow2722 = pow32 + * pow2721; // pow(trace_generator, (safe_div((safe_mult(32327, global_values.trace_length)), 32768))). + let pow2723 = pow32 + * pow2722; // pow(trace_generator, (safe_div((safe_mult(64655, global_values.trace_length)), 65536))). + let pow2724 = pow32 + * pow2723; // pow(trace_generator, (safe_div((safe_mult(4041, global_values.trace_length)), 4096))). + let pow2725 = pow32 + * pow2724; // pow(trace_generator, (safe_div((safe_mult(64657, global_values.trace_length)), 65536))). + let pow2726 = pow32 + * pow2725; // pow(trace_generator, (safe_div((safe_mult(32329, global_values.trace_length)), 32768))). + let pow2727 = pow32 + * pow2726; // pow(trace_generator, (safe_div((safe_mult(64659, global_values.trace_length)), 65536))). + let pow2728 = pow32 + * pow2727; // pow(trace_generator, (safe_div((safe_mult(16165, global_values.trace_length)), 16384))). + let pow2729 = pow32 + * pow2728; // pow(trace_generator, (safe_div((safe_mult(64661, global_values.trace_length)), 65536))). + let pow2730 = pow32 + * pow2729; // pow(trace_generator, (safe_div((safe_mult(32331, global_values.trace_length)), 32768))). + let pow2731 = pow32 + * pow2730; // pow(trace_generator, (safe_div((safe_mult(64663, global_values.trace_length)), 65536))). + let pow2732 = pow32 + * pow2731; // pow(trace_generator, (safe_div((safe_mult(8083, global_values.trace_length)), 8192))). + let pow2733 = pow32 + * pow2732; // pow(trace_generator, (safe_div((safe_mult(64665, global_values.trace_length)), 65536))). + let pow2734 = pow32 + * pow2733; // pow(trace_generator, (safe_div((safe_mult(32333, global_values.trace_length)), 32768))). + let pow2735 = pow32 + * pow2734; // pow(trace_generator, (safe_div((safe_mult(64667, global_values.trace_length)), 65536))). + let pow2736 = pow32 + * pow2735; // pow(trace_generator, (safe_div((safe_mult(16167, global_values.trace_length)), 16384))). + let pow2737 = pow32 + * pow2736; // pow(trace_generator, (safe_div((safe_mult(64669, global_values.trace_length)), 65536))). + let pow2738 = pow41 + * pow2737; // pow(trace_generator, (safe_div((safe_mult(2021, global_values.trace_length)), 2048))). + let pow2739 = pow32 + * pow2738; // pow(trace_generator, (safe_div((safe_mult(64673, global_values.trace_length)), 65536))). + let pow2740 = pow32 + * pow2739; // pow(trace_generator, (safe_div((safe_mult(32337, global_values.trace_length)), 32768))). + let pow2741 = pow32 + * pow2740; // pow(trace_generator, (safe_div((safe_mult(64675, global_values.trace_length)), 65536))). + let pow2742 = pow32 + * pow2741; // pow(trace_generator, (safe_div((safe_mult(16169, global_values.trace_length)), 16384))). + let pow2743 = pow32 + * pow2742; // pow(trace_generator, (safe_div((safe_mult(64677, global_values.trace_length)), 65536))). + let pow2744 = pow32 + * pow2743; // pow(trace_generator, (safe_div((safe_mult(32339, global_values.trace_length)), 32768))). + let pow2745 = pow32 + * pow2744; // pow(trace_generator, (safe_div((safe_mult(64679, global_values.trace_length)), 65536))). + let pow2746 = pow32 + * pow2745; // pow(trace_generator, (safe_div((safe_mult(8085, global_values.trace_length)), 8192))). + let pow2747 = pow32 + * pow2746; // pow(trace_generator, (safe_div((safe_mult(64681, global_values.trace_length)), 65536))). + let pow2748 = pow32 + * pow2747; // pow(trace_generator, (safe_div((safe_mult(32341, global_values.trace_length)), 32768))). + let pow2749 = pow32 + * pow2748; // pow(trace_generator, (safe_div((safe_mult(64683, global_values.trace_length)), 65536))). + let pow2750 = pow32 + * pow2749; // pow(trace_generator, (safe_div((safe_mult(16171, global_values.trace_length)), 16384))). + let pow2751 = pow32 + * pow2750; // pow(trace_generator, (safe_div((safe_mult(64685, global_values.trace_length)), 65536))). + let pow2752 = pow32 + * pow2751; // pow(trace_generator, (safe_div((safe_mult(32343, global_values.trace_length)), 32768))). + let pow2753 = pow32 + * pow2752; // pow(trace_generator, (safe_div((safe_mult(64687, global_values.trace_length)), 65536))). + let pow2754 = pow32 + * pow2753; // pow(trace_generator, (safe_div((safe_mult(4043, global_values.trace_length)), 4096))). + let pow2755 = pow32 + * pow2754; // pow(trace_generator, (safe_div((safe_mult(64689, global_values.trace_length)), 65536))). + let pow2756 = pow32 + * pow2755; // pow(trace_generator, (safe_div((safe_mult(32345, global_values.trace_length)), 32768))). + let pow2757 = pow32 + * pow2756; // pow(trace_generator, (safe_div((safe_mult(64691, global_values.trace_length)), 65536))). + let pow2758 = pow32 + * pow2757; // pow(trace_generator, (safe_div((safe_mult(16173, global_values.trace_length)), 16384))). + let pow2759 = pow32 + * pow2758; // pow(trace_generator, (safe_div((safe_mult(64693, global_values.trace_length)), 65536))). + let pow2760 = pow32 + * pow2759; // pow(trace_generator, (safe_div((safe_mult(32347, global_values.trace_length)), 32768))). + let pow2761 = pow32 + * pow2760; // pow(trace_generator, (safe_div((safe_mult(64695, global_values.trace_length)), 65536))). + let pow2762 = pow32 + * pow2761; // pow(trace_generator, (safe_div((safe_mult(8087, global_values.trace_length)), 8192))). + let pow2763 = pow32 + * pow2762; // pow(trace_generator, (safe_div((safe_mult(64697, global_values.trace_length)), 65536))). + let pow2764 = pow32 + * pow2763; // pow(trace_generator, (safe_div((safe_mult(32349, global_values.trace_length)), 32768))). + let pow2765 = pow32 + * pow2764; // pow(trace_generator, (safe_div((safe_mult(64699, global_values.trace_length)), 65536))). + let pow2766 = pow32 + * pow2765; // pow(trace_generator, (safe_div((safe_mult(16175, global_values.trace_length)), 16384))). + let pow2767 = pow32 + * pow2766; // pow(trace_generator, (safe_div((safe_mult(64701, global_values.trace_length)), 65536))). + let pow2768 = pow41 + * pow2767; // pow(trace_generator, (safe_div((safe_mult(1011, global_values.trace_length)), 1024))). + let pow2769 = pow32 + * pow2768; // pow(trace_generator, (safe_div((safe_mult(64705, global_values.trace_length)), 65536))). + let pow2770 = pow32 + * pow2769; // pow(trace_generator, (safe_div((safe_mult(32353, global_values.trace_length)), 32768))). + let pow2771 = pow32 + * pow2770; // pow(trace_generator, (safe_div((safe_mult(64707, global_values.trace_length)), 65536))). + let pow2772 = pow32 + * pow2771; // pow(trace_generator, (safe_div((safe_mult(16177, global_values.trace_length)), 16384))). + let pow2773 = pow32 + * pow2772; // pow(trace_generator, (safe_div((safe_mult(64709, global_values.trace_length)), 65536))). + let pow2774 = pow32 + * pow2773; // pow(trace_generator, (safe_div((safe_mult(32355, global_values.trace_length)), 32768))). + let pow2775 = pow32 + * pow2774; // pow(trace_generator, (safe_div((safe_mult(64711, global_values.trace_length)), 65536))). + let pow2776 = pow32 + * pow2775; // pow(trace_generator, (safe_div((safe_mult(8089, global_values.trace_length)), 8192))). + let pow2777 = pow32 + * pow2776; // pow(trace_generator, (safe_div((safe_mult(64713, global_values.trace_length)), 65536))). + let pow2778 = pow32 + * pow2777; // pow(trace_generator, (safe_div((safe_mult(32357, global_values.trace_length)), 32768))). + let pow2779 = pow32 + * pow2778; // pow(trace_generator, (safe_div((safe_mult(64715, global_values.trace_length)), 65536))). + let pow2780 = pow32 + * pow2779; // pow(trace_generator, (safe_div((safe_mult(16179, global_values.trace_length)), 16384))). + let pow2781 = pow32 + * pow2780; // pow(trace_generator, (safe_div((safe_mult(64717, global_values.trace_length)), 65536))). + let pow2782 = pow32 + * pow2781; // pow(trace_generator, (safe_div((safe_mult(32359, global_values.trace_length)), 32768))). + let pow2783 = pow32 + * pow2782; // pow(trace_generator, (safe_div((safe_mult(64719, global_values.trace_length)), 65536))). + let pow2784 = pow32 + * pow2783; // pow(trace_generator, (safe_div((safe_mult(4045, global_values.trace_length)), 4096))). + let pow2785 = pow32 + * pow2784; // pow(trace_generator, (safe_div((safe_mult(64721, global_values.trace_length)), 65536))). + let pow2786 = pow32 + * pow2785; // pow(trace_generator, (safe_div((safe_mult(32361, global_values.trace_length)), 32768))). + let pow2787 = pow32 + * pow2786; // pow(trace_generator, (safe_div((safe_mult(64723, global_values.trace_length)), 65536))). + let pow2788 = pow32 + * pow2787; // pow(trace_generator, (safe_div((safe_mult(16181, global_values.trace_length)), 16384))). + let pow2789 = pow32 + * pow2788; // pow(trace_generator, (safe_div((safe_mult(64725, global_values.trace_length)), 65536))). + let pow2790 = pow32 + * pow2789; // pow(trace_generator, (safe_div((safe_mult(32363, global_values.trace_length)), 32768))). + let pow2791 = pow32 + * pow2790; // pow(trace_generator, (safe_div((safe_mult(64727, global_values.trace_length)), 65536))). + let pow2792 = pow32 + * pow2791; // pow(trace_generator, (safe_div((safe_mult(8091, global_values.trace_length)), 8192))). + let pow2793 = pow32 + * pow2792; // pow(trace_generator, (safe_div((safe_mult(64729, global_values.trace_length)), 65536))). + let pow2794 = pow32 + * pow2793; // pow(trace_generator, (safe_div((safe_mult(32365, global_values.trace_length)), 32768))). + let pow2795 = pow32 + * pow2794; // pow(trace_generator, (safe_div((safe_mult(64731, global_values.trace_length)), 65536))). + let pow2796 = pow32 + * pow2795; // pow(trace_generator, (safe_div((safe_mult(16183, global_values.trace_length)), 16384))). + let pow2797 = pow32 + * pow2796; // pow(trace_generator, (safe_div((safe_mult(64733, global_values.trace_length)), 65536))). + let pow2798 = pow41 + * pow2797; // pow(trace_generator, (safe_div((safe_mult(2023, global_values.trace_length)), 2048))). + let pow2799 = pow32 + * pow2798; // pow(trace_generator, (safe_div((safe_mult(64737, global_values.trace_length)), 65536))). + let pow2800 = pow32 + * pow2799; // pow(trace_generator, (safe_div((safe_mult(32369, global_values.trace_length)), 32768))). + let pow2801 = pow32 + * pow2800; // pow(trace_generator, (safe_div((safe_mult(64739, global_values.trace_length)), 65536))). + let pow2802 = pow32 + * pow2801; // pow(trace_generator, (safe_div((safe_mult(16185, global_values.trace_length)), 16384))). + let pow2803 = pow32 + * pow2802; // pow(trace_generator, (safe_div((safe_mult(64741, global_values.trace_length)), 65536))). + let pow2804 = pow32 + * pow2803; // pow(trace_generator, (safe_div((safe_mult(32371, global_values.trace_length)), 32768))). + let pow2805 = pow32 + * pow2804; // pow(trace_generator, (safe_div((safe_mult(64743, global_values.trace_length)), 65536))). + let pow2806 = pow32 + * pow2805; // pow(trace_generator, (safe_div((safe_mult(8093, global_values.trace_length)), 8192))). + let pow2807 = pow32 + * pow2806; // pow(trace_generator, (safe_div((safe_mult(64745, global_values.trace_length)), 65536))). + let pow2808 = pow32 + * pow2807; // pow(trace_generator, (safe_div((safe_mult(32373, global_values.trace_length)), 32768))). + let pow2809 = pow32 + * pow2808; // pow(trace_generator, (safe_div((safe_mult(64747, global_values.trace_length)), 65536))). + let pow2810 = pow32 + * pow2809; // pow(trace_generator, (safe_div((safe_mult(16187, global_values.trace_length)), 16384))). + let pow2811 = pow32 + * pow2810; // pow(trace_generator, (safe_div((safe_mult(64749, global_values.trace_length)), 65536))). + let pow2812 = pow32 + * pow2811; // pow(trace_generator, (safe_div((safe_mult(32375, global_values.trace_length)), 32768))). + let pow2813 = pow32 + * pow2812; // pow(trace_generator, (safe_div((safe_mult(64751, global_values.trace_length)), 65536))). + let pow2814 = pow32 + * pow2813; // pow(trace_generator, (safe_div((safe_mult(4047, global_values.trace_length)), 4096))). + let pow2815 = pow32 + * pow2814; // pow(trace_generator, (safe_div((safe_mult(64753, global_values.trace_length)), 65536))). + let pow2816 = pow32 + * pow2815; // pow(trace_generator, (safe_div((safe_mult(32377, global_values.trace_length)), 32768))). + let pow2817 = pow32 + * pow2816; // pow(trace_generator, (safe_div((safe_mult(64755, global_values.trace_length)), 65536))). + let pow2818 = pow32 + * pow2817; // pow(trace_generator, (safe_div((safe_mult(16189, global_values.trace_length)), 16384))). + let pow2819 = pow32 + * pow2818; // pow(trace_generator, (safe_div((safe_mult(64757, global_values.trace_length)), 65536))). + let pow2820 = pow32 + * pow2819; // pow(trace_generator, (safe_div((safe_mult(32379, global_values.trace_length)), 32768))). + let pow2821 = pow32 + * pow2820; // pow(trace_generator, (safe_div((safe_mult(64759, global_values.trace_length)), 65536))). + let pow2822 = pow32 + * pow2821; // pow(trace_generator, (safe_div((safe_mult(8095, global_values.trace_length)), 8192))). + let pow2823 = pow32 + * pow2822; // pow(trace_generator, (safe_div((safe_mult(64761, global_values.trace_length)), 65536))). + let pow2824 = pow32 + * pow2823; // pow(trace_generator, (safe_div((safe_mult(32381, global_values.trace_length)), 32768))). + let pow2825 = pow32 + * pow2824; // pow(trace_generator, (safe_div((safe_mult(64763, global_values.trace_length)), 65536))). + let pow2826 = pow32 + * pow2825; // pow(trace_generator, (safe_div((safe_mult(16191, global_values.trace_length)), 16384))). + let pow2827 = pow32 + * pow2826; // pow(trace_generator, (safe_div((safe_mult(64765, global_values.trace_length)), 65536))). + let pow2828 = pow41 + * pow2827; // pow(trace_generator, (safe_div((safe_mult(253, global_values.trace_length)), 256))). + let pow2829 = pow32 + * pow2828; // pow(trace_generator, (safe_div((safe_mult(64769, global_values.trace_length)), 65536))). + let pow2830 = pow32 + * pow2829; // pow(trace_generator, (safe_div((safe_mult(32385, global_values.trace_length)), 32768))). + let pow2831 = pow32 + * pow2830; // pow(trace_generator, (safe_div((safe_mult(64771, global_values.trace_length)), 65536))). + let pow2832 = pow32 + * pow2831; // pow(trace_generator, (safe_div((safe_mult(16193, global_values.trace_length)), 16384))). + let pow2833 = pow32 + * pow2832; // pow(trace_generator, (safe_div((safe_mult(64773, global_values.trace_length)), 65536))). + let pow2834 = pow32 + * pow2833; // pow(trace_generator, (safe_div((safe_mult(32387, global_values.trace_length)), 32768))). + let pow2835 = pow32 + * pow2834; // pow(trace_generator, (safe_div((safe_mult(64775, global_values.trace_length)), 65536))). + let pow2836 = pow32 + * pow2835; // pow(trace_generator, (safe_div((safe_mult(8097, global_values.trace_length)), 8192))). + let pow2837 = pow32 + * pow2836; // pow(trace_generator, (safe_div((safe_mult(64777, global_values.trace_length)), 65536))). + let pow2838 = pow32 + * pow2837; // pow(trace_generator, (safe_div((safe_mult(32389, global_values.trace_length)), 32768))). + let pow2839 = pow32 + * pow2838; // pow(trace_generator, (safe_div((safe_mult(64779, global_values.trace_length)), 65536))). + let pow2840 = pow32 + * pow2839; // pow(trace_generator, (safe_div((safe_mult(16195, global_values.trace_length)), 16384))). + let pow2841 = pow32 + * pow2840; // pow(trace_generator, (safe_div((safe_mult(64781, global_values.trace_length)), 65536))). + let pow2842 = pow32 + * pow2841; // pow(trace_generator, (safe_div((safe_mult(32391, global_values.trace_length)), 32768))). + let pow2843 = pow32 + * pow2842; // pow(trace_generator, (safe_div((safe_mult(64783, global_values.trace_length)), 65536))). + let pow2844 = pow32 + * pow2843; // pow(trace_generator, (safe_div((safe_mult(4049, global_values.trace_length)), 4096))). + let pow2845 = pow32 + * pow2844; // pow(trace_generator, (safe_div((safe_mult(64785, global_values.trace_length)), 65536))). + let pow2846 = pow32 + * pow2845; // pow(trace_generator, (safe_div((safe_mult(32393, global_values.trace_length)), 32768))). + let pow2847 = pow32 + * pow2846; // pow(trace_generator, (safe_div((safe_mult(64787, global_values.trace_length)), 65536))). + let pow2848 = pow32 + * pow2847; // pow(trace_generator, (safe_div((safe_mult(16197, global_values.trace_length)), 16384))). + let pow2849 = pow32 + * pow2848; // pow(trace_generator, (safe_div((safe_mult(64789, global_values.trace_length)), 65536))). + let pow2850 = pow32 + * pow2849; // pow(trace_generator, (safe_div((safe_mult(32395, global_values.trace_length)), 32768))). + let pow2851 = pow32 + * pow2850; // pow(trace_generator, (safe_div((safe_mult(64791, global_values.trace_length)), 65536))). + let pow2852 = pow32 + * pow2851; // pow(trace_generator, (safe_div((safe_mult(8099, global_values.trace_length)), 8192))). + let pow2853 = pow32 + * pow2852; // pow(trace_generator, (safe_div((safe_mult(64793, global_values.trace_length)), 65536))). + let pow2854 = pow32 + * pow2853; // pow(trace_generator, (safe_div((safe_mult(32397, global_values.trace_length)), 32768))). + let pow2855 = pow32 + * pow2854; // pow(trace_generator, (safe_div((safe_mult(64795, global_values.trace_length)), 65536))). + let pow2856 = pow32 + * pow2855; // pow(trace_generator, (safe_div((safe_mult(16199, global_values.trace_length)), 16384))). + let pow2857 = pow32 + * pow2856; // pow(trace_generator, (safe_div((safe_mult(64797, global_values.trace_length)), 65536))). + let pow2858 = pow41 + * pow2857; // pow(trace_generator, (safe_div((safe_mult(2025, global_values.trace_length)), 2048))). + let pow2859 = pow32 + * pow2858; // pow(trace_generator, (safe_div((safe_mult(64801, global_values.trace_length)), 65536))). + let pow2860 = pow32 + * pow2859; // pow(trace_generator, (safe_div((safe_mult(32401, global_values.trace_length)), 32768))). + let pow2861 = pow32 + * pow2860; // pow(trace_generator, (safe_div((safe_mult(64803, global_values.trace_length)), 65536))). + let pow2862 = pow32 + * pow2861; // pow(trace_generator, (safe_div((safe_mult(16201, global_values.trace_length)), 16384))). + let pow2863 = pow32 + * pow2862; // pow(trace_generator, (safe_div((safe_mult(64805, global_values.trace_length)), 65536))). + let pow2864 = pow32 + * pow2863; // pow(trace_generator, (safe_div((safe_mult(32403, global_values.trace_length)), 32768))). + let pow2865 = pow32 + * pow2864; // pow(trace_generator, (safe_div((safe_mult(64807, global_values.trace_length)), 65536))). + let pow2866 = pow32 + * pow2865; // pow(trace_generator, (safe_div((safe_mult(8101, global_values.trace_length)), 8192))). + let pow2867 = pow32 + * pow2866; // pow(trace_generator, (safe_div((safe_mult(64809, global_values.trace_length)), 65536))). + let pow2868 = pow32 + * pow2867; // pow(trace_generator, (safe_div((safe_mult(32405, global_values.trace_length)), 32768))). + let pow2869 = pow32 + * pow2868; // pow(trace_generator, (safe_div((safe_mult(64811, global_values.trace_length)), 65536))). + let pow2870 = pow32 + * pow2869; // pow(trace_generator, (safe_div((safe_mult(16203, global_values.trace_length)), 16384))). + let pow2871 = pow32 + * pow2870; // pow(trace_generator, (safe_div((safe_mult(64813, global_values.trace_length)), 65536))). + let pow2872 = pow32 + * pow2871; // pow(trace_generator, (safe_div((safe_mult(32407, global_values.trace_length)), 32768))). + let pow2873 = pow32 + * pow2872; // pow(trace_generator, (safe_div((safe_mult(64815, global_values.trace_length)), 65536))). + let pow2874 = pow32 + * pow2873; // pow(trace_generator, (safe_div((safe_mult(4051, global_values.trace_length)), 4096))). + let pow2875 = pow32 + * pow2874; // pow(trace_generator, (safe_div((safe_mult(64817, global_values.trace_length)), 65536))). + let pow2876 = pow32 + * pow2875; // pow(trace_generator, (safe_div((safe_mult(32409, global_values.trace_length)), 32768))). + let pow2877 = pow32 + * pow2876; // pow(trace_generator, (safe_div((safe_mult(64819, global_values.trace_length)), 65536))). + let pow2878 = pow32 + * pow2877; // pow(trace_generator, (safe_div((safe_mult(16205, global_values.trace_length)), 16384))). + let pow2879 = pow32 + * pow2878; // pow(trace_generator, (safe_div((safe_mult(64821, global_values.trace_length)), 65536))). + let pow2880 = pow32 + * pow2879; // pow(trace_generator, (safe_div((safe_mult(32411, global_values.trace_length)), 32768))). + let pow2881 = pow32 + * pow2880; // pow(trace_generator, (safe_div((safe_mult(64823, global_values.trace_length)), 65536))). + let pow2882 = pow32 + * pow2881; // pow(trace_generator, (safe_div((safe_mult(8103, global_values.trace_length)), 8192))). + let pow2883 = pow32 + * pow2882; // pow(trace_generator, (safe_div((safe_mult(64825, global_values.trace_length)), 65536))). + let pow2884 = pow32 + * pow2883; // pow(trace_generator, (safe_div((safe_mult(32413, global_values.trace_length)), 32768))). + let pow2885 = pow32 + * pow2884; // pow(trace_generator, (safe_div((safe_mult(64827, global_values.trace_length)), 65536))). + let pow2886 = pow32 + * pow2885; // pow(trace_generator, (safe_div((safe_mult(16207, global_values.trace_length)), 16384))). + let pow2887 = pow32 + * pow2886; // pow(trace_generator, (safe_div((safe_mult(64829, global_values.trace_length)), 65536))). + let pow2888 = pow41 + * pow2887; // pow(trace_generator, (safe_div((safe_mult(1013, global_values.trace_length)), 1024))). + let pow2889 = pow32 + * pow2888; // pow(trace_generator, (safe_div((safe_mult(64833, global_values.trace_length)), 65536))). + let pow2890 = pow32 + * pow2889; // pow(trace_generator, (safe_div((safe_mult(32417, global_values.trace_length)), 32768))). + let pow2891 = pow32 + * pow2890; // pow(trace_generator, (safe_div((safe_mult(64835, global_values.trace_length)), 65536))). + let pow2892 = pow32 + * pow2891; // pow(trace_generator, (safe_div((safe_mult(16209, global_values.trace_length)), 16384))). + let pow2893 = pow32 + * pow2892; // pow(trace_generator, (safe_div((safe_mult(64837, global_values.trace_length)), 65536))). + let pow2894 = pow32 + * pow2893; // pow(trace_generator, (safe_div((safe_mult(32419, global_values.trace_length)), 32768))). + let pow2895 = pow32 + * pow2894; // pow(trace_generator, (safe_div((safe_mult(64839, global_values.trace_length)), 65536))). + let pow2896 = pow32 + * pow2895; // pow(trace_generator, (safe_div((safe_mult(8105, global_values.trace_length)), 8192))). + let pow2897 = pow32 + * pow2896; // pow(trace_generator, (safe_div((safe_mult(64841, global_values.trace_length)), 65536))). + let pow2898 = pow32 + * pow2897; // pow(trace_generator, (safe_div((safe_mult(32421, global_values.trace_length)), 32768))). + let pow2899 = pow32 + * pow2898; // pow(trace_generator, (safe_div((safe_mult(64843, global_values.trace_length)), 65536))). + let pow2900 = pow32 + * pow2899; // pow(trace_generator, (safe_div((safe_mult(16211, global_values.trace_length)), 16384))). + let pow2901 = pow32 + * pow2900; // pow(trace_generator, (safe_div((safe_mult(64845, global_values.trace_length)), 65536))). + let pow2902 = pow32 + * pow2901; // pow(trace_generator, (safe_div((safe_mult(32423, global_values.trace_length)), 32768))). + let pow2903 = pow32 + * pow2902; // pow(trace_generator, (safe_div((safe_mult(64847, global_values.trace_length)), 65536))). + let pow2904 = pow32 + * pow2903; // pow(trace_generator, (safe_div((safe_mult(4053, global_values.trace_length)), 4096))). + let pow2905 = pow32 + * pow2904; // pow(trace_generator, (safe_div((safe_mult(64849, global_values.trace_length)), 65536))). + let pow2906 = pow32 + * pow2905; // pow(trace_generator, (safe_div((safe_mult(32425, global_values.trace_length)), 32768))). + let pow2907 = pow32 + * pow2906; // pow(trace_generator, (safe_div((safe_mult(64851, global_values.trace_length)), 65536))). + let pow2908 = pow32 + * pow2907; // pow(trace_generator, (safe_div((safe_mult(16213, global_values.trace_length)), 16384))). + let pow2909 = pow32 + * pow2908; // pow(trace_generator, (safe_div((safe_mult(64853, global_values.trace_length)), 65536))). + let pow2910 = pow32 + * pow2909; // pow(trace_generator, (safe_div((safe_mult(32427, global_values.trace_length)), 32768))). + let pow2911 = pow32 + * pow2910; // pow(trace_generator, (safe_div((safe_mult(64855, global_values.trace_length)), 65536))). + let pow2912 = pow32 + * pow2911; // pow(trace_generator, (safe_div((safe_mult(8107, global_values.trace_length)), 8192))). + let pow2913 = pow32 + * pow2912; // pow(trace_generator, (safe_div((safe_mult(64857, global_values.trace_length)), 65536))). + let pow2914 = pow32 + * pow2913; // pow(trace_generator, (safe_div((safe_mult(32429, global_values.trace_length)), 32768))). + let pow2915 = pow32 + * pow2914; // pow(trace_generator, (safe_div((safe_mult(64859, global_values.trace_length)), 65536))). + let pow2916 = pow32 + * pow2915; // pow(trace_generator, (safe_div((safe_mult(16215, global_values.trace_length)), 16384))). + let pow2917 = pow32 + * pow2916; // pow(trace_generator, (safe_div((safe_mult(64861, global_values.trace_length)), 65536))). + let pow2918 = pow41 + * pow2917; // pow(trace_generator, (safe_div((safe_mult(2027, global_values.trace_length)), 2048))). + let pow2919 = pow32 + * pow2918; // pow(trace_generator, (safe_div((safe_mult(64865, global_values.trace_length)), 65536))). + let pow2920 = pow32 + * pow2919; // pow(trace_generator, (safe_div((safe_mult(32433, global_values.trace_length)), 32768))). + let pow2921 = pow32 + * pow2920; // pow(trace_generator, (safe_div((safe_mult(64867, global_values.trace_length)), 65536))). + let pow2922 = pow32 + * pow2921; // pow(trace_generator, (safe_div((safe_mult(16217, global_values.trace_length)), 16384))). + let pow2923 = pow32 + * pow2922; // pow(trace_generator, (safe_div((safe_mult(64869, global_values.trace_length)), 65536))). + let pow2924 = pow32 + * pow2923; // pow(trace_generator, (safe_div((safe_mult(32435, global_values.trace_length)), 32768))). + let pow2925 = pow32 + * pow2924; // pow(trace_generator, (safe_div((safe_mult(64871, global_values.trace_length)), 65536))). + let pow2926 = pow32 + * pow2925; // pow(trace_generator, (safe_div((safe_mult(8109, global_values.trace_length)), 8192))). + let pow2927 = pow32 + * pow2926; // pow(trace_generator, (safe_div((safe_mult(64873, global_values.trace_length)), 65536))). + let pow2928 = pow32 + * pow2927; // pow(trace_generator, (safe_div((safe_mult(32437, global_values.trace_length)), 32768))). + let pow2929 = pow32 + * pow2928; // pow(trace_generator, (safe_div((safe_mult(64875, global_values.trace_length)), 65536))). + let pow2930 = pow32 + * pow2929; // pow(trace_generator, (safe_div((safe_mult(16219, global_values.trace_length)), 16384))). + let pow2931 = pow32 + * pow2930; // pow(trace_generator, (safe_div((safe_mult(64877, global_values.trace_length)), 65536))). + let pow2932 = pow32 + * pow2931; // pow(trace_generator, (safe_div((safe_mult(32439, global_values.trace_length)), 32768))). + let pow2933 = pow32 + * pow2932; // pow(trace_generator, (safe_div((safe_mult(64879, global_values.trace_length)), 65536))). + let pow2934 = pow32 + * pow2933; // pow(trace_generator, (safe_div((safe_mult(4055, global_values.trace_length)), 4096))). + let pow2935 = pow32 + * pow2934; // pow(trace_generator, (safe_div((safe_mult(64881, global_values.trace_length)), 65536))). + let pow2936 = pow32 + * pow2935; // pow(trace_generator, (safe_div((safe_mult(32441, global_values.trace_length)), 32768))). + let pow2937 = pow32 + * pow2936; // pow(trace_generator, (safe_div((safe_mult(64883, global_values.trace_length)), 65536))). + let pow2938 = pow32 + * pow2937; // pow(trace_generator, (safe_div((safe_mult(16221, global_values.trace_length)), 16384))). + let pow2939 = pow32 + * pow2938; // pow(trace_generator, (safe_div((safe_mult(64885, global_values.trace_length)), 65536))). + let pow2940 = pow32 + * pow2939; // pow(trace_generator, (safe_div((safe_mult(32443, global_values.trace_length)), 32768))). + let pow2941 = pow32 + * pow2940; // pow(trace_generator, (safe_div((safe_mult(64887, global_values.trace_length)), 65536))). + let pow2942 = pow32 + * pow2941; // pow(trace_generator, (safe_div((safe_mult(8111, global_values.trace_length)), 8192))). + let pow2943 = pow32 + * pow2942; // pow(trace_generator, (safe_div((safe_mult(64889, global_values.trace_length)), 65536))). + let pow2944 = pow32 + * pow2943; // pow(trace_generator, (safe_div((safe_mult(32445, global_values.trace_length)), 32768))). + let pow2945 = pow32 + * pow2944; // pow(trace_generator, (safe_div((safe_mult(64891, global_values.trace_length)), 65536))). + let pow2946 = pow32 + * pow2945; // pow(trace_generator, (safe_div((safe_mult(16223, global_values.trace_length)), 16384))). + let pow2947 = pow32 + * pow2946; // pow(trace_generator, (safe_div((safe_mult(64893, global_values.trace_length)), 65536))). + let pow2948 = pow41 + * pow2947; // pow(trace_generator, (safe_div((safe_mult(507, global_values.trace_length)), 512))). + let pow2949 = pow32 + * pow2948; // pow(trace_generator, (safe_div((safe_mult(64897, global_values.trace_length)), 65536))). + let pow2950 = pow32 + * pow2949; // pow(trace_generator, (safe_div((safe_mult(32449, global_values.trace_length)), 32768))). + let pow2951 = pow32 + * pow2950; // pow(trace_generator, (safe_div((safe_mult(64899, global_values.trace_length)), 65536))). + let pow2952 = pow32 + * pow2951; // pow(trace_generator, (safe_div((safe_mult(16225, global_values.trace_length)), 16384))). + let pow2953 = pow32 + * pow2952; // pow(trace_generator, (safe_div((safe_mult(64901, global_values.trace_length)), 65536))). + let pow2954 = pow32 + * pow2953; // pow(trace_generator, (safe_div((safe_mult(32451, global_values.trace_length)), 32768))). + let pow2955 = pow32 + * pow2954; // pow(trace_generator, (safe_div((safe_mult(64903, global_values.trace_length)), 65536))). + let pow2956 = pow32 + * pow2955; // pow(trace_generator, (safe_div((safe_mult(8113, global_values.trace_length)), 8192))). + let pow2957 = pow32 + * pow2956; // pow(trace_generator, (safe_div((safe_mult(64905, global_values.trace_length)), 65536))). + let pow2958 = pow32 + * pow2957; // pow(trace_generator, (safe_div((safe_mult(32453, global_values.trace_length)), 32768))). + let pow2959 = pow32 + * pow2958; // pow(trace_generator, (safe_div((safe_mult(64907, global_values.trace_length)), 65536))). + let pow2960 = pow32 + * pow2959; // pow(trace_generator, (safe_div((safe_mult(16227, global_values.trace_length)), 16384))). + let pow2961 = pow32 + * pow2960; // pow(trace_generator, (safe_div((safe_mult(64909, global_values.trace_length)), 65536))). + let pow2962 = pow32 + * pow2961; // pow(trace_generator, (safe_div((safe_mult(32455, global_values.trace_length)), 32768))). + let pow2963 = pow32 + * pow2962; // pow(trace_generator, (safe_div((safe_mult(64911, global_values.trace_length)), 65536))). + let pow2964 = pow32 + * pow2963; // pow(trace_generator, (safe_div((safe_mult(4057, global_values.trace_length)), 4096))). + let pow2965 = pow32 + * pow2964; // pow(trace_generator, (safe_div((safe_mult(64913, global_values.trace_length)), 65536))). + let pow2966 = pow32 + * pow2965; // pow(trace_generator, (safe_div((safe_mult(32457, global_values.trace_length)), 32768))). + let pow2967 = pow32 + * pow2966; // pow(trace_generator, (safe_div((safe_mult(64915, global_values.trace_length)), 65536))). + let pow2968 = pow32 + * pow2967; // pow(trace_generator, (safe_div((safe_mult(16229, global_values.trace_length)), 16384))). + let pow2969 = pow32 + * pow2968; // pow(trace_generator, (safe_div((safe_mult(64917, global_values.trace_length)), 65536))). + let pow2970 = pow32 + * pow2969; // pow(trace_generator, (safe_div((safe_mult(32459, global_values.trace_length)), 32768))). + let pow2971 = pow32 + * pow2970; // pow(trace_generator, (safe_div((safe_mult(64919, global_values.trace_length)), 65536))). + let pow2972 = pow32 + * pow2971; // pow(trace_generator, (safe_div((safe_mult(8115, global_values.trace_length)), 8192))). + let pow2973 = pow32 + * pow2972; // pow(trace_generator, (safe_div((safe_mult(64921, global_values.trace_length)), 65536))). + let pow2974 = pow32 + * pow2973; // pow(trace_generator, (safe_div((safe_mult(32461, global_values.trace_length)), 32768))). + let pow2975 = pow32 + * pow2974; // pow(trace_generator, (safe_div((safe_mult(64923, global_values.trace_length)), 65536))). + let pow2976 = pow32 + * pow2975; // pow(trace_generator, (safe_div((safe_mult(16231, global_values.trace_length)), 16384))). + let pow2977 = pow32 + * pow2976; // pow(trace_generator, (safe_div((safe_mult(64925, global_values.trace_length)), 65536))). + let pow2978 = pow41 + * pow2977; // pow(trace_generator, (safe_div((safe_mult(2029, global_values.trace_length)), 2048))). + let pow2979 = pow32 + * pow2978; // pow(trace_generator, (safe_div((safe_mult(64929, global_values.trace_length)), 65536))). + let pow2980 = pow32 + * pow2979; // pow(trace_generator, (safe_div((safe_mult(32465, global_values.trace_length)), 32768))). + let pow2981 = pow32 + * pow2980; // pow(trace_generator, (safe_div((safe_mult(64931, global_values.trace_length)), 65536))). + let pow2982 = pow32 + * pow2981; // pow(trace_generator, (safe_div((safe_mult(16233, global_values.trace_length)), 16384))). + let pow2983 = pow32 + * pow2982; // pow(trace_generator, (safe_div((safe_mult(64933, global_values.trace_length)), 65536))). + let pow2984 = pow32 + * pow2983; // pow(trace_generator, (safe_div((safe_mult(32467, global_values.trace_length)), 32768))). + let pow2985 = pow32 + * pow2984; // pow(trace_generator, (safe_div((safe_mult(64935, global_values.trace_length)), 65536))). + let pow2986 = pow32 + * pow2985; // pow(trace_generator, (safe_div((safe_mult(8117, global_values.trace_length)), 8192))). + let pow2987 = pow32 + * pow2986; // pow(trace_generator, (safe_div((safe_mult(64937, global_values.trace_length)), 65536))). + let pow2988 = pow32 + * pow2987; // pow(trace_generator, (safe_div((safe_mult(32469, global_values.trace_length)), 32768))). + let pow2989 = pow32 + * pow2988; // pow(trace_generator, (safe_div((safe_mult(64939, global_values.trace_length)), 65536))). + let pow2990 = pow32 + * pow2989; // pow(trace_generator, (safe_div((safe_mult(16235, global_values.trace_length)), 16384))). + let pow2991 = pow32 + * pow2990; // pow(trace_generator, (safe_div((safe_mult(64941, global_values.trace_length)), 65536))). + let pow2992 = pow32 + * pow2991; // pow(trace_generator, (safe_div((safe_mult(32471, global_values.trace_length)), 32768))). + let pow2993 = pow32 + * pow2992; // pow(trace_generator, (safe_div((safe_mult(64943, global_values.trace_length)), 65536))). + let pow2994 = pow32 + * pow2993; // pow(trace_generator, (safe_div((safe_mult(4059, global_values.trace_length)), 4096))). + let pow2995 = pow32 + * pow2994; // pow(trace_generator, (safe_div((safe_mult(64945, global_values.trace_length)), 65536))). + let pow2996 = pow32 + * pow2995; // pow(trace_generator, (safe_div((safe_mult(32473, global_values.trace_length)), 32768))). + let pow2997 = pow32 + * pow2996; // pow(trace_generator, (safe_div((safe_mult(64947, global_values.trace_length)), 65536))). + let pow2998 = pow32 + * pow2997; // pow(trace_generator, (safe_div((safe_mult(16237, global_values.trace_length)), 16384))). + let pow2999 = pow32 + * pow2998; // pow(trace_generator, (safe_div((safe_mult(64949, global_values.trace_length)), 65536))). + let pow3000 = pow32 + * pow2999; // pow(trace_generator, (safe_div((safe_mult(32475, global_values.trace_length)), 32768))). + let pow3001 = pow32 + * pow3000; // pow(trace_generator, (safe_div((safe_mult(64951, global_values.trace_length)), 65536))). + let pow3002 = pow32 + * pow3001; // pow(trace_generator, (safe_div((safe_mult(8119, global_values.trace_length)), 8192))). + let pow3003 = pow32 + * pow3002; // pow(trace_generator, (safe_div((safe_mult(64953, global_values.trace_length)), 65536))). + let pow3004 = pow32 + * pow3003; // pow(trace_generator, (safe_div((safe_mult(32477, global_values.trace_length)), 32768))). + let pow3005 = pow32 + * pow3004; // pow(trace_generator, (safe_div((safe_mult(64955, global_values.trace_length)), 65536))). + let pow3006 = pow32 + * pow3005; // pow(trace_generator, (safe_div((safe_mult(16239, global_values.trace_length)), 16384))). + let pow3007 = pow32 + * pow3006; // pow(trace_generator, (safe_div((safe_mult(64957, global_values.trace_length)), 65536))). + let pow3008 = pow41 + * pow3007; // pow(trace_generator, (safe_div((safe_mult(1015, global_values.trace_length)), 1024))). + let pow3009 = pow32 + * pow3008; // pow(trace_generator, (safe_div((safe_mult(64961, global_values.trace_length)), 65536))). + let pow3010 = pow32 + * pow3009; // pow(trace_generator, (safe_div((safe_mult(32481, global_values.trace_length)), 32768))). + let pow3011 = pow32 + * pow3010; // pow(trace_generator, (safe_div((safe_mult(64963, global_values.trace_length)), 65536))). + let pow3012 = pow32 + * pow3011; // pow(trace_generator, (safe_div((safe_mult(16241, global_values.trace_length)), 16384))). + let pow3013 = pow32 + * pow3012; // pow(trace_generator, (safe_div((safe_mult(64965, global_values.trace_length)), 65536))). + let pow3014 = pow32 + * pow3013; // pow(trace_generator, (safe_div((safe_mult(32483, global_values.trace_length)), 32768))). + let pow3015 = pow32 + * pow3014; // pow(trace_generator, (safe_div((safe_mult(64967, global_values.trace_length)), 65536))). + let pow3016 = pow32 + * pow3015; // pow(trace_generator, (safe_div((safe_mult(8121, global_values.trace_length)), 8192))). + let pow3017 = pow32 + * pow3016; // pow(trace_generator, (safe_div((safe_mult(64969, global_values.trace_length)), 65536))). + let pow3018 = pow32 + * pow3017; // pow(trace_generator, (safe_div((safe_mult(32485, global_values.trace_length)), 32768))). + let pow3019 = pow32 + * pow3018; // pow(trace_generator, (safe_div((safe_mult(64971, global_values.trace_length)), 65536))). + let pow3020 = pow32 + * pow3019; // pow(trace_generator, (safe_div((safe_mult(16243, global_values.trace_length)), 16384))). + let pow3021 = pow32 + * pow3020; // pow(trace_generator, (safe_div((safe_mult(64973, global_values.trace_length)), 65536))). + let pow3022 = pow32 + * pow3021; // pow(trace_generator, (safe_div((safe_mult(32487, global_values.trace_length)), 32768))). + let pow3023 = pow32 + * pow3022; // pow(trace_generator, (safe_div((safe_mult(64975, global_values.trace_length)), 65536))). + let pow3024 = pow32 + * pow3023; // pow(trace_generator, (safe_div((safe_mult(4061, global_values.trace_length)), 4096))). + let pow3025 = pow32 + * pow3024; // pow(trace_generator, (safe_div((safe_mult(64977, global_values.trace_length)), 65536))). + let pow3026 = pow32 + * pow3025; // pow(trace_generator, (safe_div((safe_mult(32489, global_values.trace_length)), 32768))). + let pow3027 = pow32 + * pow3026; // pow(trace_generator, (safe_div((safe_mult(64979, global_values.trace_length)), 65536))). + let pow3028 = pow32 + * pow3027; // pow(trace_generator, (safe_div((safe_mult(16245, global_values.trace_length)), 16384))). + let pow3029 = pow32 + * pow3028; // pow(trace_generator, (safe_div((safe_mult(64981, global_values.trace_length)), 65536))). + let pow3030 = pow32 + * pow3029; // pow(trace_generator, (safe_div((safe_mult(32491, global_values.trace_length)), 32768))). + let pow3031 = pow32 + * pow3030; // pow(trace_generator, (safe_div((safe_mult(64983, global_values.trace_length)), 65536))). + let pow3032 = pow32 + * pow3031; // pow(trace_generator, (safe_div((safe_mult(8123, global_values.trace_length)), 8192))). + let pow3033 = pow32 + * pow3032; // pow(trace_generator, (safe_div((safe_mult(64985, global_values.trace_length)), 65536))). + let pow3034 = pow32 + * pow3033; // pow(trace_generator, (safe_div((safe_mult(32493, global_values.trace_length)), 32768))). + let pow3035 = pow32 + * pow3034; // pow(trace_generator, (safe_div((safe_mult(64987, global_values.trace_length)), 65536))). + let pow3036 = pow32 + * pow3035; // pow(trace_generator, (safe_div((safe_mult(16247, global_values.trace_length)), 16384))). + let pow3037 = pow32 + * pow3036; // pow(trace_generator, (safe_div((safe_mult(64989, global_values.trace_length)), 65536))). + let pow3038 = pow41 + * pow3037; // pow(trace_generator, (safe_div((safe_mult(2031, global_values.trace_length)), 2048))). + let pow3039 = pow32 + * pow3038; // pow(trace_generator, (safe_div((safe_mult(64993, global_values.trace_length)), 65536))). + let pow3040 = pow32 + * pow3039; // pow(trace_generator, (safe_div((safe_mult(32497, global_values.trace_length)), 32768))). + let pow3041 = pow32 + * pow3040; // pow(trace_generator, (safe_div((safe_mult(64995, global_values.trace_length)), 65536))). + let pow3042 = pow32 + * pow3041; // pow(trace_generator, (safe_div((safe_mult(16249, global_values.trace_length)), 16384))). + let pow3043 = pow32 + * pow3042; // pow(trace_generator, (safe_div((safe_mult(64997, global_values.trace_length)), 65536))). + let pow3044 = pow32 + * pow3043; // pow(trace_generator, (safe_div((safe_mult(32499, global_values.trace_length)), 32768))). + let pow3045 = pow32 + * pow3044; // pow(trace_generator, (safe_div((safe_mult(64999, global_values.trace_length)), 65536))). + let pow3046 = pow32 + * pow3045; // pow(trace_generator, (safe_div((safe_mult(8125, global_values.trace_length)), 8192))). + let pow3047 = pow32 + * pow3046; // pow(trace_generator, (safe_div((safe_mult(65001, global_values.trace_length)), 65536))). + let pow3048 = pow32 + * pow3047; // pow(trace_generator, (safe_div((safe_mult(32501, global_values.trace_length)), 32768))). + let pow3049 = pow32 + * pow3048; // pow(trace_generator, (safe_div((safe_mult(65003, global_values.trace_length)), 65536))). + let pow3050 = pow32 + * pow3049; // pow(trace_generator, (safe_div((safe_mult(16251, global_values.trace_length)), 16384))). + let pow3051 = pow32 + * pow3050; // pow(trace_generator, (safe_div((safe_mult(65005, global_values.trace_length)), 65536))). + let pow3052 = pow32 + * pow3051; // pow(trace_generator, (safe_div((safe_mult(32503, global_values.trace_length)), 32768))). + let pow3053 = pow32 + * pow3052; // pow(trace_generator, (safe_div((safe_mult(65007, global_values.trace_length)), 65536))). + let pow3054 = pow32 + * pow3053; // pow(trace_generator, (safe_div((safe_mult(4063, global_values.trace_length)), 4096))). + let pow3055 = pow32 + * pow3054; // pow(trace_generator, (safe_div((safe_mult(65009, global_values.trace_length)), 65536))). + let pow3056 = pow32 + * pow3055; // pow(trace_generator, (safe_div((safe_mult(32505, global_values.trace_length)), 32768))). + let pow3057 = pow32 + * pow3056; // pow(trace_generator, (safe_div((safe_mult(65011, global_values.trace_length)), 65536))). + let pow3058 = pow32 + * pow3057; // pow(trace_generator, (safe_div((safe_mult(16253, global_values.trace_length)), 16384))). + let pow3059 = pow32 + * pow3058; // pow(trace_generator, (safe_div((safe_mult(65013, global_values.trace_length)), 65536))). + let pow3060 = pow32 + * pow3059; // pow(trace_generator, (safe_div((safe_mult(32507, global_values.trace_length)), 32768))). + let pow3061 = pow32 + * pow3060; // pow(trace_generator, (safe_div((safe_mult(65015, global_values.trace_length)), 65536))). + let pow3062 = pow32 + * pow3061; // pow(trace_generator, (safe_div((safe_mult(8127, global_values.trace_length)), 8192))). + let pow3063 = pow32 + * pow3062; // pow(trace_generator, (safe_div((safe_mult(65017, global_values.trace_length)), 65536))). + let pow3064 = pow32 + * pow3063; // pow(trace_generator, (safe_div((safe_mult(32509, global_values.trace_length)), 32768))). + let pow3065 = pow32 + * pow3064; // pow(trace_generator, (safe_div((safe_mult(65019, global_values.trace_length)), 65536))). + let pow3066 = pow32 + * pow3065; // pow(trace_generator, (safe_div((safe_mult(16255, global_values.trace_length)), 16384))). + let pow3067 = pow32 + * pow3066; // pow(trace_generator, (safe_div((safe_mult(65021, global_values.trace_length)), 65536))). + let pow3068 = pow41 + * pow3067; // pow(trace_generator, (safe_div((safe_mult(127, global_values.trace_length)), 128))). + let pow3069 = pow32 + * pow3068; // pow(trace_generator, (safe_div((safe_mult(65025, global_values.trace_length)), 65536))). + let pow3070 = pow32 + * pow3069; // pow(trace_generator, (safe_div((safe_mult(32513, global_values.trace_length)), 32768))). + let pow3071 = pow32 + * pow3070; // pow(trace_generator, (safe_div((safe_mult(65027, global_values.trace_length)), 65536))). + let pow3072 = pow32 + * pow3071; // pow(trace_generator, (safe_div((safe_mult(16257, global_values.trace_length)), 16384))). + let pow3073 = pow32 + * pow3072; // pow(trace_generator, (safe_div((safe_mult(65029, global_values.trace_length)), 65536))). + let pow3074 = pow32 + * pow3073; // pow(trace_generator, (safe_div((safe_mult(32515, global_values.trace_length)), 32768))). + let pow3075 = pow32 + * pow3074; // pow(trace_generator, (safe_div((safe_mult(65031, global_values.trace_length)), 65536))). + let pow3076 = pow32 + * pow3075; // pow(trace_generator, (safe_div((safe_mult(8129, global_values.trace_length)), 8192))). + let pow3077 = pow32 + * pow3076; // pow(trace_generator, (safe_div((safe_mult(65033, global_values.trace_length)), 65536))). + let pow3078 = pow32 + * pow3077; // pow(trace_generator, (safe_div((safe_mult(32517, global_values.trace_length)), 32768))). + let pow3079 = pow32 + * pow3078; // pow(trace_generator, (safe_div((safe_mult(65035, global_values.trace_length)), 65536))). + let pow3080 = pow32 + * pow3079; // pow(trace_generator, (safe_div((safe_mult(16259, global_values.trace_length)), 16384))). + let pow3081 = pow32 + * pow3080; // pow(trace_generator, (safe_div((safe_mult(65037, global_values.trace_length)), 65536))). + let pow3082 = pow32 + * pow3081; // pow(trace_generator, (safe_div((safe_mult(32519, global_values.trace_length)), 32768))). + let pow3083 = pow32 + * pow3082; // pow(trace_generator, (safe_div((safe_mult(65039, global_values.trace_length)), 65536))). + let pow3084 = pow32 + * pow3083; // pow(trace_generator, (safe_div((safe_mult(4065, global_values.trace_length)), 4096))). + let pow3085 = pow32 + * pow3084; // pow(trace_generator, (safe_div((safe_mult(65041, global_values.trace_length)), 65536))). + let pow3086 = pow32 + * pow3085; // pow(trace_generator, (safe_div((safe_mult(32521, global_values.trace_length)), 32768))). + let pow3087 = pow32 + * pow3086; // pow(trace_generator, (safe_div((safe_mult(65043, global_values.trace_length)), 65536))). + let pow3088 = pow32 + * pow3087; // pow(trace_generator, (safe_div((safe_mult(16261, global_values.trace_length)), 16384))). + let pow3089 = pow32 + * pow3088; // pow(trace_generator, (safe_div((safe_mult(65045, global_values.trace_length)), 65536))). + let pow3090 = pow32 + * pow3089; // pow(trace_generator, (safe_div((safe_mult(32523, global_values.trace_length)), 32768))). + let pow3091 = pow32 + * pow3090; // pow(trace_generator, (safe_div((safe_mult(65047, global_values.trace_length)), 65536))). + let pow3092 = pow32 + * pow3091; // pow(trace_generator, (safe_div((safe_mult(8131, global_values.trace_length)), 8192))). + let pow3093 = pow32 + * pow3092; // pow(trace_generator, (safe_div((safe_mult(65049, global_values.trace_length)), 65536))). + let pow3094 = pow32 + * pow3093; // pow(trace_generator, (safe_div((safe_mult(32525, global_values.trace_length)), 32768))). + let pow3095 = pow32 + * pow3094; // pow(trace_generator, (safe_div((safe_mult(65051, global_values.trace_length)), 65536))). + let pow3096 = pow32 + * pow3095; // pow(trace_generator, (safe_div((safe_mult(16263, global_values.trace_length)), 16384))). + let pow3097 = pow32 + * pow3096; // pow(trace_generator, (safe_div((safe_mult(65053, global_values.trace_length)), 65536))). + let pow3098 = pow41 + * pow3097; // pow(trace_generator, (safe_div((safe_mult(2033, global_values.trace_length)), 2048))). + let pow3099 = pow32 + * pow3098; // pow(trace_generator, (safe_div((safe_mult(65057, global_values.trace_length)), 65536))). + let pow3100 = pow32 + * pow3099; // pow(trace_generator, (safe_div((safe_mult(32529, global_values.trace_length)), 32768))). + let pow3101 = pow32 + * pow3100; // pow(trace_generator, (safe_div((safe_mult(65059, global_values.trace_length)), 65536))). + let pow3102 = pow32 + * pow3101; // pow(trace_generator, (safe_div((safe_mult(16265, global_values.trace_length)), 16384))). + let pow3103 = pow32 + * pow3102; // pow(trace_generator, (safe_div((safe_mult(65061, global_values.trace_length)), 65536))). + let pow3104 = pow32 + * pow3103; // pow(trace_generator, (safe_div((safe_mult(32531, global_values.trace_length)), 32768))). + let pow3105 = pow32 + * pow3104; // pow(trace_generator, (safe_div((safe_mult(65063, global_values.trace_length)), 65536))). + let pow3106 = pow32 + * pow3105; // pow(trace_generator, (safe_div((safe_mult(8133, global_values.trace_length)), 8192))). + let pow3107 = pow32 + * pow3106; // pow(trace_generator, (safe_div((safe_mult(65065, global_values.trace_length)), 65536))). + let pow3108 = pow32 + * pow3107; // pow(trace_generator, (safe_div((safe_mult(32533, global_values.trace_length)), 32768))). + let pow3109 = pow32 + * pow3108; // pow(trace_generator, (safe_div((safe_mult(65067, global_values.trace_length)), 65536))). + let pow3110 = pow32 + * pow3109; // pow(trace_generator, (safe_div((safe_mult(16267, global_values.trace_length)), 16384))). + let pow3111 = pow32 + * pow3110; // pow(trace_generator, (safe_div((safe_mult(65069, global_values.trace_length)), 65536))). + let pow3112 = pow32 + * pow3111; // pow(trace_generator, (safe_div((safe_mult(32535, global_values.trace_length)), 32768))). + let pow3113 = pow32 + * pow3112; // pow(trace_generator, (safe_div((safe_mult(65071, global_values.trace_length)), 65536))). + let pow3114 = pow32 + * pow3113; // pow(trace_generator, (safe_div((safe_mult(4067, global_values.trace_length)), 4096))). + let pow3115 = pow32 + * pow3114; // pow(trace_generator, (safe_div((safe_mult(65073, global_values.trace_length)), 65536))). + let pow3116 = pow32 + * pow3115; // pow(trace_generator, (safe_div((safe_mult(32537, global_values.trace_length)), 32768))). + let pow3117 = pow32 + * pow3116; // pow(trace_generator, (safe_div((safe_mult(65075, global_values.trace_length)), 65536))). + let pow3118 = pow32 + * pow3117; // pow(trace_generator, (safe_div((safe_mult(16269, global_values.trace_length)), 16384))). + let pow3119 = pow32 + * pow3118; // pow(trace_generator, (safe_div((safe_mult(65077, global_values.trace_length)), 65536))). + let pow3120 = pow32 + * pow3119; // pow(trace_generator, (safe_div((safe_mult(32539, global_values.trace_length)), 32768))). + let pow3121 = pow32 + * pow3120; // pow(trace_generator, (safe_div((safe_mult(65079, global_values.trace_length)), 65536))). + let pow3122 = pow32 + * pow3121; // pow(trace_generator, (safe_div((safe_mult(8135, global_values.trace_length)), 8192))). + let pow3123 = pow32 + * pow3122; // pow(trace_generator, (safe_div((safe_mult(65081, global_values.trace_length)), 65536))). + let pow3124 = pow32 + * pow3123; // pow(trace_generator, (safe_div((safe_mult(32541, global_values.trace_length)), 32768))). + let pow3125 = pow32 + * pow3124; // pow(trace_generator, (safe_div((safe_mult(65083, global_values.trace_length)), 65536))). + let pow3126 = pow32 + * pow3125; // pow(trace_generator, (safe_div((safe_mult(16271, global_values.trace_length)), 16384))). + let pow3127 = pow32 + * pow3126; // pow(trace_generator, (safe_div((safe_mult(65085, global_values.trace_length)), 65536))). + let pow3128 = pow41 + * pow3127; // pow(trace_generator, (safe_div((safe_mult(1017, global_values.trace_length)), 1024))). + let pow3129 = pow32 + * pow3128; // pow(trace_generator, (safe_div((safe_mult(65089, global_values.trace_length)), 65536))). + let pow3130 = pow32 + * pow3129; // pow(trace_generator, (safe_div((safe_mult(32545, global_values.trace_length)), 32768))). + let pow3131 = pow32 + * pow3130; // pow(trace_generator, (safe_div((safe_mult(65091, global_values.trace_length)), 65536))). + let pow3132 = pow32 + * pow3131; // pow(trace_generator, (safe_div((safe_mult(16273, global_values.trace_length)), 16384))). + let pow3133 = pow32 + * pow3132; // pow(trace_generator, (safe_div((safe_mult(65093, global_values.trace_length)), 65536))). + let pow3134 = pow32 + * pow3133; // pow(trace_generator, (safe_div((safe_mult(32547, global_values.trace_length)), 32768))). + let pow3135 = pow32 + * pow3134; // pow(trace_generator, (safe_div((safe_mult(65095, global_values.trace_length)), 65536))). + let pow3136 = pow32 + * pow3135; // pow(trace_generator, (safe_div((safe_mult(8137, global_values.trace_length)), 8192))). + let pow3137 = pow32 + * pow3136; // pow(trace_generator, (safe_div((safe_mult(65097, global_values.trace_length)), 65536))). + let pow3138 = pow32 + * pow3137; // pow(trace_generator, (safe_div((safe_mult(32549, global_values.trace_length)), 32768))). + let pow3139 = pow32 + * pow3138; // pow(trace_generator, (safe_div((safe_mult(65099, global_values.trace_length)), 65536))). + let pow3140 = pow32 + * pow3139; // pow(trace_generator, (safe_div((safe_mult(16275, global_values.trace_length)), 16384))). + let pow3141 = pow32 + * pow3140; // pow(trace_generator, (safe_div((safe_mult(65101, global_values.trace_length)), 65536))). + let pow3142 = pow32 + * pow3141; // pow(trace_generator, (safe_div((safe_mult(32551, global_values.trace_length)), 32768))). + let pow3143 = pow32 + * pow3142; // pow(trace_generator, (safe_div((safe_mult(65103, global_values.trace_length)), 65536))). + let pow3144 = pow32 + * pow3143; // pow(trace_generator, (safe_div((safe_mult(4069, global_values.trace_length)), 4096))). + let pow3145 = pow32 + * pow3144; // pow(trace_generator, (safe_div((safe_mult(65105, global_values.trace_length)), 65536))). + let pow3146 = pow32 + * pow3145; // pow(trace_generator, (safe_div((safe_mult(32553, global_values.trace_length)), 32768))). + let pow3147 = pow32 + * pow3146; // pow(trace_generator, (safe_div((safe_mult(65107, global_values.trace_length)), 65536))). + let pow3148 = pow32 + * pow3147; // pow(trace_generator, (safe_div((safe_mult(16277, global_values.trace_length)), 16384))). + let pow3149 = pow32 + * pow3148; // pow(trace_generator, (safe_div((safe_mult(65109, global_values.trace_length)), 65536))). + let pow3150 = pow32 + * pow3149; // pow(trace_generator, (safe_div((safe_mult(32555, global_values.trace_length)), 32768))). + let pow3151 = pow32 + * pow3150; // pow(trace_generator, (safe_div((safe_mult(65111, global_values.trace_length)), 65536))). + let pow3152 = pow32 + * pow3151; // pow(trace_generator, (safe_div((safe_mult(8139, global_values.trace_length)), 8192))). + let pow3153 = pow32 + * pow3152; // pow(trace_generator, (safe_div((safe_mult(65113, global_values.trace_length)), 65536))). + let pow3154 = pow32 + * pow3153; // pow(trace_generator, (safe_div((safe_mult(32557, global_values.trace_length)), 32768))). + let pow3155 = pow32 + * pow3154; // pow(trace_generator, (safe_div((safe_mult(65115, global_values.trace_length)), 65536))). + let pow3156 = pow32 + * pow3155; // pow(trace_generator, (safe_div((safe_mult(16279, global_values.trace_length)), 16384))). + let pow3157 = pow32 + * pow3156; // pow(trace_generator, (safe_div((safe_mult(65117, global_values.trace_length)), 65536))). + let pow3158 = pow41 + * pow3157; // pow(trace_generator, (safe_div((safe_mult(2035, global_values.trace_length)), 2048))). + let pow3159 = pow32 + * pow3158; // pow(trace_generator, (safe_div((safe_mult(65121, global_values.trace_length)), 65536))). + let pow3160 = pow32 + * pow3159; // pow(trace_generator, (safe_div((safe_mult(32561, global_values.trace_length)), 32768))). + let pow3161 = pow32 + * pow3160; // pow(trace_generator, (safe_div((safe_mult(65123, global_values.trace_length)), 65536))). + let pow3162 = pow32 + * pow3161; // pow(trace_generator, (safe_div((safe_mult(16281, global_values.trace_length)), 16384))). + let pow3163 = pow32 + * pow3162; // pow(trace_generator, (safe_div((safe_mult(65125, global_values.trace_length)), 65536))). + let pow3164 = pow32 + * pow3163; // pow(trace_generator, (safe_div((safe_mult(32563, global_values.trace_length)), 32768))). + let pow3165 = pow32 + * pow3164; // pow(trace_generator, (safe_div((safe_mult(65127, global_values.trace_length)), 65536))). + let pow3166 = pow32 + * pow3165; // pow(trace_generator, (safe_div((safe_mult(8141, global_values.trace_length)), 8192))). + let pow3167 = pow32 + * pow3166; // pow(trace_generator, (safe_div((safe_mult(65129, global_values.trace_length)), 65536))). + let pow3168 = pow32 + * pow3167; // pow(trace_generator, (safe_div((safe_mult(32565, global_values.trace_length)), 32768))). + let pow3169 = pow32 + * pow3168; // pow(trace_generator, (safe_div((safe_mult(65131, global_values.trace_length)), 65536))). + let pow3170 = pow32 + * pow3169; // pow(trace_generator, (safe_div((safe_mult(16283, global_values.trace_length)), 16384))). + let pow3171 = pow32 + * pow3170; // pow(trace_generator, (safe_div((safe_mult(65133, global_values.trace_length)), 65536))). + let pow3172 = pow32 + * pow3171; // pow(trace_generator, (safe_div((safe_mult(32567, global_values.trace_length)), 32768))). + let pow3173 = pow32 + * pow3172; // pow(trace_generator, (safe_div((safe_mult(65135, global_values.trace_length)), 65536))). + let pow3174 = pow32 + * pow3173; // pow(trace_generator, (safe_div((safe_mult(4071, global_values.trace_length)), 4096))). + let pow3175 = pow32 + * pow3174; // pow(trace_generator, (safe_div((safe_mult(65137, global_values.trace_length)), 65536))). + let pow3176 = pow32 + * pow3175; // pow(trace_generator, (safe_div((safe_mult(32569, global_values.trace_length)), 32768))). + let pow3177 = pow32 + * pow3176; // pow(trace_generator, (safe_div((safe_mult(65139, global_values.trace_length)), 65536))). + let pow3178 = pow32 + * pow3177; // pow(trace_generator, (safe_div((safe_mult(16285, global_values.trace_length)), 16384))). + let pow3179 = pow32 + * pow3178; // pow(trace_generator, (safe_div((safe_mult(65141, global_values.trace_length)), 65536))). + let pow3180 = pow32 + * pow3179; // pow(trace_generator, (safe_div((safe_mult(32571, global_values.trace_length)), 32768))). + let pow3181 = pow32 + * pow3180; // pow(trace_generator, (safe_div((safe_mult(65143, global_values.trace_length)), 65536))). + let pow3182 = pow32 + * pow3181; // pow(trace_generator, (safe_div((safe_mult(8143, global_values.trace_length)), 8192))). + let pow3183 = pow32 + * pow3182; // pow(trace_generator, (safe_div((safe_mult(65145, global_values.trace_length)), 65536))). + let pow3184 = pow32 + * pow3183; // pow(trace_generator, (safe_div((safe_mult(32573, global_values.trace_length)), 32768))). + let pow3185 = pow32 + * pow3184; // pow(trace_generator, (safe_div((safe_mult(65147, global_values.trace_length)), 65536))). + let pow3186 = pow32 + * pow3185; // pow(trace_generator, (safe_div((safe_mult(16287, global_values.trace_length)), 16384))). + let pow3187 = pow32 + * pow3186; // pow(trace_generator, (safe_div((safe_mult(65149, global_values.trace_length)), 65536))). + let pow3188 = pow41 + * pow3187; // pow(trace_generator, (safe_div((safe_mult(509, global_values.trace_length)), 512))). + let pow3189 = pow32 + * pow3188; // pow(trace_generator, (safe_div((safe_mult(65153, global_values.trace_length)), 65536))). + let pow3190 = pow32 + * pow3189; // pow(trace_generator, (safe_div((safe_mult(32577, global_values.trace_length)), 32768))). + let pow3191 = pow32 + * pow3190; // pow(trace_generator, (safe_div((safe_mult(65155, global_values.trace_length)), 65536))). + let pow3192 = pow32 + * pow3191; // pow(trace_generator, (safe_div((safe_mult(16289, global_values.trace_length)), 16384))). + let pow3193 = pow32 + * pow3192; // pow(trace_generator, (safe_div((safe_mult(65157, global_values.trace_length)), 65536))). + let pow3194 = pow32 + * pow3193; // pow(trace_generator, (safe_div((safe_mult(32579, global_values.trace_length)), 32768))). + let pow3195 = pow32 + * pow3194; // pow(trace_generator, (safe_div((safe_mult(65159, global_values.trace_length)), 65536))). + let pow3196 = pow32 + * pow3195; // pow(trace_generator, (safe_div((safe_mult(8145, global_values.trace_length)), 8192))). + let pow3197 = pow32 + * pow3196; // pow(trace_generator, (safe_div((safe_mult(65161, global_values.trace_length)), 65536))). + let pow3198 = pow32 + * pow3197; // pow(trace_generator, (safe_div((safe_mult(32581, global_values.trace_length)), 32768))). + let pow3199 = pow32 + * pow3198; // pow(trace_generator, (safe_div((safe_mult(65163, global_values.trace_length)), 65536))). + let pow3200 = pow32 + * pow3199; // pow(trace_generator, (safe_div((safe_mult(16291, global_values.trace_length)), 16384))). + let pow3201 = pow32 + * pow3200; // pow(trace_generator, (safe_div((safe_mult(65165, global_values.trace_length)), 65536))). + let pow3202 = pow32 + * pow3201; // pow(trace_generator, (safe_div((safe_mult(32583, global_values.trace_length)), 32768))). + let pow3203 = pow32 + * pow3202; // pow(trace_generator, (safe_div((safe_mult(65167, global_values.trace_length)), 65536))). + let pow3204 = pow32 + * pow3203; // pow(trace_generator, (safe_div((safe_mult(4073, global_values.trace_length)), 4096))). + let pow3205 = pow32 + * pow3204; // pow(trace_generator, (safe_div((safe_mult(65169, global_values.trace_length)), 65536))). + let pow3206 = pow32 + * pow3205; // pow(trace_generator, (safe_div((safe_mult(32585, global_values.trace_length)), 32768))). + let pow3207 = pow32 + * pow3206; // pow(trace_generator, (safe_div((safe_mult(65171, global_values.trace_length)), 65536))). + let pow3208 = pow32 + * pow3207; // pow(trace_generator, (safe_div((safe_mult(16293, global_values.trace_length)), 16384))). + let pow3209 = pow32 + * pow3208; // pow(trace_generator, (safe_div((safe_mult(65173, global_values.trace_length)), 65536))). + let pow3210 = pow32 + * pow3209; // pow(trace_generator, (safe_div((safe_mult(32587, global_values.trace_length)), 32768))). + let pow3211 = pow32 + * pow3210; // pow(trace_generator, (safe_div((safe_mult(65175, global_values.trace_length)), 65536))). + let pow3212 = pow32 + * pow3211; // pow(trace_generator, (safe_div((safe_mult(8147, global_values.trace_length)), 8192))). + let pow3213 = pow32 + * pow3212; // pow(trace_generator, (safe_div((safe_mult(65177, global_values.trace_length)), 65536))). + let pow3214 = pow32 + * pow3213; // pow(trace_generator, (safe_div((safe_mult(32589, global_values.trace_length)), 32768))). + let pow3215 = pow32 + * pow3214; // pow(trace_generator, (safe_div((safe_mult(65179, global_values.trace_length)), 65536))). + let pow3216 = pow32 + * pow3215; // pow(trace_generator, (safe_div((safe_mult(16295, global_values.trace_length)), 16384))). + let pow3217 = pow32 + * pow3216; // pow(trace_generator, (safe_div((safe_mult(65181, global_values.trace_length)), 65536))). + let pow3218 = pow41 + * pow3217; // pow(trace_generator, (safe_div((safe_mult(2037, global_values.trace_length)), 2048))). + let pow3219 = pow32 + * pow3218; // pow(trace_generator, (safe_div((safe_mult(65185, global_values.trace_length)), 65536))). + let pow3220 = pow32 + * pow3219; // pow(trace_generator, (safe_div((safe_mult(32593, global_values.trace_length)), 32768))). + let pow3221 = pow32 + * pow3220; // pow(trace_generator, (safe_div((safe_mult(65187, global_values.trace_length)), 65536))). + let pow3222 = pow32 + * pow3221; // pow(trace_generator, (safe_div((safe_mult(16297, global_values.trace_length)), 16384))). + let pow3223 = pow32 + * pow3222; // pow(trace_generator, (safe_div((safe_mult(65189, global_values.trace_length)), 65536))). + let pow3224 = pow32 + * pow3223; // pow(trace_generator, (safe_div((safe_mult(32595, global_values.trace_length)), 32768))). + let pow3225 = pow32 + * pow3224; // pow(trace_generator, (safe_div((safe_mult(65191, global_values.trace_length)), 65536))). + let pow3226 = pow32 + * pow3225; // pow(trace_generator, (safe_div((safe_mult(8149, global_values.trace_length)), 8192))). + let pow3227 = pow32 + * pow3226; // pow(trace_generator, (safe_div((safe_mult(65193, global_values.trace_length)), 65536))). + let pow3228 = pow32 + * pow3227; // pow(trace_generator, (safe_div((safe_mult(32597, global_values.trace_length)), 32768))). + let pow3229 = pow32 + * pow3228; // pow(trace_generator, (safe_div((safe_mult(65195, global_values.trace_length)), 65536))). + let pow3230 = pow32 + * pow3229; // pow(trace_generator, (safe_div((safe_mult(16299, global_values.trace_length)), 16384))). + let pow3231 = pow32 + * pow3230; // pow(trace_generator, (safe_div((safe_mult(65197, global_values.trace_length)), 65536))). + let pow3232 = pow32 + * pow3231; // pow(trace_generator, (safe_div((safe_mult(32599, global_values.trace_length)), 32768))). + let pow3233 = pow32 + * pow3232; // pow(trace_generator, (safe_div((safe_mult(65199, global_values.trace_length)), 65536))). + let pow3234 = pow32 + * pow3233; // pow(trace_generator, (safe_div((safe_mult(4075, global_values.trace_length)), 4096))). + let pow3235 = pow32 + * pow3234; // pow(trace_generator, (safe_div((safe_mult(65201, global_values.trace_length)), 65536))). + let pow3236 = pow32 + * pow3235; // pow(trace_generator, (safe_div((safe_mult(32601, global_values.trace_length)), 32768))). + let pow3237 = pow32 + * pow3236; // pow(trace_generator, (safe_div((safe_mult(65203, global_values.trace_length)), 65536))). + let pow3238 = pow32 + * pow3237; // pow(trace_generator, (safe_div((safe_mult(16301, global_values.trace_length)), 16384))). + let pow3239 = pow32 + * pow3238; // pow(trace_generator, (safe_div((safe_mult(65205, global_values.trace_length)), 65536))). + let pow3240 = pow32 + * pow3239; // pow(trace_generator, (safe_div((safe_mult(32603, global_values.trace_length)), 32768))). + let pow3241 = pow32 + * pow3240; // pow(trace_generator, (safe_div((safe_mult(65207, global_values.trace_length)), 65536))). + let pow3242 = pow32 + * pow3241; // pow(trace_generator, (safe_div((safe_mult(8151, global_values.trace_length)), 8192))). + let pow3243 = pow32 + * pow3242; // pow(trace_generator, (safe_div((safe_mult(65209, global_values.trace_length)), 65536))). + let pow3244 = pow32 + * pow3243; // pow(trace_generator, (safe_div((safe_mult(32605, global_values.trace_length)), 32768))). + let pow3245 = pow32 + * pow3244; // pow(trace_generator, (safe_div((safe_mult(65211, global_values.trace_length)), 65536))). + let pow3246 = pow32 + * pow3245; // pow(trace_generator, (safe_div((safe_mult(16303, global_values.trace_length)), 16384))). + let pow3247 = pow32 + * pow3246; // pow(trace_generator, (safe_div((safe_mult(65213, global_values.trace_length)), 65536))). + let pow3248 = pow41 + * pow3247; // pow(trace_generator, (safe_div((safe_mult(1019, global_values.trace_length)), 1024))). + let pow3249 = pow32 + * pow3248; // pow(trace_generator, (safe_div((safe_mult(65217, global_values.trace_length)), 65536))). + let pow3250 = pow32 + * pow3249; // pow(trace_generator, (safe_div((safe_mult(32609, global_values.trace_length)), 32768))). + let pow3251 = pow32 + * pow3250; // pow(trace_generator, (safe_div((safe_mult(65219, global_values.trace_length)), 65536))). + let pow3252 = pow32 + * pow3251; // pow(trace_generator, (safe_div((safe_mult(16305, global_values.trace_length)), 16384))). + let pow3253 = pow32 + * pow3252; // pow(trace_generator, (safe_div((safe_mult(65221, global_values.trace_length)), 65536))). + let pow3254 = pow32 + * pow3253; // pow(trace_generator, (safe_div((safe_mult(32611, global_values.trace_length)), 32768))). + let pow3255 = pow32 + * pow3254; // pow(trace_generator, (safe_div((safe_mult(65223, global_values.trace_length)), 65536))). + let pow3256 = pow32 + * pow3255; // pow(trace_generator, (safe_div((safe_mult(8153, global_values.trace_length)), 8192))). + let pow3257 = pow32 + * pow3256; // pow(trace_generator, (safe_div((safe_mult(65225, global_values.trace_length)), 65536))). + let pow3258 = pow32 + * pow3257; // pow(trace_generator, (safe_div((safe_mult(32613, global_values.trace_length)), 32768))). + let pow3259 = pow32 + * pow3258; // pow(trace_generator, (safe_div((safe_mult(65227, global_values.trace_length)), 65536))). + let pow3260 = pow32 + * pow3259; // pow(trace_generator, (safe_div((safe_mult(16307, global_values.trace_length)), 16384))). + let pow3261 = pow32 + * pow3260; // pow(trace_generator, (safe_div((safe_mult(65229, global_values.trace_length)), 65536))). + let pow3262 = pow32 + * pow3261; // pow(trace_generator, (safe_div((safe_mult(32615, global_values.trace_length)), 32768))). + let pow3263 = pow32 + * pow3262; // pow(trace_generator, (safe_div((safe_mult(65231, global_values.trace_length)), 65536))). + let pow3264 = pow32 + * pow3263; // pow(trace_generator, (safe_div((safe_mult(4077, global_values.trace_length)), 4096))). + let pow3265 = pow32 + * pow3264; // pow(trace_generator, (safe_div((safe_mult(65233, global_values.trace_length)), 65536))). + let pow3266 = pow32 + * pow3265; // pow(trace_generator, (safe_div((safe_mult(32617, global_values.trace_length)), 32768))). + let pow3267 = pow32 + * pow3266; // pow(trace_generator, (safe_div((safe_mult(65235, global_values.trace_length)), 65536))). + let pow3268 = pow32 + * pow3267; // pow(trace_generator, (safe_div((safe_mult(16309, global_values.trace_length)), 16384))). + let pow3269 = pow32 + * pow3268; // pow(trace_generator, (safe_div((safe_mult(65237, global_values.trace_length)), 65536))). + let pow3270 = pow32 + * pow3269; // pow(trace_generator, (safe_div((safe_mult(32619, global_values.trace_length)), 32768))). + let pow3271 = pow32 + * pow3270; // pow(trace_generator, (safe_div((safe_mult(65239, global_values.trace_length)), 65536))). + let pow3272 = pow32 + * pow3271; // pow(trace_generator, (safe_div((safe_mult(8155, global_values.trace_length)), 8192))). + let pow3273 = pow32 + * pow3272; // pow(trace_generator, (safe_div((safe_mult(65241, global_values.trace_length)), 65536))). + let pow3274 = pow32 + * pow3273; // pow(trace_generator, (safe_div((safe_mult(32621, global_values.trace_length)), 32768))). + let pow3275 = pow32 + * pow3274; // pow(trace_generator, (safe_div((safe_mult(65243, global_values.trace_length)), 65536))). + let pow3276 = pow32 + * pow3275; // pow(trace_generator, (safe_div((safe_mult(16311, global_values.trace_length)), 16384))). + let pow3277 = pow32 + * pow3276; // pow(trace_generator, (safe_div((safe_mult(65245, global_values.trace_length)), 65536))). + let pow3278 = pow41 + * pow3277; // pow(trace_generator, (safe_div((safe_mult(2039, global_values.trace_length)), 2048))). + let pow3279 = pow32 + * pow3278; // pow(trace_generator, (safe_div((safe_mult(65249, global_values.trace_length)), 65536))). + let pow3280 = pow32 + * pow3279; // pow(trace_generator, (safe_div((safe_mult(32625, global_values.trace_length)), 32768))). + let pow3281 = pow32 + * pow3280; // pow(trace_generator, (safe_div((safe_mult(65251, global_values.trace_length)), 65536))). + let pow3282 = pow32 + * pow3281; // pow(trace_generator, (safe_div((safe_mult(16313, global_values.trace_length)), 16384))). + let pow3283 = pow32 + * pow3282; // pow(trace_generator, (safe_div((safe_mult(65253, global_values.trace_length)), 65536))). + let pow3284 = pow32 + * pow3283; // pow(trace_generator, (safe_div((safe_mult(32627, global_values.trace_length)), 32768))). + let pow3285 = pow32 + * pow3284; // pow(trace_generator, (safe_div((safe_mult(65255, global_values.trace_length)), 65536))). + let pow3286 = pow32 + * pow3285; // pow(trace_generator, (safe_div((safe_mult(8157, global_values.trace_length)), 8192))). + let pow3287 = pow32 + * pow3286; // pow(trace_generator, (safe_div((safe_mult(65257, global_values.trace_length)), 65536))). + let pow3288 = pow32 + * pow3287; // pow(trace_generator, (safe_div((safe_mult(32629, global_values.trace_length)), 32768))). + let pow3289 = pow32 + * pow3288; // pow(trace_generator, (safe_div((safe_mult(65259, global_values.trace_length)), 65536))). + let pow3290 = pow32 + * pow3289; // pow(trace_generator, (safe_div((safe_mult(16315, global_values.trace_length)), 16384))). + let pow3291 = pow32 + * pow3290; // pow(trace_generator, (safe_div((safe_mult(65261, global_values.trace_length)), 65536))). + let pow3292 = pow32 + * pow3291; // pow(trace_generator, (safe_div((safe_mult(32631, global_values.trace_length)), 32768))). + let pow3293 = pow32 + * pow3292; // pow(trace_generator, (safe_div((safe_mult(65263, global_values.trace_length)), 65536))). + let pow3294 = pow32 + * pow3293; // pow(trace_generator, (safe_div((safe_mult(4079, global_values.trace_length)), 4096))). + let pow3295 = pow32 + * pow3294; // pow(trace_generator, (safe_div((safe_mult(65265, global_values.trace_length)), 65536))). + let pow3296 = pow32 + * pow3295; // pow(trace_generator, (safe_div((safe_mult(32633, global_values.trace_length)), 32768))). + let pow3297 = pow32 + * pow3296; // pow(trace_generator, (safe_div((safe_mult(65267, global_values.trace_length)), 65536))). + let pow3298 = pow32 + * pow3297; // pow(trace_generator, (safe_div((safe_mult(16317, global_values.trace_length)), 16384))). + let pow3299 = pow32 + * pow3298; // pow(trace_generator, (safe_div((safe_mult(65269, global_values.trace_length)), 65536))). + let pow3300 = pow32 + * pow3299; // pow(trace_generator, (safe_div((safe_mult(32635, global_values.trace_length)), 32768))). + let pow3301 = pow32 + * pow3300; // pow(trace_generator, (safe_div((safe_mult(65271, global_values.trace_length)), 65536))). + let pow3302 = pow32 + * pow3301; // pow(trace_generator, (safe_div((safe_mult(8159, global_values.trace_length)), 8192))). + let pow3303 = pow32 + * pow3302; // pow(trace_generator, (safe_div((safe_mult(65273, global_values.trace_length)), 65536))). + let pow3304 = pow32 + * pow3303; // pow(trace_generator, (safe_div((safe_mult(32637, global_values.trace_length)), 32768))). + let pow3305 = pow32 + * pow3304; // pow(trace_generator, (safe_div((safe_mult(65275, global_values.trace_length)), 65536))). + let pow3306 = pow32 + * pow3305; // pow(trace_generator, (safe_div((safe_mult(16319, global_values.trace_length)), 16384))). + let pow3307 = pow32 + * pow3306; // pow(trace_generator, (safe_div((safe_mult(65277, global_values.trace_length)), 65536))). + let pow3308 = pow41 + * pow3307; // pow(trace_generator, (safe_div((safe_mult(255, global_values.trace_length)), 256))). + let pow3309 = pow32 + * pow3308; // pow(trace_generator, (safe_div((safe_mult(65281, global_values.trace_length)), 65536))). + let pow3310 = pow32 + * pow3309; // pow(trace_generator, (safe_div((safe_mult(32641, global_values.trace_length)), 32768))). + let pow3311 = pow32 + * pow3310; // pow(trace_generator, (safe_div((safe_mult(65283, global_values.trace_length)), 65536))). + let pow3312 = pow32 + * pow3311; // pow(trace_generator, (safe_div((safe_mult(16321, global_values.trace_length)), 16384))). + let pow3313 = pow32 + * pow3312; // pow(trace_generator, (safe_div((safe_mult(65285, global_values.trace_length)), 65536))). + let pow3314 = pow32 + * pow3313; // pow(trace_generator, (safe_div((safe_mult(32643, global_values.trace_length)), 32768))). + let pow3315 = pow32 + * pow3314; // pow(trace_generator, (safe_div((safe_mult(65287, global_values.trace_length)), 65536))). + let pow3316 = pow32 + * pow3315; // pow(trace_generator, (safe_div((safe_mult(8161, global_values.trace_length)), 8192))). + let pow3317 = pow32 + * pow3316; // pow(trace_generator, (safe_div((safe_mult(65289, global_values.trace_length)), 65536))). + let pow3318 = pow32 + * pow3317; // pow(trace_generator, (safe_div((safe_mult(32645, global_values.trace_length)), 32768))). + let pow3319 = pow32 + * pow3318; // pow(trace_generator, (safe_div((safe_mult(65291, global_values.trace_length)), 65536))). + let pow3320 = pow32 + * pow3319; // pow(trace_generator, (safe_div((safe_mult(16323, global_values.trace_length)), 16384))). + let pow3321 = pow32 + * pow3320; // pow(trace_generator, (safe_div((safe_mult(65293, global_values.trace_length)), 65536))). + let pow3322 = pow32 + * pow3321; // pow(trace_generator, (safe_div((safe_mult(32647, global_values.trace_length)), 32768))). + let pow3323 = pow32 + * pow3322; // pow(trace_generator, (safe_div((safe_mult(65295, global_values.trace_length)), 65536))). + let pow3324 = pow32 + * pow3323; // pow(trace_generator, (safe_div((safe_mult(4081, global_values.trace_length)), 4096))). + let pow3325 = pow32 + * pow3324; // pow(trace_generator, (safe_div((safe_mult(65297, global_values.trace_length)), 65536))). + let pow3326 = pow32 + * pow3325; // pow(trace_generator, (safe_div((safe_mult(32649, global_values.trace_length)), 32768))). + let pow3327 = pow32 + * pow3326; // pow(trace_generator, (safe_div((safe_mult(65299, global_values.trace_length)), 65536))). + let pow3328 = pow32 + * pow3327; // pow(trace_generator, (safe_div((safe_mult(16325, global_values.trace_length)), 16384))). + let pow3329 = pow32 + * pow3328; // pow(trace_generator, (safe_div((safe_mult(65301, global_values.trace_length)), 65536))). + let pow3330 = pow32 + * pow3329; // pow(trace_generator, (safe_div((safe_mult(32651, global_values.trace_length)), 32768))). + let pow3331 = pow32 + * pow3330; // pow(trace_generator, (safe_div((safe_mult(65303, global_values.trace_length)), 65536))). + let pow3332 = pow32 + * pow3331; // pow(trace_generator, (safe_div((safe_mult(8163, global_values.trace_length)), 8192))). + let pow3333 = pow32 + * pow3332; // pow(trace_generator, (safe_div((safe_mult(65305, global_values.trace_length)), 65536))). + let pow3334 = pow32 + * pow3333; // pow(trace_generator, (safe_div((safe_mult(32653, global_values.trace_length)), 32768))). + let pow3335 = pow32 + * pow3334; // pow(trace_generator, (safe_div((safe_mult(65307, global_values.trace_length)), 65536))). + let pow3336 = pow32 + * pow3335; // pow(trace_generator, (safe_div((safe_mult(16327, global_values.trace_length)), 16384))). + let pow3337 = pow32 + * pow3336; // pow(trace_generator, (safe_div((safe_mult(65309, global_values.trace_length)), 65536))). + let pow3338 = pow41 + * pow3337; // pow(trace_generator, (safe_div((safe_mult(2041, global_values.trace_length)), 2048))). + let pow3339 = pow32 + * pow3338; // pow(trace_generator, (safe_div((safe_mult(65313, global_values.trace_length)), 65536))). + let pow3340 = pow32 + * pow3339; // pow(trace_generator, (safe_div((safe_mult(32657, global_values.trace_length)), 32768))). + let pow3341 = pow32 + * pow3340; // pow(trace_generator, (safe_div((safe_mult(65315, global_values.trace_length)), 65536))). + let pow3342 = pow32 + * pow3341; // pow(trace_generator, (safe_div((safe_mult(16329, global_values.trace_length)), 16384))). + let pow3343 = pow32 + * pow3342; // pow(trace_generator, (safe_div((safe_mult(65317, global_values.trace_length)), 65536))). + let pow3344 = pow32 + * pow3343; // pow(trace_generator, (safe_div((safe_mult(32659, global_values.trace_length)), 32768))). + let pow3345 = pow32 + * pow3344; // pow(trace_generator, (safe_div((safe_mult(65319, global_values.trace_length)), 65536))). + let pow3346 = pow32 + * pow3345; // pow(trace_generator, (safe_div((safe_mult(8165, global_values.trace_length)), 8192))). + let pow3347 = pow32 + * pow3346; // pow(trace_generator, (safe_div((safe_mult(65321, global_values.trace_length)), 65536))). + let pow3348 = pow32 + * pow3347; // pow(trace_generator, (safe_div((safe_mult(32661, global_values.trace_length)), 32768))). + let pow3349 = pow32 + * pow3348; // pow(trace_generator, (safe_div((safe_mult(65323, global_values.trace_length)), 65536))). + let pow3350 = pow32 + * pow3349; // pow(trace_generator, (safe_div((safe_mult(16331, global_values.trace_length)), 16384))). + let pow3351 = pow32 + * pow3350; // pow(trace_generator, (safe_div((safe_mult(65325, global_values.trace_length)), 65536))). + let pow3352 = pow32 + * pow3351; // pow(trace_generator, (safe_div((safe_mult(32663, global_values.trace_length)), 32768))). + let pow3353 = pow32 + * pow3352; // pow(trace_generator, (safe_div((safe_mult(65327, global_values.trace_length)), 65536))). + let pow3354 = pow32 + * pow3353; // pow(trace_generator, (safe_div((safe_mult(4083, global_values.trace_length)), 4096))). + let pow3355 = pow32 + * pow3354; // pow(trace_generator, (safe_div((safe_mult(65329, global_values.trace_length)), 65536))). + let pow3356 = pow32 + * pow3355; // pow(trace_generator, (safe_div((safe_mult(32665, global_values.trace_length)), 32768))). + let pow3357 = pow32 + * pow3356; // pow(trace_generator, (safe_div((safe_mult(65331, global_values.trace_length)), 65536))). + let pow3358 = pow32 + * pow3357; // pow(trace_generator, (safe_div((safe_mult(16333, global_values.trace_length)), 16384))). + let pow3359 = pow32 + * pow3358; // pow(trace_generator, (safe_div((safe_mult(65333, global_values.trace_length)), 65536))). + let pow3360 = pow32 + * pow3359; // pow(trace_generator, (safe_div((safe_mult(32667, global_values.trace_length)), 32768))). + let pow3361 = pow32 + * pow3360; // pow(trace_generator, (safe_div((safe_mult(65335, global_values.trace_length)), 65536))). + let pow3362 = pow32 + * pow3361; // pow(trace_generator, (safe_div((safe_mult(8167, global_values.trace_length)), 8192))). + let pow3363 = pow32 + * pow3362; // pow(trace_generator, (safe_div((safe_mult(65337, global_values.trace_length)), 65536))). + let pow3364 = pow32 + * pow3363; // pow(trace_generator, (safe_div((safe_mult(32669, global_values.trace_length)), 32768))). + let pow3365 = pow32 + * pow3364; // pow(trace_generator, (safe_div((safe_mult(65339, global_values.trace_length)), 65536))). + let pow3366 = pow32 + * pow3365; // pow(trace_generator, (safe_div((safe_mult(16335, global_values.trace_length)), 16384))). + let pow3367 = pow32 + * pow3366; // pow(trace_generator, (safe_div((safe_mult(65341, global_values.trace_length)), 65536))). + let pow3368 = pow41 + * pow3367; // pow(trace_generator, (safe_div((safe_mult(1021, global_values.trace_length)), 1024))). + + // Compute domains. + let domain0 = pow14 - 1; + let domain1 = pow13 - 1; + let domain2 = pow12 - 1; + let domain3 = pow11 - 1; + let domain4 = pow10 - pow2473; + let domain5 = pow10 - 1; + let domain6 = pow9 - 1; + let domain7 = pow8 - 1; + let domain8 = pow7 - 1; + let domain9 = pow7 - pow3308; + let domain10 = pow7 - pow2588; + let temp = pow7 - pow824; + let domain11 = temp * (domain8); + let domain12 = pow7 - pow2073; + let domain13 = pow6 - pow1671; + let domain14 = pow6 - 1; + let domain15 = pow6 - pow2549; + let temp = pow6 - pow1955; + let temp = temp * (pow6 - pow2025); + let temp = temp * (pow6 - pow2073); + let temp = temp * (pow6 - pow2121); + let temp = temp * (pow6 - pow2169); + let temp = temp * (pow6 - pow2245); + let temp = temp * (pow6 - pow2321); + let temp = temp * (pow6 - pow2397); + let temp = temp * (pow6 - pow2473); + let domain16 = temp * (domain15); + let temp = pow6 - pow2512; + let temp = temp * (pow6 - pow2588); + let domain17 = temp * (domain15); + let temp = pow6 - pow1767; + let temp = temp * (pow6 - pow1815); + let temp = temp * (pow6 - pow1885); + let domain18 = temp * (domain16); + let domain19 = pow5 - pow2073; + let domain20 = pow5 - 1; + let temp = pow5 - pow793; + let temp = temp * (pow5 - pow824); + let temp = temp * (pow5 - pow863); + let temp = temp * (pow5 - pow894); + let temp = temp * (pow5 - pow933); + let temp = temp * (pow5 - pow964); + let temp = temp * (pow5 - pow988); + let temp = temp * (pow5 - pow1012); + let temp = temp * (pow5 - pow1036); + let temp = temp * (pow5 - pow1060); + let temp = temp * (pow5 - pow1099); + let temp = temp * (pow5 - pow1130); + let temp = temp * (pow5 - pow1169); + let temp = temp * (pow5 - pow1200); + let temp = temp * (pow5 - pow1239); + let domain21 = temp * (domain20); + let domain22 = pow4 - 1; + let temp = pow3 - 1; + let temp = temp * (pow3 - pow100); + let temp = temp * (pow3 - pow160); + let temp = temp * (pow3 - pow220); + let temp = temp * (pow3 - pow280); + let temp = temp * (pow3 - pow340); + let temp = temp * (pow3 - pow400); + let domain23 = temp * (pow3 - pow460); + let temp = pow3 - pow520; + let temp = temp * (pow3 - pow580); + let temp = temp * (pow3 - pow640); + let temp = temp * (pow3 - pow700); + let temp = temp * (pow3 - pow760); + let temp = temp * (pow3 - pow790); + let temp = temp * (pow3 - pow791); + let temp = temp * (pow3 - pow792); + let temp = temp * (pow3 - pow793); + let temp = temp * (pow3 - pow817); + let temp = temp * (pow3 - pow818); + let temp = temp * (pow3 - pow819); + let temp = temp * (pow3 - pow820); + let temp = temp * (pow3 - pow821); + let temp = temp * (pow3 - pow822); + let temp = temp * (pow3 - pow823); + let domain24 = temp * (domain23); + let temp = pow3 - pow1060; + let temp = temp * (pow3 - pow1084); + let temp = temp * (pow3 - pow1085); + let temp = temp * (pow3 - pow1086); + let temp = temp * (pow3 - pow1087); + let temp = temp * (pow3 - pow1088); + let temp = temp * (pow3 - pow1089); + let temp = temp * (pow3 - pow1090); + let temp = temp * (pow3 - pow1091); + let temp = temp * (pow3 - pow1092); + let temp = temp * (pow3 - pow1093); + let temp = temp * (pow3 - pow1094); + let temp = temp * (pow3 - pow1095); + let temp = temp * (pow3 - pow1096); + let temp = temp * (pow3 - pow1097); + let temp = temp * (pow3 - pow1098); + let temp = temp * (pow3 - pow1099); + let temp = temp * (pow3 - pow1123); + let temp = temp * (pow3 - pow1124); + let temp = temp * (pow3 - pow1125); + let temp = temp * (pow3 - pow1126); + let temp = temp * (pow3 - pow1127); + let temp = temp * (pow3 - pow1128); + let temp = temp * (pow3 - pow1129); + let temp = temp * (pow3 - pow1366); + let temp = temp * (pow3 - pow1390); + let temp = temp * (pow3 - pow1391); + let temp = temp * (pow3 - pow1392); + let temp = temp * (pow3 - pow1393); + let temp = temp * (pow3 - pow1394); + let temp = temp * (pow3 - pow1395); + let temp = temp * (pow3 - pow1396); + let temp = temp * (pow3 - pow1397); + let temp = temp * (pow3 - pow1398); + let temp = temp * (pow3 - pow1399); + let temp = temp * (pow3 - pow1400); + let temp = temp * (pow3 - pow1401); + let temp = temp * (pow3 - pow1402); + let temp = temp * (pow3 - pow1403); + let temp = temp * (pow3 - pow1404); + let temp = temp * (pow3 - pow1405); + let temp = temp * (pow3 - pow1429); + let temp = temp * (pow3 - pow1430); + let temp = temp * (pow3 - pow1431); + let temp = temp * (pow3 - pow1432); + let temp = temp * (pow3 - pow1433); + let temp = temp * (pow3 - pow1434); + let temp = temp * (pow3 - pow1435); + let temp = temp * (pow3 - pow1624); + let temp = temp * (pow3 - pow1625); + let temp = temp * (pow3 - pow1626); + let temp = temp * (pow3 - pow1627); + let temp = temp * (pow3 - pow1628); + let temp = temp * (pow3 - pow1629); + let temp = temp * (pow3 - pow1630); + let temp = temp * (pow3 - pow1631); + let temp = temp * (pow3 - pow1632); + let temp = temp * (pow3 - pow1633); + let temp = temp * (pow3 - pow1634); + let temp = temp * (pow3 - pow1635); + let temp = temp * (pow3 - pow1636); + let temp = temp * (pow3 - pow1637); + let temp = temp * (pow3 - pow1638); + let temp = temp * (pow3 - pow1639); + let temp = temp * (pow3 - pow1640); + let temp = temp * (pow3 - pow1664); + let temp = temp * (pow3 - pow1665); + let temp = temp * (pow3 - pow1666); + let temp = temp * (pow3 - pow1667); + let temp = temp * (pow3 - pow1668); + let temp = temp * (pow3 - pow1669); + let temp = temp * (pow3 - pow1670); + let temp = temp * (pow3 - pow1815); + let temp = temp * (pow3 - pow1839); + let temp = temp * (pow3 - pow1840); + let temp = temp * (pow3 - pow1841); + let temp = temp * (pow3 - pow1842); + let temp = temp * (pow3 - pow1843); + let temp = temp * (pow3 - pow1844); + let temp = temp * (pow3 - pow1845); + let temp = temp * (pow3 - pow1846); + let temp = temp * (pow3 - pow1847); + let temp = temp * (pow3 - pow1848); + let temp = temp * (pow3 - pow1849); + let temp = temp * (pow3 - pow1850); + let temp = temp * (pow3 - pow1851); + let temp = temp * (pow3 - pow1852); + let temp = temp * (pow3 - pow1853); + let temp = temp * (pow3 - pow1854); + let temp = temp * (pow3 - pow1878); + let temp = temp * (pow3 - pow1879); + let temp = temp * (pow3 - pow1880); + let temp = temp * (pow3 - pow1881); + let temp = temp * (pow3 - pow1882); + let temp = temp * (pow3 - pow1883); + let temp = temp * (pow3 - pow1884); + let domain25 = temp * (domain24); + let temp = pow3 - pow824; + let temp = temp * (pow3 - pow848); + let temp = temp * (pow3 - pow849); + let temp = temp * (pow3 - pow850); + let temp = temp * (pow3 - pow851); + let temp = temp * (pow3 - pow852); + let temp = temp * (pow3 - pow853); + let temp = temp * (pow3 - pow854); + let temp = temp * (pow3 - pow855); + let temp = temp * (pow3 - pow856); + let temp = temp * (pow3 - pow857); + let temp = temp * (pow3 - pow858); + let temp = temp * (pow3 - pow859); + let temp = temp * (pow3 - pow860); + let temp = temp * (pow3 - pow861); + let temp = temp * (pow3 - pow862); + let temp = temp * (pow3 - pow863); + let temp = temp * (pow3 - pow887); + let temp = temp * (pow3 - pow888); + let temp = temp * (pow3 - pow889); + let temp = temp * (pow3 - pow890); + let temp = temp * (pow3 - pow891); + let temp = temp * (pow3 - pow892); + let temp = temp * (pow3 - pow893); + let temp = temp * (pow3 - pow894); + let temp = temp * (pow3 - pow918); + let temp = temp * (pow3 - pow919); + let temp = temp * (pow3 - pow920); + let temp = temp * (pow3 - pow921); + let temp = temp * (pow3 - pow922); + let temp = temp * (pow3 - pow923); + let temp = temp * (pow3 - pow924); + let temp = temp * (pow3 - pow925); + let temp = temp * (pow3 - pow926); + let temp = temp * (pow3 - pow927); + let temp = temp * (pow3 - pow928); + let temp = temp * (pow3 - pow929); + let temp = temp * (pow3 - pow930); + let temp = temp * (pow3 - pow931); + let temp = temp * (pow3 - pow932); + let temp = temp * (pow3 - pow933); + let temp = temp * (pow3 - pow957); + let temp = temp * (pow3 - pow958); + let temp = temp * (pow3 - pow959); + let temp = temp * (pow3 - pow960); + let temp = temp * (pow3 - pow961); + let temp = temp * (pow3 - pow962); + let temp = temp * (pow3 - pow963); + let temp = temp * (pow3 - pow1130); + let temp = temp * (pow3 - pow1154); + let temp = temp * (pow3 - pow1155); + let temp = temp * (pow3 - pow1156); + let temp = temp * (pow3 - pow1157); + let temp = temp * (pow3 - pow1158); + let temp = temp * (pow3 - pow1159); + let temp = temp * (pow3 - pow1160); + let temp = temp * (pow3 - pow1161); + let temp = temp * (pow3 - pow1162); + let temp = temp * (pow3 - pow1163); + let temp = temp * (pow3 - pow1164); + let temp = temp * (pow3 - pow1165); + let temp = temp * (pow3 - pow1166); + let temp = temp * (pow3 - pow1167); + let temp = temp * (pow3 - pow1168); + let temp = temp * (pow3 - pow1169); + let temp = temp * (pow3 - pow1193); + let temp = temp * (pow3 - pow1194); + let temp = temp * (pow3 - pow1195); + let temp = temp * (pow3 - pow1196); + let temp = temp * (pow3 - pow1197); + let temp = temp * (pow3 - pow1198); + let temp = temp * (pow3 - pow1199); + let temp = temp * (pow3 - pow1200); + let temp = temp * (pow3 - pow1224); + let temp = temp * (pow3 - pow1225); + let temp = temp * (pow3 - pow1226); + let temp = temp * (pow3 - pow1227); + let temp = temp * (pow3 - pow1228); + let temp = temp * (pow3 - pow1229); + let temp = temp * (pow3 - pow1230); + let temp = temp * (pow3 - pow1231); + let temp = temp * (pow3 - pow1232); + let temp = temp * (pow3 - pow1233); + let temp = temp * (pow3 - pow1234); + let temp = temp * (pow3 - pow1235); + let temp = temp * (pow3 - pow1236); + let temp = temp * (pow3 - pow1237); + let temp = temp * (pow3 - pow1238); + let temp = temp * (pow3 - pow1239); + let temp = temp * (pow3 - pow1263); + let temp = temp * (pow3 - pow1264); + let temp = temp * (pow3 - pow1265); + let temp = temp * (pow3 - pow1266); + let temp = temp * (pow3 - pow1267); + let temp = temp * (pow3 - pow1268); + let temp = temp * (pow3 - pow1269); + let temp = temp * (pow3 - pow1436); + let temp = temp * (pow3 - pow1460); + let temp = temp * (pow3 - pow1461); + let temp = temp * (pow3 - pow1462); + let temp = temp * (pow3 - pow1463); + let temp = temp * (pow3 - pow1464); + let temp = temp * (pow3 - pow1465); + let temp = temp * (pow3 - pow1466); + let temp = temp * (pow3 - pow1467); + let temp = temp * (pow3 - pow1468); + let temp = temp * (pow3 - pow1469); + let temp = temp * (pow3 - pow1470); + let temp = temp * (pow3 - pow1471); + let temp = temp * (pow3 - pow1472); + let temp = temp * (pow3 - pow1473); + let temp = temp * (pow3 - pow1474); + let temp = temp * (pow3 - pow1475); + let temp = temp * (pow3 - pow1499); + let temp = temp * (pow3 - pow1500); + let temp = temp * (pow3 - pow1501); + let temp = temp * (pow3 - pow1502); + let temp = temp * (pow3 - pow1503); + let temp = temp * (pow3 - pow1504); + let temp = temp * (pow3 - pow1505); + let temp = temp * (pow3 - pow1506); + let temp = temp * (pow3 - pow1530); + let temp = temp * (pow3 - pow1531); + let temp = temp * (pow3 - pow1532); + let temp = temp * (pow3 - pow1533); + let temp = temp * (pow3 - pow1534); + let temp = temp * (pow3 - pow1535); + let temp = temp * (pow3 - pow1536); + let temp = temp * (pow3 - pow1537); + let temp = temp * (pow3 - pow1538); + let temp = temp * (pow3 - pow1539); + let temp = temp * (pow3 - pow1540); + let temp = temp * (pow3 - pow1541); + let temp = temp * (pow3 - pow1542); + let temp = temp * (pow3 - pow1543); + let temp = temp * (pow3 - pow1544); + let temp = temp * (pow3 - pow1545); + let temp = temp * (pow3 - pow1569); + let temp = temp * (pow3 - pow1570); + let temp = temp * (pow3 - pow1571); + let temp = temp * (pow3 - pow1572); + let temp = temp * (pow3 - pow1573); + let temp = temp * (pow3 - pow1574); + let temp = temp * (pow3 - pow1575); + let temp = temp * (pow3 - pow1671); + let temp = temp * (pow3 - pow1672); + let temp = temp * (pow3 - pow1673); + let temp = temp * (pow3 - pow1674); + let temp = temp * (pow3 - pow1675); + let temp = temp * (pow3 - pow1676); + let temp = temp * (pow3 - pow1677); + let temp = temp * (pow3 - pow1678); + let temp = temp * (pow3 - pow1679); + let temp = temp * (pow3 - pow1680); + let temp = temp * (pow3 - pow1681); + let temp = temp * (pow3 - pow1682); + let temp = temp * (pow3 - pow1683); + let temp = temp * (pow3 - pow1684); + let temp = temp * (pow3 - pow1685); + let temp = temp * (pow3 - pow1686); + let temp = temp * (pow3 - pow1687); + let temp = temp * (pow3 - pow1688); + let temp = temp * (pow3 - pow1689); + let temp = temp * (pow3 - pow1690); + let temp = temp * (pow3 - pow1691); + let temp = temp * (pow3 - pow1692); + let temp = temp * (pow3 - pow1693); + let temp = temp * (pow3 - pow1694); + let temp = temp * (pow3 - pow1695); + let temp = temp * (pow3 - pow1696); + let temp = temp * (pow3 - pow1697); + let temp = temp * (pow3 - pow1698); + let temp = temp * (pow3 - pow1699); + let temp = temp * (pow3 - pow1700); + let temp = temp * (pow3 - pow1701); + let temp = temp * (pow3 - pow1702); + let temp = temp * (pow3 - pow1703); + let temp = temp * (pow3 - pow1704); + let temp = temp * (pow3 - pow1705); + let temp = temp * (pow3 - pow1706); + let temp = temp * (pow3 - pow1707); + let temp = temp * (pow3 - pow1708); + let temp = temp * (pow3 - pow1709); + let temp = temp * (pow3 - pow1710); + let temp = temp * (pow3 - pow1711); + let temp = temp * (pow3 - pow1712); + let temp = temp * (pow3 - pow1713); + let temp = temp * (pow3 - pow1714); + let temp = temp * (pow3 - pow1715); + let temp = temp * (pow3 - pow1716); + let temp = temp * (pow3 - pow1717); + let temp = temp * (pow3 - pow1718); + let temp = temp * (pow3 - pow1885); + let temp = temp * (pow3 - pow1909); + let temp = temp * (pow3 - pow1910); + let temp = temp * (pow3 - pow1911); + let temp = temp * (pow3 - pow1912); + let temp = temp * (pow3 - pow1913); + let temp = temp * (pow3 - pow1914); + let temp = temp * (pow3 - pow1915); + let temp = temp * (pow3 - pow1916); + let temp = temp * (pow3 - pow1917); + let temp = temp * (pow3 - pow1918); + let temp = temp * (pow3 - pow1919); + let temp = temp * (pow3 - pow1920); + let temp = temp * (pow3 - pow1921); + let temp = temp * (pow3 - pow1922); + let temp = temp * (pow3 - pow1923); + let temp = temp * (pow3 - pow1924); + let temp = temp * (pow3 - pow1948); + let temp = temp * (pow3 - pow1949); + let temp = temp * (pow3 - pow1950); + let temp = temp * (pow3 - pow1951); + let temp = temp * (pow3 - pow1952); + let temp = temp * (pow3 - pow1953); + let temp = temp * (pow3 - pow1954); + let temp = temp * (pow3 - pow1955); + let temp = temp * (pow3 - pow1979); + let temp = temp * (pow3 - pow1980); + let temp = temp * (pow3 - pow1981); + let temp = temp * (pow3 - pow1982); + let temp = temp * (pow3 - pow1983); + let temp = temp * (pow3 - pow1984); + let temp = temp * (pow3 - pow1985); + let temp = temp * (pow3 - pow1986); + let temp = temp * (pow3 - pow1987); + let temp = temp * (pow3 - pow1988); + let temp = temp * (pow3 - pow1989); + let temp = temp * (pow3 - pow1990); + let temp = temp * (pow3 - pow1991); + let temp = temp * (pow3 - pow1992); + let temp = temp * (pow3 - pow1993); + let temp = temp * (pow3 - pow1994); + let temp = temp * (pow3 - pow2018); + let temp = temp * (pow3 - pow2019); + let temp = temp * (pow3 - pow2020); + let temp = temp * (pow3 - pow2021); + let temp = temp * (pow3 - pow2022); + let temp = temp * (pow3 - pow2023); + let temp = temp * (pow3 - pow2024); + let domain26 = temp * (domain25); + let domain27 = pow2 - pow3308; + let domain28 = pow2 - pow2584; + let domain29 = pow2 - 1; + let domain30 = pow2 - pow2588; + let domain31 = pow1 - pow3308; + let domain32 = pow1 - pow2584; + let domain33 = pow1 - 1; + let domain34 = pow0 - 1; + let temp = pow0 - pow32; + let domain35 = temp * (domain34); + let temp = pow0 - pow25; + let temp = temp * (pow0 - pow26); + let temp = temp * (pow0 - pow27); + let temp = temp * (pow0 - pow28); + let temp = temp * (pow0 - pow29); + let temp = temp * (pow0 - pow30); + let temp = temp * (pow0 - pow31); + let temp = temp * (pow0 - pow33); + let temp = temp * (pow0 - pow34); + let temp = temp * (pow0 - pow35); + let temp = temp * (pow0 - pow36); + let temp = temp * (pow0 - pow37); + let temp = temp * (pow0 - pow38); + let temp = temp * (pow0 - pow39); + let domain36 = temp * (domain35); + let temp = pow0 - pow40; + let temp = temp * (pow0 - pow41); + let temp = temp * (pow0 - pow42); + let temp = temp * (pow0 - pow43); + let temp = temp * (pow0 - pow44); + let temp = temp * (pow0 - pow45); + let domain37 = temp * (domain35); + let temp = pow0 - pow46; + let temp = temp * (pow0 - pow47); + let temp = temp * (pow0 - pow48); + let temp = temp * (pow0 - pow49); + let temp = temp * (pow0 - pow50); + let temp = temp * (pow0 - pow51); + let temp = temp * (pow0 - pow52); + let temp = temp * (pow0 - pow53); + let temp = temp * (pow0 - pow54); + let temp = temp * (pow0 - pow55); + let temp = temp * (pow0 - pow56); + let temp = temp * (pow0 - pow57); + let temp = temp * (pow0 - pow58); + let temp = temp * (pow0 - pow59); + let temp = temp * (pow0 - pow60); + let temp = temp * (pow0 - pow61); + let domain38 = temp * (domain37); + let temp = pow0 - pow62; + let temp = temp * (pow0 - pow63); + let temp = temp * (pow0 - pow64); + let temp = temp * (pow0 - pow65); + let temp = temp * (pow0 - pow66); + let temp = temp * (pow0 - pow67); + let domain39 = temp * (domain38); + let temp = pow0 - pow68; + let temp = temp * (pow0 - pow69); + let domain40 = temp * (domain39); + let temp = pow0 - pow70; + let temp = temp * (pow0 - pow100); + let temp = temp * (pow0 - pow130); + let temp = temp * (pow0 - pow160); + let temp = temp * (pow0 - pow190); + let temp = temp * (pow0 - pow220); + let temp = temp * (pow0 - pow250); + let temp = temp * (pow0 - pow280); + let temp = temp * (pow0 - pow310); + let temp = temp * (pow0 - pow340); + let temp = temp * (pow0 - pow370); + let temp = temp * (pow0 - pow400); + let temp = temp * (pow0 - pow430); + let temp = temp * (pow0 - pow460); + let temp = temp * (pow0 - pow490); + let temp = temp * (pow0 - pow520); + let temp = temp * (pow0 - pow550); + let temp = temp * (pow0 - pow580); + let temp = temp * (pow0 - pow610); + let temp = temp * (pow0 - pow640); + let temp = temp * (pow0 - pow670); + let temp = temp * (pow0 - pow700); + let temp = temp * (pow0 - pow730); + let domain41 = temp * (pow0 - pow760); + let temp = pow0 - pow71; + let temp = temp * (pow0 - pow101); + let temp = temp * (pow0 - pow131); + let temp = temp * (pow0 - pow161); + let temp = temp * (pow0 - pow191); + let temp = temp * (pow0 - pow221); + let temp = temp * (pow0 - pow251); + let temp = temp * (pow0 - pow281); + let temp = temp * (pow0 - pow311); + let temp = temp * (pow0 - pow341); + let temp = temp * (pow0 - pow371); + let temp = temp * (pow0 - pow401); + let temp = temp * (pow0 - pow431); + let temp = temp * (pow0 - pow461); + let temp = temp * (pow0 - pow491); + let temp = temp * (pow0 - pow521); + let temp = temp * (pow0 - pow551); + let temp = temp * (pow0 - pow581); + let temp = temp * (pow0 - pow611); + let temp = temp * (pow0 - pow641); + let temp = temp * (pow0 - pow671); + let temp = temp * (pow0 - pow701); + let temp = temp * (pow0 - pow731); + let temp = temp * (pow0 - pow761); + let domain42 = temp * (domain41); + let temp = domain35; + let domain43 = temp * (domain42); + let temp = pow0 - pow72; + let temp = temp * (pow0 - pow73); + let temp = temp * (pow0 - pow74); + let temp = temp * (pow0 - pow75); + let temp = temp * (pow0 - pow76); + let temp = temp * (pow0 - pow77); + let temp = temp * (pow0 - pow78); + let temp = temp * (pow0 - pow79); + let temp = temp * (pow0 - pow80); + let temp = temp * (pow0 - pow81); + let temp = temp * (pow0 - pow82); + let temp = temp * (pow0 - pow83); + let temp = temp * (pow0 - pow84); + let temp = temp * (pow0 - pow85); + let temp = temp * (pow0 - pow86); + let temp = temp * (pow0 - pow87); + let temp = temp * (pow0 - pow88); + let temp = temp * (pow0 - pow89); + let temp = temp * (pow0 - pow90); + let temp = temp * (pow0 - pow91); + let temp = temp * (pow0 - pow92); + let temp = temp * (pow0 - pow93); + let temp = temp * (pow0 - pow94); + let temp = temp * (pow0 - pow95); + let temp = temp * (pow0 - pow96); + let temp = temp * (pow0 - pow97); + let temp = temp * (pow0 - pow98); + let temp = temp * (pow0 - pow99); + let temp = temp * (pow0 - pow102); + let temp = temp * (pow0 - pow103); + let temp = temp * (pow0 - pow104); + let temp = temp * (pow0 - pow105); + let temp = temp * (pow0 - pow106); + let temp = temp * (pow0 - pow107); + let temp = temp * (pow0 - pow108); + let temp = temp * (pow0 - pow109); + let temp = temp * (pow0 - pow110); + let temp = temp * (pow0 - pow111); + let temp = temp * (pow0 - pow112); + let temp = temp * (pow0 - pow113); + let temp = temp * (pow0 - pow114); + let temp = temp * (pow0 - pow115); + let temp = temp * (pow0 - pow116); + let temp = temp * (pow0 - pow117); + let temp = temp * (pow0 - pow118); + let temp = temp * (pow0 - pow119); + let temp = temp * (pow0 - pow120); + let temp = temp * (pow0 - pow121); + let temp = temp * (pow0 - pow122); + let temp = temp * (pow0 - pow123); + let temp = temp * (pow0 - pow124); + let temp = temp * (pow0 - pow125); + let temp = temp * (pow0 - pow126); + let temp = temp * (pow0 - pow127); + let temp = temp * (pow0 - pow128); + let temp = temp * (pow0 - pow129); + let temp = temp * (pow0 - pow132); + let temp = temp * (pow0 - pow133); + let temp = temp * (pow0 - pow134); + let temp = temp * (pow0 - pow135); + let temp = temp * (pow0 - pow136); + let temp = temp * (pow0 - pow137); + let temp = temp * (pow0 - pow138); + let temp = temp * (pow0 - pow139); + let temp = temp * (pow0 - pow140); + let temp = temp * (pow0 - pow141); + let temp = temp * (pow0 - pow142); + let temp = temp * (pow0 - pow143); + let temp = temp * (pow0 - pow144); + let temp = temp * (pow0 - pow145); + let temp = temp * (pow0 - pow146); + let temp = temp * (pow0 - pow147); + let temp = temp * (pow0 - pow148); + let temp = temp * (pow0 - pow149); + let temp = temp * (pow0 - pow150); + let temp = temp * (pow0 - pow151); + let temp = temp * (pow0 - pow152); + let temp = temp * (pow0 - pow153); + let temp = temp * (pow0 - pow154); + let temp = temp * (pow0 - pow155); + let temp = temp * (pow0 - pow156); + let temp = temp * (pow0 - pow157); + let temp = temp * (pow0 - pow158); + let temp = temp * (pow0 - pow159); + let temp = temp * (pow0 - pow162); + let temp = temp * (pow0 - pow163); + let temp = temp * (pow0 - pow164); + let temp = temp * (pow0 - pow165); + let temp = temp * (pow0 - pow166); + let temp = temp * (pow0 - pow167); + let temp = temp * (pow0 - pow168); + let temp = temp * (pow0 - pow169); + let temp = temp * (pow0 - pow170); + let temp = temp * (pow0 - pow171); + let temp = temp * (pow0 - pow172); + let temp = temp * (pow0 - pow173); + let temp = temp * (pow0 - pow174); + let temp = temp * (pow0 - pow175); + let temp = temp * (pow0 - pow176); + let temp = temp * (pow0 - pow177); + let temp = temp * (pow0 - pow178); + let temp = temp * (pow0 - pow179); + let temp = temp * (pow0 - pow180); + let temp = temp * (pow0 - pow181); + let temp = temp * (pow0 - pow182); + let temp = temp * (pow0 - pow183); + let temp = temp * (pow0 - pow184); + let temp = temp * (pow0 - pow185); + let temp = temp * (pow0 - pow186); + let temp = temp * (pow0 - pow187); + let temp = temp * (pow0 - pow188); + let temp = temp * (pow0 - pow189); + let temp = temp * (pow0 - pow192); + let temp = temp * (pow0 - pow193); + let temp = temp * (pow0 - pow194); + let temp = temp * (pow0 - pow195); + let temp = temp * (pow0 - pow196); + let temp = temp * (pow0 - pow197); + let temp = temp * (pow0 - pow198); + let temp = temp * (pow0 - pow199); + let temp = temp * (pow0 - pow200); + let temp = temp * (pow0 - pow201); + let temp = temp * (pow0 - pow202); + let temp = temp * (pow0 - pow203); + let temp = temp * (pow0 - pow204); + let temp = temp * (pow0 - pow205); + let temp = temp * (pow0 - pow206); + let temp = temp * (pow0 - pow207); + let temp = temp * (pow0 - pow208); + let temp = temp * (pow0 - pow209); + let temp = temp * (pow0 - pow210); + let temp = temp * (pow0 - pow211); + let temp = temp * (pow0 - pow212); + let temp = temp * (pow0 - pow213); + let temp = temp * (pow0 - pow214); + let temp = temp * (pow0 - pow215); + let temp = temp * (pow0 - pow216); + let temp = temp * (pow0 - pow217); + let temp = temp * (pow0 - pow218); + let temp = temp * (pow0 - pow219); + let temp = temp * (pow0 - pow222); + let temp = temp * (pow0 - pow223); + let temp = temp * (pow0 - pow224); + let temp = temp * (pow0 - pow225); + let temp = temp * (pow0 - pow226); + let temp = temp * (pow0 - pow227); + let temp = temp * (pow0 - pow228); + let temp = temp * (pow0 - pow229); + let temp = temp * (pow0 - pow230); + let temp = temp * (pow0 - pow231); + let temp = temp * (pow0 - pow232); + let temp = temp * (pow0 - pow233); + let temp = temp * (pow0 - pow234); + let temp = temp * (pow0 - pow235); + let temp = temp * (pow0 - pow236); + let temp = temp * (pow0 - pow237); + let temp = temp * (pow0 - pow238); + let temp = temp * (pow0 - pow239); + let temp = temp * (pow0 - pow240); + let temp = temp * (pow0 - pow241); + let temp = temp * (pow0 - pow242); + let temp = temp * (pow0 - pow243); + let temp = temp * (pow0 - pow244); + let temp = temp * (pow0 - pow245); + let temp = temp * (pow0 - pow246); + let temp = temp * (pow0 - pow247); + let temp = temp * (pow0 - pow248); + let temp = temp * (pow0 - pow249); + let temp = temp * (pow0 - pow252); + let temp = temp * (pow0 - pow253); + let temp = temp * (pow0 - pow254); + let temp = temp * (pow0 - pow255); + let temp = temp * (pow0 - pow256); + let temp = temp * (pow0 - pow257); + let temp = temp * (pow0 - pow258); + let temp = temp * (pow0 - pow259); + let temp = temp * (pow0 - pow260); + let temp = temp * (pow0 - pow261); + let temp = temp * (pow0 - pow262); + let temp = temp * (pow0 - pow263); + let temp = temp * (pow0 - pow264); + let temp = temp * (pow0 - pow265); + let temp = temp * (pow0 - pow266); + let temp = temp * (pow0 - pow267); + let temp = temp * (pow0 - pow268); + let temp = temp * (pow0 - pow269); + let temp = temp * (pow0 - pow270); + let temp = temp * (pow0 - pow271); + let temp = temp * (pow0 - pow272); + let temp = temp * (pow0 - pow273); + let temp = temp * (pow0 - pow274); + let temp = temp * (pow0 - pow275); + let temp = temp * (pow0 - pow276); + let temp = temp * (pow0 - pow277); + let temp = temp * (pow0 - pow278); + let temp = temp * (pow0 - pow279); + let temp = temp * (pow0 - pow282); + let temp = temp * (pow0 - pow283); + let temp = temp * (pow0 - pow284); + let temp = temp * (pow0 - pow285); + let temp = temp * (pow0 - pow286); + let temp = temp * (pow0 - pow287); + let temp = temp * (pow0 - pow288); + let temp = temp * (pow0 - pow289); + let temp = temp * (pow0 - pow290); + let temp = temp * (pow0 - pow291); + let temp = temp * (pow0 - pow292); + let temp = temp * (pow0 - pow293); + let temp = temp * (pow0 - pow294); + let temp = temp * (pow0 - pow295); + let temp = temp * (pow0 - pow296); + let temp = temp * (pow0 - pow297); + let temp = temp * (pow0 - pow298); + let temp = temp * (pow0 - pow299); + let temp = temp * (pow0 - pow300); + let temp = temp * (pow0 - pow301); + let temp = temp * (pow0 - pow302); + let temp = temp * (pow0 - pow303); + let temp = temp * (pow0 - pow304); + let temp = temp * (pow0 - pow305); + let temp = temp * (pow0 - pow306); + let temp = temp * (pow0 - pow307); + let temp = temp * (pow0 - pow308); + let temp = temp * (pow0 - pow309); + let temp = temp * (pow0 - pow312); + let temp = temp * (pow0 - pow313); + let temp = temp * (pow0 - pow314); + let temp = temp * (pow0 - pow315); + let temp = temp * (pow0 - pow316); + let temp = temp * (pow0 - pow317); + let temp = temp * (pow0 - pow318); + let temp = temp * (pow0 - pow319); + let temp = temp * (pow0 - pow320); + let temp = temp * (pow0 - pow321); + let temp = temp * (pow0 - pow322); + let temp = temp * (pow0 - pow323); + let temp = temp * (pow0 - pow324); + let temp = temp * (pow0 - pow325); + let temp = temp * (pow0 - pow326); + let temp = temp * (pow0 - pow327); + let temp = temp * (pow0 - pow328); + let temp = temp * (pow0 - pow329); + let temp = temp * (pow0 - pow330); + let temp = temp * (pow0 - pow331); + let temp = temp * (pow0 - pow332); + let temp = temp * (pow0 - pow333); + let temp = temp * (pow0 - pow334); + let temp = temp * (pow0 - pow335); + let temp = temp * (pow0 - pow336); + let temp = temp * (pow0 - pow337); + let temp = temp * (pow0 - pow338); + let temp = temp * (pow0 - pow339); + let temp = temp * (pow0 - pow342); + let temp = temp * (pow0 - pow343); + let temp = temp * (pow0 - pow344); + let temp = temp * (pow0 - pow345); + let temp = temp * (pow0 - pow346); + let temp = temp * (pow0 - pow347); + let temp = temp * (pow0 - pow348); + let temp = temp * (pow0 - pow349); + let temp = temp * (pow0 - pow350); + let temp = temp * (pow0 - pow351); + let temp = temp * (pow0 - pow352); + let temp = temp * (pow0 - pow353); + let temp = temp * (pow0 - pow354); + let temp = temp * (pow0 - pow355); + let temp = temp * (pow0 - pow356); + let temp = temp * (pow0 - pow357); + let temp = temp * (pow0 - pow358); + let temp = temp * (pow0 - pow359); + let temp = temp * (pow0 - pow360); + let temp = temp * (pow0 - pow361); + let temp = temp * (pow0 - pow362); + let temp = temp * (pow0 - pow363); + let temp = temp * (pow0 - pow364); + let temp = temp * (pow0 - pow365); + let temp = temp * (pow0 - pow366); + let temp = temp * (pow0 - pow367); + let temp = temp * (pow0 - pow368); + let temp = temp * (pow0 - pow369); + let temp = temp * (pow0 - pow372); + let temp = temp * (pow0 - pow373); + let temp = temp * (pow0 - pow374); + let temp = temp * (pow0 - pow375); + let temp = temp * (pow0 - pow376); + let temp = temp * (pow0 - pow377); + let temp = temp * (pow0 - pow378); + let temp = temp * (pow0 - pow379); + let temp = temp * (pow0 - pow380); + let temp = temp * (pow0 - pow381); + let temp = temp * (pow0 - pow382); + let temp = temp * (pow0 - pow383); + let temp = temp * (pow0 - pow384); + let temp = temp * (pow0 - pow385); + let temp = temp * (pow0 - pow386); + let temp = temp * (pow0 - pow387); + let temp = temp * (pow0 - pow388); + let temp = temp * (pow0 - pow389); + let temp = temp * (pow0 - pow390); + let temp = temp * (pow0 - pow391); + let temp = temp * (pow0 - pow392); + let temp = temp * (pow0 - pow393); + let temp = temp * (pow0 - pow394); + let temp = temp * (pow0 - pow395); + let temp = temp * (pow0 - pow396); + let temp = temp * (pow0 - pow397); + let temp = temp * (pow0 - pow398); + let temp = temp * (pow0 - pow399); + let temp = temp * (pow0 - pow402); + let temp = temp * (pow0 - pow403); + let temp = temp * (pow0 - pow404); + let temp = temp * (pow0 - pow405); + let temp = temp * (pow0 - pow406); + let temp = temp * (pow0 - pow407); + let temp = temp * (pow0 - pow408); + let temp = temp * (pow0 - pow409); + let temp = temp * (pow0 - pow410); + let temp = temp * (pow0 - pow411); + let temp = temp * (pow0 - pow412); + let temp = temp * (pow0 - pow413); + let temp = temp * (pow0 - pow414); + let temp = temp * (pow0 - pow415); + let temp = temp * (pow0 - pow416); + let temp = temp * (pow0 - pow417); + let temp = temp * (pow0 - pow418); + let temp = temp * (pow0 - pow419); + let temp = temp * (pow0 - pow420); + let temp = temp * (pow0 - pow421); + let temp = temp * (pow0 - pow422); + let temp = temp * (pow0 - pow423); + let temp = temp * (pow0 - pow424); + let temp = temp * (pow0 - pow425); + let temp = temp * (pow0 - pow426); + let temp = temp * (pow0 - pow427); + let temp = temp * (pow0 - pow428); + let temp = temp * (pow0 - pow429); + let temp = temp * (pow0 - pow432); + let temp = temp * (pow0 - pow433); + let temp = temp * (pow0 - pow434); + let temp = temp * (pow0 - pow435); + let temp = temp * (pow0 - pow436); + let temp = temp * (pow0 - pow437); + let temp = temp * (pow0 - pow438); + let temp = temp * (pow0 - pow439); + let temp = temp * (pow0 - pow440); + let temp = temp * (pow0 - pow441); + let temp = temp * (pow0 - pow442); + let temp = temp * (pow0 - pow443); + let temp = temp * (pow0 - pow444); + let temp = temp * (pow0 - pow445); + let temp = temp * (pow0 - pow446); + let temp = temp * (pow0 - pow447); + let temp = temp * (pow0 - pow448); + let temp = temp * (pow0 - pow449); + let temp = temp * (pow0 - pow450); + let temp = temp * (pow0 - pow451); + let temp = temp * (pow0 - pow452); + let temp = temp * (pow0 - pow453); + let temp = temp * (pow0 - pow454); + let temp = temp * (pow0 - pow455); + let temp = temp * (pow0 - pow456); + let temp = temp * (pow0 - pow457); + let temp = temp * (pow0 - pow458); + let temp = temp * (pow0 - pow459); + let temp = temp * (pow0 - pow462); + let temp = temp * (pow0 - pow463); + let temp = temp * (pow0 - pow464); + let temp = temp * (pow0 - pow465); + let temp = temp * (pow0 - pow466); + let temp = temp * (pow0 - pow467); + let temp = temp * (pow0 - pow468); + let temp = temp * (pow0 - pow469); + let temp = temp * (pow0 - pow470); + let temp = temp * (pow0 - pow471); + let temp = temp * (pow0 - pow472); + let temp = temp * (pow0 - pow473); + let temp = temp * (pow0 - pow474); + let temp = temp * (pow0 - pow475); + let temp = temp * (pow0 - pow476); + let temp = temp * (pow0 - pow477); + let temp = temp * (pow0 - pow478); + let temp = temp * (pow0 - pow479); + let temp = temp * (pow0 - pow480); + let temp = temp * (pow0 - pow481); + let temp = temp * (pow0 - pow482); + let temp = temp * (pow0 - pow483); + let temp = temp * (pow0 - pow484); + let temp = temp * (pow0 - pow485); + let temp = temp * (pow0 - pow486); + let temp = temp * (pow0 - pow487); + let temp = temp * (pow0 - pow488); + let temp = temp * (pow0 - pow489); + let temp = temp * (pow0 - pow492); + let temp = temp * (pow0 - pow493); + let temp = temp * (pow0 - pow494); + let temp = temp * (pow0 - pow495); + let temp = temp * (pow0 - pow496); + let temp = temp * (pow0 - pow497); + let temp = temp * (pow0 - pow498); + let temp = temp * (pow0 - pow499); + let temp = temp * (pow0 - pow500); + let temp = temp * (pow0 - pow501); + let temp = temp * (pow0 - pow502); + let temp = temp * (pow0 - pow503); + let temp = temp * (pow0 - pow504); + let temp = temp * (pow0 - pow505); + let temp = temp * (pow0 - pow506); + let temp = temp * (pow0 - pow507); + let temp = temp * (pow0 - pow508); + let temp = temp * (pow0 - pow509); + let temp = temp * (pow0 - pow510); + let temp = temp * (pow0 - pow511); + let temp = temp * (pow0 - pow512); + let temp = temp * (pow0 - pow513); + let temp = temp * (pow0 - pow514); + let temp = temp * (pow0 - pow515); + let temp = temp * (pow0 - pow516); + let temp = temp * (pow0 - pow517); + let temp = temp * (pow0 - pow518); + let temp = temp * (pow0 - pow519); + let temp = temp * (pow0 - pow522); + let temp = temp * (pow0 - pow523); + let temp = temp * (pow0 - pow524); + let temp = temp * (pow0 - pow525); + let temp = temp * (pow0 - pow526); + let temp = temp * (pow0 - pow527); + let temp = temp * (pow0 - pow528); + let temp = temp * (pow0 - pow529); + let temp = temp * (pow0 - pow530); + let temp = temp * (pow0 - pow531); + let temp = temp * (pow0 - pow532); + let temp = temp * (pow0 - pow533); + let temp = temp * (pow0 - pow534); + let temp = temp * (pow0 - pow535); + let temp = temp * (pow0 - pow536); + let temp = temp * (pow0 - pow537); + let temp = temp * (pow0 - pow538); + let temp = temp * (pow0 - pow539); + let temp = temp * (pow0 - pow540); + let temp = temp * (pow0 - pow541); + let temp = temp * (pow0 - pow542); + let temp = temp * (pow0 - pow543); + let temp = temp * (pow0 - pow544); + let temp = temp * (pow0 - pow545); + let temp = temp * (pow0 - pow546); + let temp = temp * (pow0 - pow547); + let temp = temp * (pow0 - pow548); + let temp = temp * (pow0 - pow549); + let temp = temp * (pow0 - pow552); + let temp = temp * (pow0 - pow553); + let temp = temp * (pow0 - pow554); + let temp = temp * (pow0 - pow555); + let temp = temp * (pow0 - pow556); + let temp = temp * (pow0 - pow557); + let temp = temp * (pow0 - pow558); + let temp = temp * (pow0 - pow559); + let temp = temp * (pow0 - pow560); + let temp = temp * (pow0 - pow561); + let temp = temp * (pow0 - pow562); + let temp = temp * (pow0 - pow563); + let temp = temp * (pow0 - pow564); + let temp = temp * (pow0 - pow565); + let temp = temp * (pow0 - pow566); + let temp = temp * (pow0 - pow567); + let temp = temp * (pow0 - pow568); + let temp = temp * (pow0 - pow569); + let temp = temp * (pow0 - pow570); + let temp = temp * (pow0 - pow571); + let temp = temp * (pow0 - pow572); + let temp = temp * (pow0 - pow573); + let temp = temp * (pow0 - pow574); + let temp = temp * (pow0 - pow575); + let temp = temp * (pow0 - pow576); + let temp = temp * (pow0 - pow577); + let temp = temp * (pow0 - pow578); + let temp = temp * (pow0 - pow579); + let temp = temp * (pow0 - pow582); + let temp = temp * (pow0 - pow583); + let temp = temp * (pow0 - pow584); + let temp = temp * (pow0 - pow585); + let temp = temp * (pow0 - pow586); + let temp = temp * (pow0 - pow587); + let temp = temp * (pow0 - pow588); + let temp = temp * (pow0 - pow589); + let temp = temp * (pow0 - pow590); + let temp = temp * (pow0 - pow591); + let temp = temp * (pow0 - pow592); + let temp = temp * (pow0 - pow593); + let temp = temp * (pow0 - pow594); + let temp = temp * (pow0 - pow595); + let temp = temp * (pow0 - pow596); + let temp = temp * (pow0 - pow597); + let temp = temp * (pow0 - pow598); + let temp = temp * (pow0 - pow599); + let temp = temp * (pow0 - pow600); + let temp = temp * (pow0 - pow601); + let temp = temp * (pow0 - pow602); + let temp = temp * (pow0 - pow603); + let temp = temp * (pow0 - pow604); + let temp = temp * (pow0 - pow605); + let temp = temp * (pow0 - pow606); + let temp = temp * (pow0 - pow607); + let temp = temp * (pow0 - pow608); + let temp = temp * (pow0 - pow609); + let temp = temp * (pow0 - pow612); + let temp = temp * (pow0 - pow613); + let temp = temp * (pow0 - pow614); + let temp = temp * (pow0 - pow615); + let temp = temp * (pow0 - pow616); + let temp = temp * (pow0 - pow617); + let temp = temp * (pow0 - pow618); + let temp = temp * (pow0 - pow619); + let temp = temp * (pow0 - pow620); + let temp = temp * (pow0 - pow621); + let temp = temp * (pow0 - pow622); + let temp = temp * (pow0 - pow623); + let temp = temp * (pow0 - pow624); + let temp = temp * (pow0 - pow625); + let temp = temp * (pow0 - pow626); + let temp = temp * (pow0 - pow627); + let temp = temp * (pow0 - pow628); + let temp = temp * (pow0 - pow629); + let temp = temp * (pow0 - pow630); + let temp = temp * (pow0 - pow631); + let temp = temp * (pow0 - pow632); + let temp = temp * (pow0 - pow633); + let temp = temp * (pow0 - pow634); + let temp = temp * (pow0 - pow635); + let temp = temp * (pow0 - pow636); + let temp = temp * (pow0 - pow637); + let temp = temp * (pow0 - pow638); + let temp = temp * (pow0 - pow639); + let temp = temp * (pow0 - pow642); + let temp = temp * (pow0 - pow643); + let temp = temp * (pow0 - pow644); + let temp = temp * (pow0 - pow645); + let temp = temp * (pow0 - pow646); + let temp = temp * (pow0 - pow647); + let temp = temp * (pow0 - pow648); + let temp = temp * (pow0 - pow649); + let temp = temp * (pow0 - pow650); + let temp = temp * (pow0 - pow651); + let temp = temp * (pow0 - pow652); + let temp = temp * (pow0 - pow653); + let temp = temp * (pow0 - pow654); + let temp = temp * (pow0 - pow655); + let temp = temp * (pow0 - pow656); + let temp = temp * (pow0 - pow657); + let temp = temp * (pow0 - pow658); + let temp = temp * (pow0 - pow659); + let temp = temp * (pow0 - pow660); + let temp = temp * (pow0 - pow661); + let temp = temp * (pow0 - pow662); + let temp = temp * (pow0 - pow663); + let temp = temp * (pow0 - pow664); + let temp = temp * (pow0 - pow665); + let temp = temp * (pow0 - pow666); + let temp = temp * (pow0 - pow667); + let temp = temp * (pow0 - pow668); + let temp = temp * (pow0 - pow669); + let temp = temp * (pow0 - pow672); + let temp = temp * (pow0 - pow673); + let temp = temp * (pow0 - pow674); + let temp = temp * (pow0 - pow675); + let temp = temp * (pow0 - pow676); + let temp = temp * (pow0 - pow677); + let temp = temp * (pow0 - pow678); + let temp = temp * (pow0 - pow679); + let temp = temp * (pow0 - pow680); + let temp = temp * (pow0 - pow681); + let temp = temp * (pow0 - pow682); + let temp = temp * (pow0 - pow683); + let temp = temp * (pow0 - pow684); + let temp = temp * (pow0 - pow685); + let temp = temp * (pow0 - pow686); + let temp = temp * (pow0 - pow687); + let temp = temp * (pow0 - pow688); + let temp = temp * (pow0 - pow689); + let temp = temp * (pow0 - pow690); + let temp = temp * (pow0 - pow691); + let temp = temp * (pow0 - pow692); + let temp = temp * (pow0 - pow693); + let temp = temp * (pow0 - pow694); + let temp = temp * (pow0 - pow695); + let temp = temp * (pow0 - pow696); + let temp = temp * (pow0 - pow697); + let temp = temp * (pow0 - pow698); + let temp = temp * (pow0 - pow699); + let temp = temp * (pow0 - pow702); + let temp = temp * (pow0 - pow703); + let temp = temp * (pow0 - pow704); + let temp = temp * (pow0 - pow705); + let temp = temp * (pow0 - pow706); + let temp = temp * (pow0 - pow707); + let temp = temp * (pow0 - pow708); + let temp = temp * (pow0 - pow709); + let temp = temp * (pow0 - pow710); + let temp = temp * (pow0 - pow711); + let temp = temp * (pow0 - pow712); + let temp = temp * (pow0 - pow713); + let temp = temp * (pow0 - pow714); + let temp = temp * (pow0 - pow715); + let temp = temp * (pow0 - pow716); + let temp = temp * (pow0 - pow717); + let temp = temp * (pow0 - pow718); + let temp = temp * (pow0 - pow719); + let temp = temp * (pow0 - pow720); + let temp = temp * (pow0 - pow721); + let temp = temp * (pow0 - pow722); + let temp = temp * (pow0 - pow723); + let temp = temp * (pow0 - pow724); + let temp = temp * (pow0 - pow725); + let temp = temp * (pow0 - pow726); + let temp = temp * (pow0 - pow727); + let temp = temp * (pow0 - pow728); + let temp = temp * (pow0 - pow729); + let temp = temp * (pow0 - pow732); + let temp = temp * (pow0 - pow733); + let temp = temp * (pow0 - pow734); + let temp = temp * (pow0 - pow735); + let temp = temp * (pow0 - pow736); + let temp = temp * (pow0 - pow737); + let temp = temp * (pow0 - pow738); + let temp = temp * (pow0 - pow739); + let temp = temp * (pow0 - pow740); + let temp = temp * (pow0 - pow741); + let temp = temp * (pow0 - pow742); + let temp = temp * (pow0 - pow743); + let temp = temp * (pow0 - pow744); + let temp = temp * (pow0 - pow745); + let temp = temp * (pow0 - pow746); + let temp = temp * (pow0 - pow747); + let temp = temp * (pow0 - pow748); + let temp = temp * (pow0 - pow749); + let temp = temp * (pow0 - pow750); + let temp = temp * (pow0 - pow751); + let temp = temp * (pow0 - pow752); + let temp = temp * (pow0 - pow753); + let temp = temp * (pow0 - pow754); + let temp = temp * (pow0 - pow755); + let temp = temp * (pow0 - pow756); + let temp = temp * (pow0 - pow757); + let temp = temp * (pow0 - pow758); + let temp = temp * (pow0 - pow759); + let temp = temp * (pow0 - pow762); + let temp = temp * (pow0 - pow763); + let temp = temp * (pow0 - pow764); + let temp = temp * (pow0 - pow765); + let temp = temp * (pow0 - pow766); + let temp = temp * (pow0 - pow767); + let temp = temp * (pow0 - pow768); + let temp = temp * (pow0 - pow769); + let temp = temp * (pow0 - pow770); + let temp = temp * (pow0 - pow771); + let temp = temp * (pow0 - pow772); + let temp = temp * (pow0 - pow773); + let temp = temp * (pow0 - pow774); + let temp = temp * (pow0 - pow775); + let temp = temp * (pow0 - pow776); + let temp = temp * (pow0 - pow777); + let temp = temp * (pow0 - pow778); + let temp = temp * (pow0 - pow779); + let temp = temp * (pow0 - pow780); + let temp = temp * (pow0 - pow781); + let temp = temp * (pow0 - pow782); + let temp = temp * (pow0 - pow783); + let temp = temp * (pow0 - pow784); + let temp = temp * (pow0 - pow785); + let temp = temp * (pow0 - pow786); + let temp = temp * (pow0 - pow787); + let temp = temp * (pow0 - pow788); + let temp = temp * (pow0 - pow789); + let temp = temp * (domain39); + let domain44 = temp * (domain42); + let temp = domain34; + let domain45 = temp * (domain41); + let domain46 = pow0 - pow2588; + let temp = pow3 - pow2169; + let temp = temp * (pow3 - pow2245); + let temp = temp * (pow3 - pow2321); + let temp = temp * (pow3 - pow2397); + let temp = temp * (pow3 - pow2473); + let temp = temp * (pow3 - pow2549); + let temp = temp * (pow0 - pow2618); + let temp = temp * (pow0 - pow2648); + let temp = temp * (pow0 - pow2678); + let temp = temp * (pow0 - pow2708); + let temp = temp * (pow0 - pow2738); + let temp = temp * (pow0 - pow2768); + let temp = temp * (pow0 - pow2798); + let temp = temp * (pow0 - pow2828); + let temp = temp * (pow0 - pow2858); + let temp = temp * (pow0 - pow2888); + let temp = temp * (pow0 - pow2918); + let temp = temp * (pow0 - pow2948); + let temp = temp * (pow0 - pow2978); + let temp = temp * (pow0 - pow3008); + let temp = temp * (pow0 - pow3038); + let temp = temp * (pow0 - pow3068); + let temp = temp * (pow0 - pow3098); + let temp = temp * (pow0 - pow3128); + let temp = temp * (pow0 - pow3158); + let temp = temp * (pow0 - pow3188); + let temp = temp * (pow0 - pow3218); + let temp = temp * (pow0 - pow3248); + let temp = temp * (pow0 - pow3278); + let temp = temp * (pow0 - pow3308); + let domain47 = temp * (domain46); + let domain48 = pow0 - pow2589; + let temp = pow3 - pow2193; + let temp = temp * (pow3 - pow2269); + let temp = temp * (pow3 - pow2345); + let temp = temp * (pow3 - pow2421); + let temp = temp * (pow3 - pow2497); + let temp = temp * (pow3 - pow2573); + let temp = temp * (pow0 - pow2619); + let temp = temp * (pow0 - pow2649); + let temp = temp * (pow0 - pow2679); + let temp = temp * (pow0 - pow2709); + let temp = temp * (pow0 - pow2739); + let temp = temp * (pow0 - pow2769); + let temp = temp * (pow0 - pow2799); + let temp = temp * (pow0 - pow2829); + let temp = temp * (pow0 - pow2859); + let temp = temp * (pow0 - pow2889); + let temp = temp * (pow0 - pow2919); + let temp = temp * (pow0 - pow2949); + let temp = temp * (pow0 - pow2979); + let temp = temp * (pow0 - pow3009); + let temp = temp * (pow0 - pow3039); + let temp = temp * (pow0 - pow3069); + let temp = temp * (pow0 - pow3099); + let temp = temp * (pow0 - pow3129); + let temp = temp * (pow0 - pow3159); + let temp = temp * (pow0 - pow3189); + let temp = temp * (pow0 - pow3219); + let temp = temp * (pow0 - pow3249); + let temp = temp * (pow0 - pow3279); + let temp = temp * (pow0 - pow3309); + let temp = temp * (pow0 - pow3338); + let temp = temp * (pow0 - pow3339); + let temp = temp * (domain47); + let domain49 = temp * (domain48); + let temp = pow0 - pow2590; + let temp = temp * (pow0 - pow2591); + let temp = temp * (pow0 - pow2592); + let temp = temp * (pow0 - pow2593); + let temp = temp * (pow0 - pow2594); + let domain50 = temp * (pow0 - pow2595); + let temp = pow0 - pow2596; + let temp = temp * (pow0 - pow2597); + let temp = temp * (pow0 - pow2598); + let temp = temp * (pow0 - pow2599); + let temp = temp * (pow0 - pow2600); + let temp = temp * (pow0 - pow2601); + let temp = temp * (pow0 - pow2602); + let temp = temp * (pow0 - pow2603); + let temp = temp * (pow0 - pow2604); + let temp = temp * (pow0 - pow2605); + let temp = temp * (pow0 - pow2606); + let temp = temp * (pow0 - pow2607); + let temp = temp * (pow0 - pow2608); + let temp = temp * (pow0 - pow2609); + let temp = temp * (pow0 - pow2610); + let temp = temp * (pow0 - pow2611); + let domain51 = temp * (domain50); + let temp = pow7 - pow2473; + let temp = temp * (pow7 - pow2549); + let temp = temp * (pow3 - pow2194); + let temp = temp * (pow3 - pow2195); + let temp = temp * (pow3 - pow2196); + let temp = temp * (pow3 - pow2197); + let temp = temp * (pow3 - pow2198); + let temp = temp * (pow3 - pow2199); + let temp = temp * (pow3 - pow2200); + let temp = temp * (pow3 - pow2201); + let temp = temp * (pow3 - pow2202); + let temp = temp * (pow3 - pow2203); + let temp = temp * (pow3 - pow2204); + let temp = temp * (pow3 - pow2205); + let temp = temp * (pow3 - pow2206); + let temp = temp * (pow3 - pow2207); + let temp = temp * (pow3 - pow2208); + let temp = temp * (pow3 - pow2232); + let temp = temp * (pow3 - pow2233); + let temp = temp * (pow3 - pow2234); + let temp = temp * (pow3 - pow2235); + let temp = temp * (pow3 - pow2236); + let temp = temp * (pow3 - pow2237); + let temp = temp * (pow3 - pow2238); + let temp = temp * (pow3 - pow2239); + let temp = temp * (pow3 - pow2240); + let temp = temp * (pow3 - pow2241); + let temp = temp * (pow3 - pow2242); + let temp = temp * (pow3 - pow2243); + let temp = temp * (pow3 - pow2244); + let temp = temp * (pow3 - pow2270); + let temp = temp * (pow3 - pow2271); + let temp = temp * (pow3 - pow2272); + let temp = temp * (pow3 - pow2273); + let temp = temp * (pow3 - pow2274); + let temp = temp * (pow3 - pow2275); + let temp = temp * (pow3 - pow2276); + let temp = temp * (pow3 - pow2277); + let temp = temp * (pow3 - pow2278); + let temp = temp * (pow3 - pow2279); + let temp = temp * (pow3 - pow2280); + let temp = temp * (pow3 - pow2281); + let temp = temp * (pow3 - pow2282); + let temp = temp * (pow3 - pow2283); + let temp = temp * (pow3 - pow2284); + let temp = temp * (pow3 - pow2308); + let temp = temp * (pow3 - pow2309); + let temp = temp * (pow3 - pow2310); + let temp = temp * (pow3 - pow2311); + let temp = temp * (pow3 - pow2312); + let temp = temp * (pow3 - pow2313); + let temp = temp * (pow3 - pow2314); + let temp = temp * (pow3 - pow2315); + let temp = temp * (pow3 - pow2316); + let temp = temp * (pow3 - pow2317); + let temp = temp * (pow3 - pow2318); + let temp = temp * (pow3 - pow2319); + let temp = temp * (pow3 - pow2320); + let temp = temp * (pow3 - pow2346); + let temp = temp * (pow3 - pow2347); + let temp = temp * (pow3 - pow2348); + let temp = temp * (pow3 - pow2349); + let temp = temp * (pow3 - pow2350); + let temp = temp * (pow3 - pow2351); + let temp = temp * (pow3 - pow2352); + let temp = temp * (pow3 - pow2353); + let temp = temp * (pow3 - pow2354); + let temp = temp * (pow3 - pow2355); + let temp = temp * (pow3 - pow2356); + let temp = temp * (pow3 - pow2357); + let temp = temp * (pow3 - pow2358); + let temp = temp * (pow3 - pow2359); + let temp = temp * (pow3 - pow2360); + let temp = temp * (pow3 - pow2384); + let temp = temp * (pow3 - pow2385); + let temp = temp * (pow3 - pow2386); + let temp = temp * (pow3 - pow2387); + let temp = temp * (pow3 - pow2388); + let temp = temp * (pow3 - pow2389); + let temp = temp * (pow3 - pow2390); + let temp = temp * (pow3 - pow2391); + let temp = temp * (pow3 - pow2392); + let temp = temp * (pow3 - pow2393); + let temp = temp * (pow3 - pow2394); + let temp = temp * (pow3 - pow2395); + let temp = temp * (pow3 - pow2396); + let temp = temp * (pow3 - pow2422); + let temp = temp * (pow3 - pow2423); + let temp = temp * (pow3 - pow2424); + let temp = temp * (pow3 - pow2425); + let temp = temp * (pow3 - pow2426); + let temp = temp * (pow3 - pow2427); + let temp = temp * (pow3 - pow2428); + let temp = temp * (pow3 - pow2429); + let temp = temp * (pow3 - pow2430); + let temp = temp * (pow3 - pow2431); + let temp = temp * (pow3 - pow2432); + let temp = temp * (pow3 - pow2433); + let temp = temp * (pow3 - pow2434); + let temp = temp * (pow3 - pow2435); + let temp = temp * (pow3 - pow2436); + let temp = temp * (pow3 - pow2460); + let temp = temp * (pow3 - pow2461); + let temp = temp * (pow3 - pow2462); + let temp = temp * (pow3 - pow2463); + let temp = temp * (pow3 - pow2464); + let temp = temp * (pow3 - pow2465); + let temp = temp * (pow3 - pow2466); + let temp = temp * (pow3 - pow2467); + let temp = temp * (pow3 - pow2468); + let temp = temp * (pow3 - pow2469); + let temp = temp * (pow3 - pow2470); + let temp = temp * (pow3 - pow2471); + let temp = temp * (pow3 - pow2472); + let temp = temp * (pow3 - pow2498); + let temp = temp * (pow3 - pow2499); + let temp = temp * (pow3 - pow2500); + let temp = temp * (pow3 - pow2501); + let temp = temp * (pow3 - pow2502); + let temp = temp * (pow3 - pow2503); + let temp = temp * (pow3 - pow2504); + let temp = temp * (pow3 - pow2505); + let temp = temp * (pow3 - pow2506); + let temp = temp * (pow3 - pow2507); + let temp = temp * (pow3 - pow2508); + let temp = temp * (pow3 - pow2509); + let temp = temp * (pow3 - pow2510); + let temp = temp * (pow3 - pow2511); + let temp = temp * (pow3 - pow2512); + let temp = temp * (pow3 - pow2536); + let temp = temp * (pow3 - pow2537); + let temp = temp * (pow3 - pow2538); + let temp = temp * (pow3 - pow2539); + let temp = temp * (pow3 - pow2540); + let temp = temp * (pow3 - pow2541); + let temp = temp * (pow3 - pow2542); + let temp = temp * (pow3 - pow2543); + let temp = temp * (pow3 - pow2544); + let temp = temp * (pow3 - pow2545); + let temp = temp * (pow3 - pow2546); + let temp = temp * (pow3 - pow2547); + let temp = temp * (pow3 - pow2548); + let temp = temp * (pow3 - pow2574); + let temp = temp * (pow3 - pow2575); + let temp = temp * (pow3 - pow2576); + let temp = temp * (pow3 - pow2577); + let temp = temp * (pow3 - pow2578); + let temp = temp * (pow3 - pow2579); + let temp = temp * (pow3 - pow2580); + let temp = temp * (pow3 - pow2581); + let temp = temp * (pow3 - pow2582); + let temp = temp * (pow3 - pow2583); + let temp = temp * (pow3 - pow2584); + let temp = temp * (pow3 - pow2585); + let temp = temp * (pow3 - pow2586); + let temp = temp * (pow3 - pow2587); + let temp = temp * (pow3 - pow2588); + let temp = temp * (pow3 - pow2648); + let temp = temp * (pow3 - pow2708); + let temp = temp * (pow3 - pow2768); + let temp = temp * (pow3 - pow2828); + let temp = temp * (pow3 - pow2888); + let temp = temp * (pow3 - pow2948); + let temp = temp * (pow3 - pow3008); + let temp = temp * (pow3 - pow3068); + let temp = temp * (pow3 - pow3128); + let temp = temp * (pow3 - pow3188); + let temp = temp * (pow3 - pow3248); + let temp = temp * (pow3 - pow3308); + let temp = temp * (pow3 - pow3368); + let temp = temp * (pow0 - pow2612); + let temp = temp * (pow0 - pow2613); + let temp = temp * (pow0 - pow2614); + let temp = temp * (pow0 - pow2615); + let temp = temp * (pow0 - pow2616); + let temp = temp * (pow0 - pow2617); + let temp = temp * (pow0 - pow2620); + let temp = temp * (pow0 - pow2621); + let temp = temp * (pow0 - pow2622); + let temp = temp * (pow0 - pow2623); + let temp = temp * (pow0 - pow2624); + let temp = temp * (pow0 - pow2625); + let temp = temp * (pow0 - pow2626); + let temp = temp * (pow0 - pow2627); + let temp = temp * (pow0 - pow2628); + let temp = temp * (pow0 - pow2629); + let temp = temp * (pow0 - pow2630); + let temp = temp * (pow0 - pow2631); + let temp = temp * (pow0 - pow2632); + let temp = temp * (pow0 - pow2633); + let temp = temp * (pow0 - pow2634); + let temp = temp * (pow0 - pow2635); + let temp = temp * (pow0 - pow2636); + let temp = temp * (pow0 - pow2637); + let temp = temp * (pow0 - pow2638); + let temp = temp * (pow0 - pow2639); + let temp = temp * (pow0 - pow2640); + let temp = temp * (pow0 - pow2641); + let temp = temp * (pow0 - pow2642); + let temp = temp * (pow0 - pow2643); + let temp = temp * (pow0 - pow2644); + let temp = temp * (pow0 - pow2645); + let temp = temp * (pow0 - pow2646); + let temp = temp * (pow0 - pow2647); + let temp = temp * (pow0 - pow2650); + let temp = temp * (pow0 - pow2651); + let temp = temp * (pow0 - pow2652); + let temp = temp * (pow0 - pow2653); + let temp = temp * (pow0 - pow2654); + let temp = temp * (pow0 - pow2655); + let temp = temp * (pow0 - pow2656); + let temp = temp * (pow0 - pow2657); + let temp = temp * (pow0 - pow2658); + let temp = temp * (pow0 - pow2659); + let temp = temp * (pow0 - pow2660); + let temp = temp * (pow0 - pow2661); + let temp = temp * (pow0 - pow2662); + let temp = temp * (pow0 - pow2663); + let temp = temp * (pow0 - pow2664); + let temp = temp * (pow0 - pow2665); + let temp = temp * (pow0 - pow2666); + let temp = temp * (pow0 - pow2667); + let temp = temp * (pow0 - pow2668); + let temp = temp * (pow0 - pow2669); + let temp = temp * (pow0 - pow2670); + let temp = temp * (pow0 - pow2671); + let temp = temp * (pow0 - pow2672); + let temp = temp * (pow0 - pow2673); + let temp = temp * (pow0 - pow2674); + let temp = temp * (pow0 - pow2675); + let temp = temp * (pow0 - pow2676); + let temp = temp * (pow0 - pow2677); + let temp = temp * (pow0 - pow2680); + let temp = temp * (pow0 - pow2681); + let temp = temp * (pow0 - pow2682); + let temp = temp * (pow0 - pow2683); + let temp = temp * (pow0 - pow2684); + let temp = temp * (pow0 - pow2685); + let temp = temp * (pow0 - pow2686); + let temp = temp * (pow0 - pow2687); + let temp = temp * (pow0 - pow2688); + let temp = temp * (pow0 - pow2689); + let temp = temp * (pow0 - pow2690); + let temp = temp * (pow0 - pow2691); + let temp = temp * (pow0 - pow2692); + let temp = temp * (pow0 - pow2693); + let temp = temp * (pow0 - pow2694); + let temp = temp * (pow0 - pow2695); + let temp = temp * (pow0 - pow2696); + let temp = temp * (pow0 - pow2697); + let temp = temp * (pow0 - pow2698); + let temp = temp * (pow0 - pow2699); + let temp = temp * (pow0 - pow2700); + let temp = temp * (pow0 - pow2701); + let temp = temp * (pow0 - pow2702); + let temp = temp * (pow0 - pow2703); + let temp = temp * (pow0 - pow2704); + let temp = temp * (pow0 - pow2705); + let temp = temp * (pow0 - pow2706); + let temp = temp * (pow0 - pow2707); + let temp = temp * (pow0 - pow2710); + let temp = temp * (pow0 - pow2711); + let temp = temp * (pow0 - pow2712); + let temp = temp * (pow0 - pow2713); + let temp = temp * (pow0 - pow2714); + let temp = temp * (pow0 - pow2715); + let temp = temp * (pow0 - pow2716); + let temp = temp * (pow0 - pow2717); + let temp = temp * (pow0 - pow2718); + let temp = temp * (pow0 - pow2719); + let temp = temp * (pow0 - pow2720); + let temp = temp * (pow0 - pow2721); + let temp = temp * (pow0 - pow2722); + let temp = temp * (pow0 - pow2723); + let temp = temp * (pow0 - pow2724); + let temp = temp * (pow0 - pow2725); + let temp = temp * (pow0 - pow2726); + let temp = temp * (pow0 - pow2727); + let temp = temp * (pow0 - pow2728); + let temp = temp * (pow0 - pow2729); + let temp = temp * (pow0 - pow2730); + let temp = temp * (pow0 - pow2731); + let temp = temp * (pow0 - pow2732); + let temp = temp * (pow0 - pow2733); + let temp = temp * (pow0 - pow2734); + let temp = temp * (pow0 - pow2735); + let temp = temp * (pow0 - pow2736); + let temp = temp * (pow0 - pow2737); + let temp = temp * (pow0 - pow2740); + let temp = temp * (pow0 - pow2741); + let temp = temp * (pow0 - pow2742); + let temp = temp * (pow0 - pow2743); + let temp = temp * (pow0 - pow2744); + let temp = temp * (pow0 - pow2745); + let temp = temp * (pow0 - pow2746); + let temp = temp * (pow0 - pow2747); + let temp = temp * (pow0 - pow2748); + let temp = temp * (pow0 - pow2749); + let temp = temp * (pow0 - pow2750); + let temp = temp * (pow0 - pow2751); + let temp = temp * (pow0 - pow2752); + let temp = temp * (pow0 - pow2753); + let temp = temp * (pow0 - pow2754); + let temp = temp * (pow0 - pow2755); + let temp = temp * (pow0 - pow2756); + let temp = temp * (pow0 - pow2757); + let temp = temp * (pow0 - pow2758); + let temp = temp * (pow0 - pow2759); + let temp = temp * (pow0 - pow2760); + let temp = temp * (pow0 - pow2761); + let temp = temp * (pow0 - pow2762); + let temp = temp * (pow0 - pow2763); + let temp = temp * (pow0 - pow2764); + let temp = temp * (pow0 - pow2765); + let temp = temp * (pow0 - pow2766); + let temp = temp * (pow0 - pow2767); + let temp = temp * (pow0 - pow2770); + let temp = temp * (pow0 - pow2771); + let temp = temp * (pow0 - pow2772); + let temp = temp * (pow0 - pow2773); + let temp = temp * (pow0 - pow2774); + let temp = temp * (pow0 - pow2775); + let temp = temp * (pow0 - pow2776); + let temp = temp * (pow0 - pow2777); + let temp = temp * (pow0 - pow2778); + let temp = temp * (pow0 - pow2779); + let temp = temp * (pow0 - pow2780); + let temp = temp * (pow0 - pow2781); + let temp = temp * (pow0 - pow2782); + let temp = temp * (pow0 - pow2783); + let temp = temp * (pow0 - pow2784); + let temp = temp * (pow0 - pow2785); + let temp = temp * (pow0 - pow2786); + let temp = temp * (pow0 - pow2787); + let temp = temp * (pow0 - pow2788); + let temp = temp * (pow0 - pow2789); + let temp = temp * (pow0 - pow2790); + let temp = temp * (pow0 - pow2791); + let temp = temp * (pow0 - pow2792); + let temp = temp * (pow0 - pow2793); + let temp = temp * (pow0 - pow2794); + let temp = temp * (pow0 - pow2795); + let temp = temp * (pow0 - pow2796); + let temp = temp * (pow0 - pow2797); + let temp = temp * (pow0 - pow2800); + let temp = temp * (pow0 - pow2801); + let temp = temp * (pow0 - pow2802); + let temp = temp * (pow0 - pow2803); + let temp = temp * (pow0 - pow2804); + let temp = temp * (pow0 - pow2805); + let temp = temp * (pow0 - pow2806); + let temp = temp * (pow0 - pow2807); + let temp = temp * (pow0 - pow2808); + let temp = temp * (pow0 - pow2809); + let temp = temp * (pow0 - pow2810); + let temp = temp * (pow0 - pow2811); + let temp = temp * (pow0 - pow2812); + let temp = temp * (pow0 - pow2813); + let temp = temp * (pow0 - pow2814); + let temp = temp * (pow0 - pow2815); + let temp = temp * (pow0 - pow2816); + let temp = temp * (pow0 - pow2817); + let temp = temp * (pow0 - pow2818); + let temp = temp * (pow0 - pow2819); + let temp = temp * (pow0 - pow2820); + let temp = temp * (pow0 - pow2821); + let temp = temp * (pow0 - pow2822); + let temp = temp * (pow0 - pow2823); + let temp = temp * (pow0 - pow2824); + let temp = temp * (pow0 - pow2825); + let temp = temp * (pow0 - pow2826); + let temp = temp * (pow0 - pow2827); + let temp = temp * (pow0 - pow2830); + let temp = temp * (pow0 - pow2831); + let temp = temp * (pow0 - pow2832); + let temp = temp * (pow0 - pow2833); + let temp = temp * (pow0 - pow2834); + let temp = temp * (pow0 - pow2835); + let temp = temp * (pow0 - pow2836); + let temp = temp * (pow0 - pow2837); + let temp = temp * (pow0 - pow2838); + let temp = temp * (pow0 - pow2839); + let temp = temp * (pow0 - pow2840); + let temp = temp * (pow0 - pow2841); + let temp = temp * (pow0 - pow2842); + let temp = temp * (pow0 - pow2843); + let temp = temp * (pow0 - pow2844); + let temp = temp * (pow0 - pow2845); + let temp = temp * (pow0 - pow2846); + let temp = temp * (pow0 - pow2847); + let temp = temp * (pow0 - pow2848); + let temp = temp * (pow0 - pow2849); + let temp = temp * (pow0 - pow2850); + let temp = temp * (pow0 - pow2851); + let temp = temp * (pow0 - pow2852); + let temp = temp * (pow0 - pow2853); + let temp = temp * (pow0 - pow2854); + let temp = temp * (pow0 - pow2855); + let temp = temp * (pow0 - pow2856); + let temp = temp * (pow0 - pow2857); + let temp = temp * (pow0 - pow2860); + let temp = temp * (pow0 - pow2861); + let temp = temp * (pow0 - pow2862); + let temp = temp * (pow0 - pow2863); + let temp = temp * (pow0 - pow2864); + let temp = temp * (pow0 - pow2865); + let temp = temp * (pow0 - pow2866); + let temp = temp * (pow0 - pow2867); + let temp = temp * (pow0 - pow2868); + let temp = temp * (pow0 - pow2869); + let temp = temp * (pow0 - pow2870); + let temp = temp * (pow0 - pow2871); + let temp = temp * (pow0 - pow2872); + let temp = temp * (pow0 - pow2873); + let temp = temp * (pow0 - pow2874); + let temp = temp * (pow0 - pow2875); + let temp = temp * (pow0 - pow2876); + let temp = temp * (pow0 - pow2877); + let temp = temp * (pow0 - pow2878); + let temp = temp * (pow0 - pow2879); + let temp = temp * (pow0 - pow2880); + let temp = temp * (pow0 - pow2881); + let temp = temp * (pow0 - pow2882); + let temp = temp * (pow0 - pow2883); + let temp = temp * (pow0 - pow2884); + let temp = temp * (pow0 - pow2885); + let temp = temp * (pow0 - pow2886); + let temp = temp * (pow0 - pow2887); + let temp = temp * (pow0 - pow2890); + let temp = temp * (pow0 - pow2891); + let temp = temp * (pow0 - pow2892); + let temp = temp * (pow0 - pow2893); + let temp = temp * (pow0 - pow2894); + let temp = temp * (pow0 - pow2895); + let temp = temp * (pow0 - pow2896); + let temp = temp * (pow0 - pow2897); + let temp = temp * (pow0 - pow2898); + let temp = temp * (pow0 - pow2899); + let temp = temp * (pow0 - pow2900); + let temp = temp * (pow0 - pow2901); + let temp = temp * (pow0 - pow2902); + let temp = temp * (pow0 - pow2903); + let temp = temp * (pow0 - pow2904); + let temp = temp * (pow0 - pow2905); + let temp = temp * (pow0 - pow2906); + let temp = temp * (pow0 - pow2907); + let temp = temp * (pow0 - pow2908); + let temp = temp * (pow0 - pow2909); + let temp = temp * (pow0 - pow2910); + let temp = temp * (pow0 - pow2911); + let temp = temp * (pow0 - pow2912); + let temp = temp * (pow0 - pow2913); + let temp = temp * (pow0 - pow2914); + let temp = temp * (pow0 - pow2915); + let temp = temp * (pow0 - pow2916); + let temp = temp * (pow0 - pow2917); + let temp = temp * (pow0 - pow2920); + let temp = temp * (pow0 - pow2921); + let temp = temp * (pow0 - pow2922); + let temp = temp * (pow0 - pow2923); + let temp = temp * (pow0 - pow2924); + let temp = temp * (pow0 - pow2925); + let temp = temp * (pow0 - pow2926); + let temp = temp * (pow0 - pow2927); + let temp = temp * (pow0 - pow2928); + let temp = temp * (pow0 - pow2929); + let temp = temp * (pow0 - pow2930); + let temp = temp * (pow0 - pow2931); + let temp = temp * (pow0 - pow2932); + let temp = temp * (pow0 - pow2933); + let temp = temp * (pow0 - pow2934); + let temp = temp * (pow0 - pow2935); + let temp = temp * (pow0 - pow2936); + let temp = temp * (pow0 - pow2937); + let temp = temp * (pow0 - pow2938); + let temp = temp * (pow0 - pow2939); + let temp = temp * (pow0 - pow2940); + let temp = temp * (pow0 - pow2941); + let temp = temp * (pow0 - pow2942); + let temp = temp * (pow0 - pow2943); + let temp = temp * (pow0 - pow2944); + let temp = temp * (pow0 - pow2945); + let temp = temp * (pow0 - pow2946); + let temp = temp * (pow0 - pow2947); + let temp = temp * (pow0 - pow2950); + let temp = temp * (pow0 - pow2951); + let temp = temp * (pow0 - pow2952); + let temp = temp * (pow0 - pow2953); + let temp = temp * (pow0 - pow2954); + let temp = temp * (pow0 - pow2955); + let temp = temp * (pow0 - pow2956); + let temp = temp * (pow0 - pow2957); + let temp = temp * (pow0 - pow2958); + let temp = temp * (pow0 - pow2959); + let temp = temp * (pow0 - pow2960); + let temp = temp * (pow0 - pow2961); + let temp = temp * (pow0 - pow2962); + let temp = temp * (pow0 - pow2963); + let temp = temp * (pow0 - pow2964); + let temp = temp * (pow0 - pow2965); + let temp = temp * (pow0 - pow2966); + let temp = temp * (pow0 - pow2967); + let temp = temp * (pow0 - pow2968); + let temp = temp * (pow0 - pow2969); + let temp = temp * (pow0 - pow2970); + let temp = temp * (pow0 - pow2971); + let temp = temp * (pow0 - pow2972); + let temp = temp * (pow0 - pow2973); + let temp = temp * (pow0 - pow2974); + let temp = temp * (pow0 - pow2975); + let temp = temp * (pow0 - pow2976); + let temp = temp * (pow0 - pow2977); + let temp = temp * (pow0 - pow2980); + let temp = temp * (pow0 - pow2981); + let temp = temp * (pow0 - pow2982); + let temp = temp * (pow0 - pow2983); + let temp = temp * (pow0 - pow2984); + let temp = temp * (pow0 - pow2985); + let temp = temp * (pow0 - pow2986); + let temp = temp * (pow0 - pow2987); + let temp = temp * (pow0 - pow2988); + let temp = temp * (pow0 - pow2989); + let temp = temp * (pow0 - pow2990); + let temp = temp * (pow0 - pow2991); + let temp = temp * (pow0 - pow2992); + let temp = temp * (pow0 - pow2993); + let temp = temp * (pow0 - pow2994); + let temp = temp * (pow0 - pow2995); + let temp = temp * (pow0 - pow2996); + let temp = temp * (pow0 - pow2997); + let temp = temp * (pow0 - pow2998); + let temp = temp * (pow0 - pow2999); + let temp = temp * (pow0 - pow3000); + let temp = temp * (pow0 - pow3001); + let temp = temp * (pow0 - pow3002); + let temp = temp * (pow0 - pow3003); + let temp = temp * (pow0 - pow3004); + let temp = temp * (pow0 - pow3005); + let temp = temp * (pow0 - pow3006); + let temp = temp * (pow0 - pow3007); + let temp = temp * (pow0 - pow3010); + let temp = temp * (pow0 - pow3011); + let temp = temp * (pow0 - pow3012); + let temp = temp * (pow0 - pow3013); + let temp = temp * (pow0 - pow3014); + let temp = temp * (pow0 - pow3015); + let temp = temp * (pow0 - pow3016); + let temp = temp * (pow0 - pow3017); + let temp = temp * (pow0 - pow3018); + let temp = temp * (pow0 - pow3019); + let temp = temp * (pow0 - pow3020); + let temp = temp * (pow0 - pow3021); + let temp = temp * (pow0 - pow3022); + let temp = temp * (pow0 - pow3023); + let temp = temp * (pow0 - pow3024); + let temp = temp * (pow0 - pow3025); + let temp = temp * (pow0 - pow3026); + let temp = temp * (pow0 - pow3027); + let temp = temp * (pow0 - pow3028); + let temp = temp * (pow0 - pow3029); + let temp = temp * (pow0 - pow3030); + let temp = temp * (pow0 - pow3031); + let temp = temp * (pow0 - pow3032); + let temp = temp * (pow0 - pow3033); + let temp = temp * (pow0 - pow3034); + let temp = temp * (pow0 - pow3035); + let temp = temp * (pow0 - pow3036); + let temp = temp * (pow0 - pow3037); + let temp = temp * (pow0 - pow3040); + let temp = temp * (pow0 - pow3041); + let temp = temp * (pow0 - pow3042); + let temp = temp * (pow0 - pow3043); + let temp = temp * (pow0 - pow3044); + let temp = temp * (pow0 - pow3045); + let temp = temp * (pow0 - pow3046); + let temp = temp * (pow0 - pow3047); + let temp = temp * (pow0 - pow3048); + let temp = temp * (pow0 - pow3049); + let temp = temp * (pow0 - pow3050); + let temp = temp * (pow0 - pow3051); + let temp = temp * (pow0 - pow3052); + let temp = temp * (pow0 - pow3053); + let temp = temp * (pow0 - pow3054); + let temp = temp * (pow0 - pow3055); + let temp = temp * (pow0 - pow3056); + let temp = temp * (pow0 - pow3057); + let temp = temp * (pow0 - pow3058); + let temp = temp * (pow0 - pow3059); + let temp = temp * (pow0 - pow3060); + let temp = temp * (pow0 - pow3061); + let temp = temp * (pow0 - pow3062); + let temp = temp * (pow0 - pow3063); + let temp = temp * (pow0 - pow3064); + let temp = temp * (pow0 - pow3065); + let temp = temp * (pow0 - pow3066); + let temp = temp * (pow0 - pow3067); + let temp = temp * (pow0 - pow3070); + let temp = temp * (pow0 - pow3071); + let temp = temp * (pow0 - pow3072); + let temp = temp * (pow0 - pow3073); + let temp = temp * (pow0 - pow3074); + let temp = temp * (pow0 - pow3075); + let temp = temp * (pow0 - pow3076); + let temp = temp * (pow0 - pow3077); + let temp = temp * (pow0 - pow3078); + let temp = temp * (pow0 - pow3079); + let temp = temp * (pow0 - pow3080); + let temp = temp * (pow0 - pow3081); + let temp = temp * (pow0 - pow3082); + let temp = temp * (pow0 - pow3083); + let temp = temp * (pow0 - pow3084); + let temp = temp * (pow0 - pow3085); + let temp = temp * (pow0 - pow3086); + let temp = temp * (pow0 - pow3087); + let temp = temp * (pow0 - pow3088); + let temp = temp * (pow0 - pow3089); + let temp = temp * (pow0 - pow3090); + let temp = temp * (pow0 - pow3091); + let temp = temp * (pow0 - pow3092); + let temp = temp * (pow0 - pow3093); + let temp = temp * (pow0 - pow3094); + let temp = temp * (pow0 - pow3095); + let temp = temp * (pow0 - pow3096); + let temp = temp * (pow0 - pow3097); + let temp = temp * (pow0 - pow3100); + let temp = temp * (pow0 - pow3101); + let temp = temp * (pow0 - pow3102); + let temp = temp * (pow0 - pow3103); + let temp = temp * (pow0 - pow3104); + let temp = temp * (pow0 - pow3105); + let temp = temp * (pow0 - pow3106); + let temp = temp * (pow0 - pow3107); + let temp = temp * (pow0 - pow3108); + let temp = temp * (pow0 - pow3109); + let temp = temp * (pow0 - pow3110); + let temp = temp * (pow0 - pow3111); + let temp = temp * (pow0 - pow3112); + let temp = temp * (pow0 - pow3113); + let temp = temp * (pow0 - pow3114); + let temp = temp * (pow0 - pow3115); + let temp = temp * (pow0 - pow3116); + let temp = temp * (pow0 - pow3117); + let temp = temp * (pow0 - pow3118); + let temp = temp * (pow0 - pow3119); + let temp = temp * (pow0 - pow3120); + let temp = temp * (pow0 - pow3121); + let temp = temp * (pow0 - pow3122); + let temp = temp * (pow0 - pow3123); + let temp = temp * (pow0 - pow3124); + let temp = temp * (pow0 - pow3125); + let temp = temp * (pow0 - pow3126); + let temp = temp * (pow0 - pow3127); + let temp = temp * (pow0 - pow3130); + let temp = temp * (pow0 - pow3131); + let temp = temp * (pow0 - pow3132); + let temp = temp * (pow0 - pow3133); + let temp = temp * (pow0 - pow3134); + let temp = temp * (pow0 - pow3135); + let temp = temp * (pow0 - pow3136); + let temp = temp * (pow0 - pow3137); + let temp = temp * (pow0 - pow3138); + let temp = temp * (pow0 - pow3139); + let temp = temp * (pow0 - pow3140); + let temp = temp * (pow0 - pow3141); + let temp = temp * (pow0 - pow3142); + let temp = temp * (pow0 - pow3143); + let temp = temp * (pow0 - pow3144); + let temp = temp * (pow0 - pow3145); + let temp = temp * (pow0 - pow3146); + let temp = temp * (pow0 - pow3147); + let temp = temp * (pow0 - pow3148); + let temp = temp * (pow0 - pow3149); + let temp = temp * (pow0 - pow3150); + let temp = temp * (pow0 - pow3151); + let temp = temp * (pow0 - pow3152); + let temp = temp * (pow0 - pow3153); + let temp = temp * (pow0 - pow3154); + let temp = temp * (pow0 - pow3155); + let temp = temp * (pow0 - pow3156); + let temp = temp * (pow0 - pow3157); + let temp = temp * (pow0 - pow3160); + let temp = temp * (pow0 - pow3161); + let temp = temp * (pow0 - pow3162); + let temp = temp * (pow0 - pow3163); + let temp = temp * (pow0 - pow3164); + let temp = temp * (pow0 - pow3165); + let temp = temp * (pow0 - pow3166); + let temp = temp * (pow0 - pow3167); + let temp = temp * (pow0 - pow3168); + let temp = temp * (pow0 - pow3169); + let temp = temp * (pow0 - pow3170); + let temp = temp * (pow0 - pow3171); + let temp = temp * (pow0 - pow3172); + let temp = temp * (pow0 - pow3173); + let temp = temp * (pow0 - pow3174); + let temp = temp * (pow0 - pow3175); + let temp = temp * (pow0 - pow3176); + let temp = temp * (pow0 - pow3177); + let temp = temp * (pow0 - pow3178); + let temp = temp * (pow0 - pow3179); + let temp = temp * (pow0 - pow3180); + let temp = temp * (pow0 - pow3181); + let temp = temp * (pow0 - pow3182); + let temp = temp * (pow0 - pow3183); + let temp = temp * (pow0 - pow3184); + let temp = temp * (pow0 - pow3185); + let temp = temp * (pow0 - pow3186); + let temp = temp * (pow0 - pow3187); + let temp = temp * (pow0 - pow3190); + let temp = temp * (pow0 - pow3191); + let temp = temp * (pow0 - pow3192); + let temp = temp * (pow0 - pow3193); + let temp = temp * (pow0 - pow3194); + let temp = temp * (pow0 - pow3195); + let temp = temp * (pow0 - pow3196); + let temp = temp * (pow0 - pow3197); + let temp = temp * (pow0 - pow3198); + let temp = temp * (pow0 - pow3199); + let temp = temp * (pow0 - pow3200); + let temp = temp * (pow0 - pow3201); + let temp = temp * (pow0 - pow3202); + let temp = temp * (pow0 - pow3203); + let temp = temp * (pow0 - pow3204); + let temp = temp * (pow0 - pow3205); + let temp = temp * (pow0 - pow3206); + let temp = temp * (pow0 - pow3207); + let temp = temp * (pow0 - pow3208); + let temp = temp * (pow0 - pow3209); + let temp = temp * (pow0 - pow3210); + let temp = temp * (pow0 - pow3211); + let temp = temp * (pow0 - pow3212); + let temp = temp * (pow0 - pow3213); + let temp = temp * (pow0 - pow3214); + let temp = temp * (pow0 - pow3215); + let temp = temp * (pow0 - pow3216); + let temp = temp * (pow0 - pow3217); + let temp = temp * (pow0 - pow3220); + let temp = temp * (pow0 - pow3221); + let temp = temp * (pow0 - pow3222); + let temp = temp * (pow0 - pow3223); + let temp = temp * (pow0 - pow3224); + let temp = temp * (pow0 - pow3225); + let temp = temp * (pow0 - pow3226); + let temp = temp * (pow0 - pow3227); + let temp = temp * (pow0 - pow3228); + let temp = temp * (pow0 - pow3229); + let temp = temp * (pow0 - pow3230); + let temp = temp * (pow0 - pow3231); + let temp = temp * (pow0 - pow3232); + let temp = temp * (pow0 - pow3233); + let temp = temp * (pow0 - pow3234); + let temp = temp * (pow0 - pow3235); + let temp = temp * (pow0 - pow3236); + let temp = temp * (pow0 - pow3237); + let temp = temp * (pow0 - pow3238); + let temp = temp * (pow0 - pow3239); + let temp = temp * (pow0 - pow3240); + let temp = temp * (pow0 - pow3241); + let temp = temp * (pow0 - pow3242); + let temp = temp * (pow0 - pow3243); + let temp = temp * (pow0 - pow3244); + let temp = temp * (pow0 - pow3245); + let temp = temp * (pow0 - pow3246); + let temp = temp * (pow0 - pow3247); + let temp = temp * (pow0 - pow3250); + let temp = temp * (pow0 - pow3251); + let temp = temp * (pow0 - pow3252); + let temp = temp * (pow0 - pow3253); + let temp = temp * (pow0 - pow3254); + let temp = temp * (pow0 - pow3255); + let temp = temp * (pow0 - pow3256); + let temp = temp * (pow0 - pow3257); + let temp = temp * (pow0 - pow3258); + let temp = temp * (pow0 - pow3259); + let temp = temp * (pow0 - pow3260); + let temp = temp * (pow0 - pow3261); + let temp = temp * (pow0 - pow3262); + let temp = temp * (pow0 - pow3263); + let temp = temp * (pow0 - pow3264); + let temp = temp * (pow0 - pow3265); + let temp = temp * (pow0 - pow3266); + let temp = temp * (pow0 - pow3267); + let temp = temp * (pow0 - pow3268); + let temp = temp * (pow0 - pow3269); + let temp = temp * (pow0 - pow3270); + let temp = temp * (pow0 - pow3271); + let temp = temp * (pow0 - pow3272); + let temp = temp * (pow0 - pow3273); + let temp = temp * (pow0 - pow3274); + let temp = temp * (pow0 - pow3275); + let temp = temp * (pow0 - pow3276); + let temp = temp * (pow0 - pow3277); + let temp = temp * (pow0 - pow3280); + let temp = temp * (pow0 - pow3281); + let temp = temp * (pow0 - pow3282); + let temp = temp * (pow0 - pow3283); + let temp = temp * (pow0 - pow3284); + let temp = temp * (pow0 - pow3285); + let temp = temp * (pow0 - pow3286); + let temp = temp * (pow0 - pow3287); + let temp = temp * (pow0 - pow3288); + let temp = temp * (pow0 - pow3289); + let temp = temp * (pow0 - pow3290); + let temp = temp * (pow0 - pow3291); + let temp = temp * (pow0 - pow3292); + let temp = temp * (pow0 - pow3293); + let temp = temp * (pow0 - pow3294); + let temp = temp * (pow0 - pow3295); + let temp = temp * (pow0 - pow3296); + let temp = temp * (pow0 - pow3297); + let temp = temp * (pow0 - pow3298); + let temp = temp * (pow0 - pow3299); + let temp = temp * (pow0 - pow3300); + let temp = temp * (pow0 - pow3301); + let temp = temp * (pow0 - pow3302); + let temp = temp * (pow0 - pow3303); + let temp = temp * (pow0 - pow3304); + let temp = temp * (pow0 - pow3305); + let temp = temp * (pow0 - pow3306); + let temp = temp * (pow0 - pow3307); + let temp = temp * (pow0 - pow3310); + let temp = temp * (pow0 - pow3311); + let temp = temp * (pow0 - pow3312); + let temp = temp * (pow0 - pow3313); + let temp = temp * (pow0 - pow3314); + let temp = temp * (pow0 - pow3315); + let temp = temp * (pow0 - pow3316); + let temp = temp * (pow0 - pow3317); + let temp = temp * (pow0 - pow3318); + let temp = temp * (pow0 - pow3319); + let temp = temp * (pow0 - pow3320); + let temp = temp * (pow0 - pow3321); + let temp = temp * (pow0 - pow3322); + let temp = temp * (pow0 - pow3323); + let temp = temp * (pow0 - pow3324); + let temp = temp * (pow0 - pow3325); + let temp = temp * (pow0 - pow3326); + let temp = temp * (pow0 - pow3327); + let temp = temp * (pow0 - pow3328); + let temp = temp * (pow0 - pow3329); + let temp = temp * (pow0 - pow3330); + let temp = temp * (pow0 - pow3331); + let temp = temp * (pow0 - pow3332); + let temp = temp * (pow0 - pow3333); + let temp = temp * (pow0 - pow3334); + let temp = temp * (pow0 - pow3335); + let temp = temp * (pow0 - pow3336); + let temp = temp * (pow0 - pow3337); + let temp = temp * (pow0 - pow3340); + let temp = temp * (pow0 - pow3341); + let temp = temp * (pow0 - pow3342); + let temp = temp * (pow0 - pow3343); + let temp = temp * (pow0 - pow3344); + let temp = temp * (pow0 - pow3345); + let temp = temp * (pow0 - pow3346); + let temp = temp * (pow0 - pow3347); + let temp = temp * (pow0 - pow3348); + let temp = temp * (pow0 - pow3349); + let temp = temp * (pow0 - pow3350); + let temp = temp * (pow0 - pow3351); + let temp = temp * (pow0 - pow3352); + let temp = temp * (pow0 - pow3353); + let temp = temp * (pow0 - pow3354); + let temp = temp * (pow0 - pow3355); + let temp = temp * (pow0 - pow3356); + let temp = temp * (pow0 - pow3357); + let temp = temp * (pow0 - pow3358); + let temp = temp * (pow0 - pow3359); + let temp = temp * (pow0 - pow3360); + let temp = temp * (pow0 - pow3361); + let temp = temp * (pow0 - pow3362); + let temp = temp * (pow0 - pow3363); + let temp = temp * (pow0 - pow3364); + let temp = temp * (pow0 - pow3365); + let temp = temp * (pow0 - pow3366); + let temp = temp * (pow0 - pow3367); + let temp = temp * (domain49); + let domain52 = temp * (domain51); + let temp = pow3 - pow2121; + let domain53 = temp * (domain47); + let temp = domain46; + let domain54 = temp * (domain48); + let temp = domain51; + let domain55 = temp * (domain54); + let temp = pow0 - pow793; + let temp = temp * (pow0 - pow794); + let temp = temp * (pow0 - pow795); + let temp = temp * (pow0 - pow796); + let temp = temp * (pow0 - pow797); + let temp = temp * (pow0 - pow798); + let temp = temp * (pow0 - pow799); + let domain56 = temp * (pow0 - pow800); + let temp = pow0 - pow801; + let temp = temp * (pow0 - pow802); + let temp = temp * (pow0 - pow803); + let temp = temp * (pow0 - pow804); + let temp = temp * (pow0 - pow805); + let temp = temp * (pow0 - pow806); + let temp = temp * (pow0 - pow807); + let temp = temp * (pow0 - pow808); + let temp = temp * (pow0 - pow809); + let temp = temp * (pow0 - pow810); + let temp = temp * (pow0 - pow811); + let temp = temp * (pow0 - pow812); + let temp = temp * (pow0 - pow813); + let temp = temp * (pow0 - pow814); + let temp = temp * (pow0 - pow815); + let temp = temp * (pow0 - pow816); + let temp = temp * (domain38); + let domain57 = temp * (domain56); + let temp = pow0 - pow2549; + let temp = temp * (pow0 - pow2550); + let temp = temp * (pow0 - pow2551); + let temp = temp * (pow0 - pow2552); + let temp = temp * (pow0 - pow2553); + let temp = temp * (pow0 - pow2554); + let temp = temp * (pow0 - pow2555); + let domain58 = temp * (pow0 - pow2556); + let temp = pow0 - pow2557; + let temp = temp * (pow0 - pow2558); + let temp = temp * (pow0 - pow2559); + let temp = temp * (pow0 - pow2560); + let temp = temp * (pow0 - pow2561); + let temp = temp * (pow0 - pow2562); + let temp = temp * (pow0 - pow2563); + let temp = temp * (pow0 - pow2564); + let temp = temp * (pow0 - pow2565); + let temp = temp * (pow0 - pow2566); + let temp = temp * (pow0 - pow2567); + let temp = temp * (pow0 - pow2568); + let temp = temp * (pow0 - pow2569); + let temp = temp * (pow0 - pow2570); + let temp = temp * (pow0 - pow2571); + let temp = temp * (pow0 - pow2572); + let temp = temp * (domain55); + let domain59 = temp * (domain58); + let temp = pow0 - pow2512; + let temp = temp * (pow0 - pow2513); + let temp = temp * (pow0 - pow2514); + let temp = temp * (pow0 - pow2515); + let temp = temp * (pow0 - pow2516); + let temp = temp * (pow0 - pow2517); + let temp = temp * (pow0 - pow2518); + let domain60 = temp * (pow0 - pow2519); + let temp = pow0 - pow2397; + let temp = temp * (pow0 - pow2398); + let temp = temp * (pow0 - pow2399); + let temp = temp * (pow0 - pow2400); + let temp = temp * (pow0 - pow2401); + let temp = temp * (pow0 - pow2402); + let temp = temp * (pow0 - pow2403); + let temp = temp * (pow0 - pow2404); + let temp = temp * (pow0 - pow2436); + let temp = temp * (pow0 - pow2437); + let temp = temp * (pow0 - pow2438); + let temp = temp * (pow0 - pow2439); + let temp = temp * (pow0 - pow2440); + let temp = temp * (pow0 - pow2441); + let temp = temp * (pow0 - pow2442); + let temp = temp * (pow0 - pow2443); + let temp = temp * (pow0 - pow2473); + let temp = temp * (pow0 - pow2474); + let temp = temp * (pow0 - pow2475); + let temp = temp * (pow0 - pow2476); + let temp = temp * (pow0 - pow2477); + let temp = temp * (pow0 - pow2478); + let temp = temp * (pow0 - pow2479); + let temp = temp * (pow0 - pow2480); + let domain61 = temp * (domain60); + let temp = pow0 - pow2520; + let temp = temp * (pow0 - pow2521); + let temp = temp * (pow0 - pow2522); + let temp = temp * (pow0 - pow2523); + let temp = temp * (pow0 - pow2524); + let temp = temp * (pow0 - pow2525); + let temp = temp * (pow0 - pow2526); + let temp = temp * (pow0 - pow2527); + let temp = temp * (pow0 - pow2528); + let temp = temp * (pow0 - pow2529); + let temp = temp * (pow0 - pow2530); + let temp = temp * (pow0 - pow2531); + let temp = temp * (pow0 - pow2532); + let temp = temp * (pow0 - pow2533); + let temp = temp * (pow0 - pow2534); + let temp = temp * (pow0 - pow2535); + let domain62 = temp * (domain59); + let temp = pow0 - pow2405; + let temp = temp * (pow0 - pow2406); + let temp = temp * (pow0 - pow2407); + let temp = temp * (pow0 - pow2408); + let temp = temp * (pow0 - pow2409); + let temp = temp * (pow0 - pow2410); + let temp = temp * (pow0 - pow2411); + let temp = temp * (pow0 - pow2412); + let temp = temp * (pow0 - pow2413); + let temp = temp * (pow0 - pow2414); + let temp = temp * (pow0 - pow2415); + let temp = temp * (pow0 - pow2416); + let temp = temp * (pow0 - pow2417); + let temp = temp * (pow0 - pow2418); + let temp = temp * (pow0 - pow2419); + let temp = temp * (pow0 - pow2420); + let temp = temp * (pow0 - pow2444); + let temp = temp * (pow0 - pow2445); + let temp = temp * (pow0 - pow2446); + let temp = temp * (pow0 - pow2447); + let temp = temp * (pow0 - pow2448); + let temp = temp * (pow0 - pow2449); + let temp = temp * (pow0 - pow2450); + let temp = temp * (pow0 - pow2451); + let temp = temp * (pow0 - pow2452); + let temp = temp * (pow0 - pow2453); + let temp = temp * (pow0 - pow2454); + let temp = temp * (pow0 - pow2455); + let temp = temp * (pow0 - pow2456); + let temp = temp * (pow0 - pow2457); + let temp = temp * (pow0 - pow2458); + let temp = temp * (pow0 - pow2459); + let temp = temp * (pow0 - pow2481); + let temp = temp * (pow0 - pow2482); + let temp = temp * (pow0 - pow2483); + let temp = temp * (pow0 - pow2484); + let temp = temp * (pow0 - pow2485); + let temp = temp * (pow0 - pow2486); + let temp = temp * (pow0 - pow2487); + let temp = temp * (pow0 - pow2488); + let temp = temp * (pow0 - pow2489); + let temp = temp * (pow0 - pow2490); + let temp = temp * (pow0 - pow2491); + let temp = temp * (pow0 - pow2492); + let temp = temp * (pow0 - pow2493); + let temp = temp * (pow0 - pow2494); + let temp = temp * (pow0 - pow2495); + let temp = temp * (pow0 - pow2496); + let temp = temp * (domain61); + let domain63 = temp * (domain62); + let temp = pow0 - pow2321; + let temp = temp * (pow0 - pow2322); + let temp = temp * (pow0 - pow2323); + let temp = temp * (pow0 - pow2324); + let temp = temp * (pow0 - pow2325); + let temp = temp * (pow0 - pow2326); + let temp = temp * (pow0 - pow2327); + let temp = temp * (pow0 - pow2328); + let temp = temp * (pow0 - pow2360); + let temp = temp * (pow0 - pow2361); + let temp = temp * (pow0 - pow2362); + let temp = temp * (pow0 - pow2363); + let temp = temp * (pow0 - pow2364); + let temp = temp * (pow0 - pow2365); + let temp = temp * (pow0 - pow2366); + let domain64 = temp * (pow0 - pow2367); + let temp = pow0 - pow2284; + let temp = temp * (pow0 - pow2285); + let temp = temp * (pow0 - pow2286); + let temp = temp * (pow0 - pow2287); + let temp = temp * (pow0 - pow2288); + let temp = temp * (pow0 - pow2289); + let temp = temp * (pow0 - pow2290); + let temp = temp * (pow0 - pow2291); + let domain65 = temp * (domain64); + let temp = pow0 - pow2245; + let temp = temp * (pow0 - pow2246); + let temp = temp * (pow0 - pow2247); + let temp = temp * (pow0 - pow2248); + let temp = temp * (pow0 - pow2249); + let temp = temp * (pow0 - pow2250); + let temp = temp * (pow0 - pow2251); + let temp = temp * (pow0 - pow2252); + let domain66 = temp * (domain65); + let temp = pow0 - pow2329; + let temp = temp * (pow0 - pow2330); + let temp = temp * (pow0 - pow2331); + let temp = temp * (pow0 - pow2332); + let temp = temp * (pow0 - pow2333); + let temp = temp * (pow0 - pow2334); + let temp = temp * (pow0 - pow2335); + let temp = temp * (pow0 - pow2336); + let temp = temp * (pow0 - pow2337); + let temp = temp * (pow0 - pow2338); + let temp = temp * (pow0 - pow2339); + let temp = temp * (pow0 - pow2340); + let temp = temp * (pow0 - pow2341); + let temp = temp * (pow0 - pow2342); + let temp = temp * (pow0 - pow2343); + let temp = temp * (pow0 - pow2344); + let temp = temp * (pow0 - pow2368); + let temp = temp * (pow0 - pow2369); + let temp = temp * (pow0 - pow2370); + let temp = temp * (pow0 - pow2371); + let temp = temp * (pow0 - pow2372); + let temp = temp * (pow0 - pow2373); + let temp = temp * (pow0 - pow2374); + let temp = temp * (pow0 - pow2375); + let temp = temp * (pow0 - pow2376); + let temp = temp * (pow0 - pow2377); + let temp = temp * (pow0 - pow2378); + let temp = temp * (pow0 - pow2379); + let temp = temp * (pow0 - pow2380); + let temp = temp * (pow0 - pow2381); + let temp = temp * (pow0 - pow2382); + let temp = temp * (pow0 - pow2383); + let domain67 = temp * (domain63); + let temp = pow0 - pow2253; + let temp = temp * (pow0 - pow2254); + let temp = temp * (pow0 - pow2255); + let temp = temp * (pow0 - pow2256); + let temp = temp * (pow0 - pow2257); + let temp = temp * (pow0 - pow2258); + let temp = temp * (pow0 - pow2259); + let temp = temp * (pow0 - pow2260); + let temp = temp * (pow0 - pow2261); + let temp = temp * (pow0 - pow2262); + let temp = temp * (pow0 - pow2263); + let temp = temp * (pow0 - pow2264); + let temp = temp * (pow0 - pow2265); + let temp = temp * (pow0 - pow2266); + let temp = temp * (pow0 - pow2267); + let temp = temp * (pow0 - pow2268); + let temp = temp * (pow0 - pow2292); + let temp = temp * (pow0 - pow2293); + let temp = temp * (pow0 - pow2294); + let temp = temp * (pow0 - pow2295); + let temp = temp * (pow0 - pow2296); + let temp = temp * (pow0 - pow2297); + let temp = temp * (pow0 - pow2298); + let temp = temp * (pow0 - pow2299); + let temp = temp * (pow0 - pow2300); + let temp = temp * (pow0 - pow2301); + let temp = temp * (pow0 - pow2302); + let temp = temp * (pow0 - pow2303); + let temp = temp * (pow0 - pow2304); + let temp = temp * (pow0 - pow2305); + let temp = temp * (pow0 - pow2306); + let temp = temp * (pow0 - pow2307); + let temp = temp * (domain66); + let domain68 = temp * (domain67); + let temp = pow0 - pow2121; + let temp = temp * (pow0 - pow2123); + let temp = temp * (pow0 - pow2125); + let temp = temp * (pow0 - pow2127); + let temp = temp * (pow0 - pow2129); + let temp = temp * (pow0 - pow2131); + let temp = temp * (pow0 - pow2133); + let temp = temp * (pow0 - pow2135); + let temp = temp * (pow0 - pow2122); + let temp = temp * (pow0 - pow2124); + let temp = temp * (pow0 - pow2126); + let temp = temp * (pow0 - pow2128); + let temp = temp * (pow0 - pow2130); + let temp = temp * (pow0 - pow2132); + let temp = temp * (pow0 - pow2134); + let temp = temp * (pow0 - pow2152); + let temp = temp * (pow0 - pow2169); + let temp = temp * (pow0 - pow2170); + let temp = temp * (pow0 - pow2171); + let temp = temp * (pow0 - pow2172); + let temp = temp * (pow0 - pow2173); + let temp = temp * (pow0 - pow2174); + let temp = temp * (pow0 - pow2175); + let temp = temp * (pow0 - pow2176); + let temp = temp * (pow0 - pow2208); + let temp = temp * (pow0 - pow2209); + let temp = temp * (pow0 - pow2210); + let temp = temp * (pow0 - pow2211); + let temp = temp * (pow0 - pow2212); + let temp = temp * (pow0 - pow2213); + let temp = temp * (pow0 - pow2214); + let domain69 = temp * (pow0 - pow2215); + let temp = pow0 - pow2097; + let temp = temp * (pow0 - pow2098); + let temp = temp * (pow0 - pow2099); + let temp = temp * (pow0 - pow2100); + let temp = temp * (pow0 - pow2101); + let temp = temp * (pow0 - pow2102); + let temp = temp * (pow0 - pow2103); + let temp = temp * (pow0 - pow2104); + let domain70 = temp * (domain69); + let temp = pow0 - pow2025; + let temp = temp * (pow0 - pow2027); + let temp = temp * (pow0 - pow2029); + let temp = temp * (pow0 - pow2031); + let temp = temp * (pow0 - pow2033); + let temp = temp * (pow0 - pow2035); + let temp = temp * (pow0 - pow2037); + let temp = temp * (pow0 - pow2039); + let temp = temp * (pow0 - pow2026); + let temp = temp * (pow0 - pow2028); + let temp = temp * (pow0 - pow2030); + let temp = temp * (pow0 - pow2032); + let temp = temp * (pow0 - pow2034); + let temp = temp * (pow0 - pow2036); + let temp = temp * (pow0 - pow2038); + let temp = temp * (pow0 - pow2056); + let temp = temp * (pow0 - pow2073); + let temp = temp * (pow0 - pow2074); + let temp = temp * (pow0 - pow2075); + let temp = temp * (pow0 - pow2076); + let temp = temp * (pow0 - pow2077); + let temp = temp * (pow0 - pow2078); + let temp = temp * (pow0 - pow2079); + let temp = temp * (pow0 - pow2080); + let domain71 = temp * (domain70); + let temp = pow0 - pow1994; + let temp = temp * (pow0 - pow1995); + let temp = temp * (pow0 - pow1996); + let temp = temp * (pow0 - pow1997); + let temp = temp * (pow0 - pow1998); + let temp = temp * (pow0 - pow1999); + let temp = temp * (pow0 - pow2000); + let temp = temp * (pow0 - pow2001); + let domain72 = temp * (domain71); + let temp = pow0 - pow1955; + let temp = temp * (pow0 - pow1956); + let temp = temp * (pow0 - pow1957); + let temp = temp * (pow0 - pow1958); + let temp = temp * (pow0 - pow1959); + let temp = temp * (pow0 - pow1960); + let temp = temp * (pow0 - pow1961); + let temp = temp * (pow0 - pow1962); + let domain73 = temp * (domain72); + let temp = pow0 - pow2136; + let temp = temp * (pow0 - pow2137); + let temp = temp * (pow0 - pow2138); + let temp = temp * (pow0 - pow2139); + let temp = temp * (pow0 - pow2140); + let temp = temp * (pow0 - pow2141); + let temp = temp * (pow0 - pow2142); + let temp = temp * (pow0 - pow2143); + let temp = temp * (pow0 - pow2144); + let temp = temp * (pow0 - pow2145); + let temp = temp * (pow0 - pow2146); + let temp = temp * (pow0 - pow2147); + let temp = temp * (pow0 - pow2148); + let temp = temp * (pow0 - pow2149); + let temp = temp * (pow0 - pow2150); + let temp = temp * (pow0 - pow2151); + let temp = temp * (pow0 - pow2153); + let temp = temp * (pow0 - pow2154); + let temp = temp * (pow0 - pow2155); + let temp = temp * (pow0 - pow2156); + let temp = temp * (pow0 - pow2157); + let temp = temp * (pow0 - pow2158); + let temp = temp * (pow0 - pow2159); + let temp = temp * (pow0 - pow2160); + let temp = temp * (pow0 - pow2161); + let temp = temp * (pow0 - pow2162); + let temp = temp * (pow0 - pow2163); + let temp = temp * (pow0 - pow2164); + let temp = temp * (pow0 - pow2165); + let temp = temp * (pow0 - pow2166); + let temp = temp * (pow0 - pow2167); + let temp = temp * (pow0 - pow2168); + let temp = temp * (pow0 - pow2177); + let temp = temp * (pow0 - pow2178); + let temp = temp * (pow0 - pow2179); + let temp = temp * (pow0 - pow2180); + let temp = temp * (pow0 - pow2181); + let temp = temp * (pow0 - pow2182); + let temp = temp * (pow0 - pow2183); + let temp = temp * (pow0 - pow2184); + let temp = temp * (pow0 - pow2185); + let temp = temp * (pow0 - pow2186); + let temp = temp * (pow0 - pow2187); + let temp = temp * (pow0 - pow2188); + let temp = temp * (pow0 - pow2189); + let temp = temp * (pow0 - pow2190); + let temp = temp * (pow0 - pow2191); + let temp = temp * (pow0 - pow2192); + let temp = temp * (pow0 - pow2216); + let temp = temp * (pow0 - pow2217); + let temp = temp * (pow0 - pow2218); + let temp = temp * (pow0 - pow2219); + let temp = temp * (pow0 - pow2220); + let temp = temp * (pow0 - pow2221); + let temp = temp * (pow0 - pow2222); + let temp = temp * (pow0 - pow2223); + let temp = temp * (pow0 - pow2224); + let temp = temp * (pow0 - pow2225); + let temp = temp * (pow0 - pow2226); + let temp = temp * (pow0 - pow2227); + let temp = temp * (pow0 - pow2228); + let temp = temp * (pow0 - pow2229); + let temp = temp * (pow0 - pow2230); + let temp = temp * (pow0 - pow2231); + let domain74 = temp * (domain68); + let temp = pow0 - pow2105; + let temp = temp * (pow0 - pow2106); + let temp = temp * (pow0 - pow2107); + let temp = temp * (pow0 - pow2108); + let temp = temp * (pow0 - pow2109); + let temp = temp * (pow0 - pow2110); + let temp = temp * (pow0 - pow2111); + let temp = temp * (pow0 - pow2112); + let temp = temp * (pow0 - pow2113); + let temp = temp * (pow0 - pow2114); + let temp = temp * (pow0 - pow2115); + let temp = temp * (pow0 - pow2116); + let temp = temp * (pow0 - pow2117); + let temp = temp * (pow0 - pow2118); + let temp = temp * (pow0 - pow2119); + let temp = temp * (pow0 - pow2120); + let domain75 = temp * (domain74); + let temp = pow0 - pow2040; + let temp = temp * (pow0 - pow2041); + let temp = temp * (pow0 - pow2042); + let temp = temp * (pow0 - pow2043); + let temp = temp * (pow0 - pow2044); + let temp = temp * (pow0 - pow2045); + let temp = temp * (pow0 - pow2046); + let temp = temp * (pow0 - pow2047); + let temp = temp * (pow0 - pow2048); + let temp = temp * (pow0 - pow2049); + let temp = temp * (pow0 - pow2050); + let temp = temp * (pow0 - pow2051); + let temp = temp * (pow0 - pow2052); + let temp = temp * (pow0 - pow2053); + let temp = temp * (pow0 - pow2054); + let temp = temp * (pow0 - pow2055); + let temp = temp * (pow0 - pow2057); + let temp = temp * (pow0 - pow2058); + let temp = temp * (pow0 - pow2059); + let temp = temp * (pow0 - pow2060); + let temp = temp * (pow0 - pow2061); + let temp = temp * (pow0 - pow2062); + let temp = temp * (pow0 - pow2063); + let temp = temp * (pow0 - pow2064); + let temp = temp * (pow0 - pow2065); + let temp = temp * (pow0 - pow2066); + let temp = temp * (pow0 - pow2067); + let temp = temp * (pow0 - pow2068); + let temp = temp * (pow0 - pow2069); + let temp = temp * (pow0 - pow2070); + let temp = temp * (pow0 - pow2071); + let temp = temp * (pow0 - pow2072); + let temp = temp * (pow0 - pow2081); + let temp = temp * (pow0 - pow2082); + let temp = temp * (pow0 - pow2083); + let temp = temp * (pow0 - pow2084); + let temp = temp * (pow0 - pow2085); + let temp = temp * (pow0 - pow2086); + let temp = temp * (pow0 - pow2087); + let temp = temp * (pow0 - pow2088); + let temp = temp * (pow0 - pow2089); + let temp = temp * (pow0 - pow2090); + let temp = temp * (pow0 - pow2091); + let temp = temp * (pow0 - pow2092); + let temp = temp * (pow0 - pow2093); + let temp = temp * (pow0 - pow2094); + let temp = temp * (pow0 - pow2095); + let temp = temp * (pow0 - pow2096); + let domain76 = temp * (domain75); + let temp = pow0 - pow2002; + let temp = temp * (pow0 - pow2003); + let temp = temp * (pow0 - pow2004); + let temp = temp * (pow0 - pow2005); + let temp = temp * (pow0 - pow2006); + let temp = temp * (pow0 - pow2007); + let temp = temp * (pow0 - pow2008); + let temp = temp * (pow0 - pow2009); + let temp = temp * (pow0 - pow2010); + let temp = temp * (pow0 - pow2011); + let temp = temp * (pow0 - pow2012); + let temp = temp * (pow0 - pow2013); + let temp = temp * (pow0 - pow2014); + let temp = temp * (pow0 - pow2015); + let temp = temp * (pow0 - pow2016); + let temp = temp * (pow0 - pow2017); + let domain77 = temp * (domain76); + let temp = pow0 - pow1963; + let temp = temp * (pow0 - pow1964); + let temp = temp * (pow0 - pow1965); + let temp = temp * (pow0 - pow1966); + let temp = temp * (pow0 - pow1967); + let temp = temp * (pow0 - pow1968); + let temp = temp * (pow0 - pow1969); + let temp = temp * (pow0 - pow1970); + let temp = temp * (pow0 - pow1971); + let temp = temp * (pow0 - pow1972); + let temp = temp * (pow0 - pow1973); + let temp = temp * (pow0 - pow1974); + let temp = temp * (pow0 - pow1975); + let temp = temp * (pow0 - pow1976); + let temp = temp * (pow0 - pow1977); + let temp = temp * (pow0 - pow1978); + let temp = temp * (domain73); + let domain78 = temp * (domain77); + let temp = pow0 - pow1924; + let temp = temp * (pow0 - pow1925); + let temp = temp * (pow0 - pow1926); + let temp = temp * (pow0 - pow1927); + let temp = temp * (pow0 - pow1928); + let temp = temp * (pow0 - pow1929); + let temp = temp * (pow0 - pow1930); + let domain79 = temp * (pow0 - pow1931); + let temp = pow0 - pow1932; + let temp = temp * (pow0 - pow1933); + let temp = temp * (pow0 - pow1934); + let temp = temp * (pow0 - pow1935); + let temp = temp * (pow0 - pow1936); + let temp = temp * (pow0 - pow1937); + let temp = temp * (pow0 - pow1938); + let temp = temp * (pow0 - pow1939); + let temp = temp * (pow0 - pow1940); + let temp = temp * (pow0 - pow1941); + let temp = temp * (pow0 - pow1942); + let temp = temp * (pow0 - pow1943); + let temp = temp * (pow0 - pow1944); + let temp = temp * (pow0 - pow1945); + let temp = temp * (pow0 - pow1946); + let temp = temp * (pow0 - pow1947); + let temp = temp * (domain78); + let domain80 = temp * (domain79); + let temp = pow0 - pow1854; + let temp = temp * (pow0 - pow1855); + let temp = temp * (pow0 - pow1856); + let temp = temp * (pow0 - pow1857); + let temp = temp * (pow0 - pow1858); + let temp = temp * (pow0 - pow1859); + let temp = temp * (pow0 - pow1860); + let temp = temp * (pow0 - pow1861); + let temp = temp * (pow0 - pow1885); + let temp = temp * (pow0 - pow1886); + let temp = temp * (pow0 - pow1887); + let temp = temp * (pow0 - pow1888); + let temp = temp * (pow0 - pow1889); + let temp = temp * (pow0 - pow1890); + let temp = temp * (pow0 - pow1891); + let domain81 = temp * (pow0 - pow1892); + let temp = pow0 - pow1791; + let temp = temp * (pow0 - pow1792); + let temp = temp * (pow0 - pow1793); + let temp = temp * (pow0 - pow1794); + let temp = temp * (pow0 - pow1795); + let temp = temp * (pow0 - pow1796); + let temp = temp * (pow0 - pow1797); + let temp = temp * (pow0 - pow1798); + let temp = temp * (pow0 - pow1815); + let temp = temp * (pow0 - pow1816); + let temp = temp * (pow0 - pow1817); + let temp = temp * (pow0 - pow1818); + let temp = temp * (pow0 - pow1819); + let temp = temp * (pow0 - pow1820); + let temp = temp * (pow0 - pow1821); + let temp = temp * (pow0 - pow1822); + let domain82 = temp * (domain81); + let temp = pow0 - pow1799; + let temp = temp * (pow0 - pow1800); + let temp = temp * (pow0 - pow1801); + let temp = temp * (pow0 - pow1802); + let temp = temp * (pow0 - pow1803); + let temp = temp * (pow0 - pow1804); + let temp = temp * (pow0 - pow1805); + let temp = temp * (pow0 - pow1806); + let temp = temp * (pow0 - pow1807); + let temp = temp * (pow0 - pow1808); + let temp = temp * (pow0 - pow1809); + let temp = temp * (pow0 - pow1810); + let temp = temp * (pow0 - pow1811); + let temp = temp * (pow0 - pow1812); + let temp = temp * (pow0 - pow1813); + let temp = temp * (pow0 - pow1814); + let temp = temp * (pow0 - pow1823); + let temp = temp * (pow0 - pow1824); + let temp = temp * (pow0 - pow1825); + let temp = temp * (pow0 - pow1826); + let temp = temp * (pow0 - pow1827); + let temp = temp * (pow0 - pow1828); + let temp = temp * (pow0 - pow1829); + let temp = temp * (pow0 - pow1830); + let temp = temp * (pow0 - pow1831); + let temp = temp * (pow0 - pow1832); + let temp = temp * (pow0 - pow1833); + let temp = temp * (pow0 - pow1834); + let temp = temp * (pow0 - pow1835); + let temp = temp * (pow0 - pow1836); + let temp = temp * (pow0 - pow1837); + let temp = temp * (pow0 - pow1838); + let temp = temp * (pow0 - pow1862); + let temp = temp * (pow0 - pow1863); + let temp = temp * (pow0 - pow1864); + let temp = temp * (pow0 - pow1865); + let temp = temp * (pow0 - pow1866); + let temp = temp * (pow0 - pow1867); + let temp = temp * (pow0 - pow1868); + let temp = temp * (pow0 - pow1869); + let temp = temp * (pow0 - pow1870); + let temp = temp * (pow0 - pow1871); + let temp = temp * (pow0 - pow1872); + let temp = temp * (pow0 - pow1873); + let temp = temp * (pow0 - pow1874); + let temp = temp * (pow0 - pow1875); + let temp = temp * (pow0 - pow1876); + let temp = temp * (pow0 - pow1877); + let temp = temp * (pow0 - pow1893); + let temp = temp * (pow0 - pow1894); + let temp = temp * (pow0 - pow1895); + let temp = temp * (pow0 - pow1896); + let temp = temp * (pow0 - pow1897); + let temp = temp * (pow0 - pow1898); + let temp = temp * (pow0 - pow1899); + let temp = temp * (pow0 - pow1900); + let temp = temp * (pow0 - pow1901); + let temp = temp * (pow0 - pow1902); + let temp = temp * (pow0 - pow1903); + let temp = temp * (pow0 - pow1904); + let temp = temp * (pow0 - pow1905); + let temp = temp * (pow0 - pow1906); + let temp = temp * (pow0 - pow1907); + let temp = temp * (pow0 - pow1908); + let temp = temp * (domain80); + let domain83 = temp * (domain82); + let temp = pow0 - pow1743; + let temp = temp * (pow0 - pow1744); + let temp = temp * (pow0 - pow1745); + let temp = temp * (pow0 - pow1746); + let temp = temp * (pow0 - pow1747); + let temp = temp * (pow0 - pow1748); + let temp = temp * (pow0 - pow1749); + let temp = temp * (pow0 - pow1750); + let temp = temp * (pow0 - pow1751); + let temp = temp * (pow0 - pow1752); + let temp = temp * (pow0 - pow1753); + let temp = temp * (pow0 - pow1754); + let temp = temp * (pow0 - pow1755); + let temp = temp * (pow0 - pow1756); + let temp = temp * (pow0 - pow1757); + let temp = temp * (pow0 - pow1758); + let temp = temp * (pow0 - pow1759); + let temp = temp * (pow0 - pow1760); + let temp = temp * (pow0 - pow1761); + let temp = temp * (pow0 - pow1762); + let temp = temp * (pow0 - pow1763); + let temp = temp * (pow0 - pow1764); + let temp = temp * (pow0 - pow1765); + let temp = temp * (pow0 - pow1766); + let temp = temp * (pow0 - pow1767); + let temp = temp * (pow0 - pow1768); + let temp = temp * (pow0 - pow1769); + let temp = temp * (pow0 - pow1770); + let temp = temp * (pow0 - pow1771); + let temp = temp * (pow0 - pow1772); + let temp = temp * (pow0 - pow1773); + let temp = temp * (pow0 - pow1774); + let temp = temp * (pow0 - pow1775); + let temp = temp * (pow0 - pow1776); + let temp = temp * (pow0 - pow1777); + let temp = temp * (pow0 - pow1778); + let temp = temp * (pow0 - pow1779); + let temp = temp * (pow0 - pow1780); + let temp = temp * (pow0 - pow1781); + let temp = temp * (pow0 - pow1782); + let temp = temp * (pow0 - pow1783); + let temp = temp * (pow0 - pow1784); + let temp = temp * (pow0 - pow1785); + let temp = temp * (pow0 - pow1786); + let temp = temp * (pow0 - pow1787); + let temp = temp * (pow0 - pow1788); + let temp = temp * (pow0 - pow1789); + let temp = temp * (pow0 - pow1790); + let domain84 = temp * (domain83); + let temp = pow0 - pow1719; + let temp = temp * (pow0 - pow1720); + let temp = temp * (pow0 - pow1721); + let temp = temp * (pow0 - pow1722); + let temp = temp * (pow0 - pow1723); + let temp = temp * (pow0 - pow1724); + let temp = temp * (pow0 - pow1725); + let temp = temp * (pow0 - pow1726); + let temp = temp * (pow0 - pow1727); + let temp = temp * (pow0 - pow1728); + let temp = temp * (pow0 - pow1729); + let temp = temp * (pow0 - pow1730); + let temp = temp * (pow0 - pow1731); + let temp = temp * (pow0 - pow1732); + let temp = temp * (pow0 - pow1733); + let temp = temp * (pow0 - pow1734); + let temp = temp * (pow0 - pow1735); + let temp = temp * (pow0 - pow1736); + let temp = temp * (pow0 - pow1737); + let temp = temp * (pow0 - pow1738); + let temp = temp * (pow0 - pow1739); + let temp = temp * (pow0 - pow1740); + let temp = temp * (pow0 - pow1741); + let temp = temp * (pow0 - pow1742); + let domain85 = temp * (domain84); + let temp = pow0 - pow824; + let temp = temp * (pow0 - pow825); + let temp = temp * (pow0 - pow826); + let temp = temp * (pow0 - pow827); + let temp = temp * (pow0 - pow828); + let temp = temp * (pow0 - pow829); + let temp = temp * (pow0 - pow830); + let domain86 = temp * (pow0 - pow831); + let temp = pow0 - pow863; + let temp = temp * (pow0 - pow864); + let temp = temp * (pow0 - pow865); + let temp = temp * (pow0 - pow866); + let temp = temp * (pow0 - pow867); + let temp = temp * (pow0 - pow868); + let temp = temp * (pow0 - pow869); + let domain87 = temp * (pow0 - pow870); + let temp = pow0 - pow894; + let temp = temp * (pow0 - pow895); + let temp = temp * (pow0 - pow896); + let temp = temp * (pow0 - pow897); + let temp = temp * (pow0 - pow898); + let temp = temp * (pow0 - pow899); + let temp = temp * (pow0 - pow900); + let temp = temp * (pow0 - pow901); + let temp = temp * (pow0 - pow933); + let temp = temp * (pow0 - pow934); + let temp = temp * (pow0 - pow935); + let temp = temp * (pow0 - pow936); + let temp = temp * (pow0 - pow937); + let temp = temp * (pow0 - pow938); + let temp = temp * (pow0 - pow939); + let temp = temp * (pow0 - pow940); + let temp = temp * (domain86); + let domain88 = temp * (domain87); + let temp = pow0 - pow832; + let temp = temp * (pow0 - pow833); + let temp = temp * (pow0 - pow834); + let temp = temp * (pow0 - pow835); + let temp = temp * (pow0 - pow836); + let temp = temp * (pow0 - pow837); + let temp = temp * (pow0 - pow838); + let temp = temp * (pow0 - pow839); + let temp = temp * (pow0 - pow840); + let temp = temp * (pow0 - pow841); + let temp = temp * (pow0 - pow842); + let temp = temp * (pow0 - pow843); + let temp = temp * (pow0 - pow844); + let temp = temp * (pow0 - pow845); + let temp = temp * (pow0 - pow846); + let temp = temp * (pow0 - pow847); + let domain89 = temp * (domain57); + let temp = pow0 - pow871; + let temp = temp * (pow0 - pow872); + let temp = temp * (pow0 - pow873); + let temp = temp * (pow0 - pow874); + let temp = temp * (pow0 - pow875); + let temp = temp * (pow0 - pow876); + let temp = temp * (pow0 - pow877); + let temp = temp * (pow0 - pow878); + let temp = temp * (pow0 - pow879); + let temp = temp * (pow0 - pow880); + let temp = temp * (pow0 - pow881); + let temp = temp * (pow0 - pow882); + let temp = temp * (pow0 - pow883); + let temp = temp * (pow0 - pow884); + let temp = temp * (pow0 - pow885); + let domain90 = temp * (pow0 - pow886); + let temp = pow0 - pow902; + let temp = temp * (pow0 - pow903); + let temp = temp * (pow0 - pow904); + let temp = temp * (pow0 - pow905); + let temp = temp * (pow0 - pow906); + let temp = temp * (pow0 - pow907); + let temp = temp * (pow0 - pow908); + let temp = temp * (pow0 - pow909); + let temp = temp * (pow0 - pow910); + let temp = temp * (pow0 - pow911); + let temp = temp * (pow0 - pow912); + let temp = temp * (pow0 - pow913); + let temp = temp * (pow0 - pow914); + let temp = temp * (pow0 - pow915); + let temp = temp * (pow0 - pow916); + let temp = temp * (pow0 - pow917); + let temp = temp * (pow0 - pow941); + let temp = temp * (pow0 - pow942); + let temp = temp * (pow0 - pow943); + let temp = temp * (pow0 - pow944); + let temp = temp * (pow0 - pow945); + let temp = temp * (pow0 - pow946); + let temp = temp * (pow0 - pow947); + let temp = temp * (pow0 - pow948); + let temp = temp * (pow0 - pow949); + let temp = temp * (pow0 - pow950); + let temp = temp * (pow0 - pow951); + let temp = temp * (pow0 - pow952); + let temp = temp * (pow0 - pow953); + let temp = temp * (pow0 - pow954); + let temp = temp * (pow0 - pow955); + let temp = temp * (pow0 - pow956); + let temp = temp * (domain88); + let temp = temp * (domain89); + let domain91 = temp * (domain90); + let temp = pow0 - pow988; + let temp = temp * (pow0 - pow989); + let temp = temp * (pow0 - pow990); + let temp = temp * (pow0 - pow991); + let temp = temp * (pow0 - pow992); + let temp = temp * (pow0 - pow993); + let temp = temp * (pow0 - pow994); + let domain92 = temp * (pow0 - pow995); + let temp = pow0 - pow964; + let temp = temp * (pow0 - pow965); + let temp = temp * (pow0 - pow966); + let temp = temp * (pow0 - pow967); + let temp = temp * (pow0 - pow968); + let temp = temp * (pow0 - pow969); + let temp = temp * (pow0 - pow970); + let temp = temp * (pow0 - pow971); + let domain93 = temp * (domain92); + let temp = pow0 - pow1012; + let temp = temp * (pow0 - pow1013); + let temp = temp * (pow0 - pow1014); + let temp = temp * (pow0 - pow1015); + let temp = temp * (pow0 - pow1016); + let temp = temp * (pow0 - pow1017); + let temp = temp * (pow0 - pow1018); + let temp = temp * (pow0 - pow1019); + let domain94 = temp * (domain93); + let temp = pow0 - pow1036; + let temp = temp * (pow0 - pow1037); + let temp = temp * (pow0 - pow1038); + let temp = temp * (pow0 - pow1039); + let temp = temp * (pow0 - pow1040); + let temp = temp * (pow0 - pow1041); + let temp = temp * (pow0 - pow1042); + let temp = temp * (pow0 - pow1043); + let domain95 = temp * (domain94); + let temp = pow0 - pow996; + let temp = temp * (pow0 - pow997); + let temp = temp * (pow0 - pow998); + let temp = temp * (pow0 - pow999); + let temp = temp * (pow0 - pow1000); + let temp = temp * (pow0 - pow1001); + let temp = temp * (pow0 - pow1002); + let temp = temp * (pow0 - pow1003); + let temp = temp * (pow0 - pow1004); + let temp = temp * (pow0 - pow1005); + let temp = temp * (pow0 - pow1006); + let temp = temp * (pow0 - pow1007); + let temp = temp * (pow0 - pow1008); + let temp = temp * (pow0 - pow1009); + let temp = temp * (pow0 - pow1010); + let domain96 = temp * (pow0 - pow1011); + let temp = pow0 - pow972; + let temp = temp * (pow0 - pow973); + let temp = temp * (pow0 - pow974); + let temp = temp * (pow0 - pow975); + let temp = temp * (pow0 - pow976); + let temp = temp * (pow0 - pow977); + let temp = temp * (pow0 - pow978); + let temp = temp * (pow0 - pow979); + let temp = temp * (pow0 - pow980); + let temp = temp * (pow0 - pow981); + let temp = temp * (pow0 - pow982); + let temp = temp * (pow0 - pow983); + let temp = temp * (pow0 - pow984); + let temp = temp * (pow0 - pow985); + let temp = temp * (pow0 - pow986); + let temp = temp * (pow0 - pow987); + let temp = temp * (domain91); + let domain97 = temp * (domain96); + let temp = pow0 - pow1020; + let temp = temp * (pow0 - pow1021); + let temp = temp * (pow0 - pow1022); + let temp = temp * (pow0 - pow1023); + let temp = temp * (pow0 - pow1024); + let temp = temp * (pow0 - pow1025); + let temp = temp * (pow0 - pow1026); + let temp = temp * (pow0 - pow1027); + let temp = temp * (pow0 - pow1028); + let temp = temp * (pow0 - pow1029); + let temp = temp * (pow0 - pow1030); + let temp = temp * (pow0 - pow1031); + let temp = temp * (pow0 - pow1032); + let temp = temp * (pow0 - pow1033); + let temp = temp * (pow0 - pow1034); + let temp = temp * (pow0 - pow1035); + let temp = temp * (pow0 - pow1044); + let temp = temp * (pow0 - pow1045); + let temp = temp * (pow0 - pow1046); + let temp = temp * (pow0 - pow1047); + let temp = temp * (pow0 - pow1048); + let temp = temp * (pow0 - pow1049); + let temp = temp * (pow0 - pow1050); + let temp = temp * (pow0 - pow1051); + let temp = temp * (pow0 - pow1052); + let temp = temp * (pow0 - pow1053); + let temp = temp * (pow0 - pow1054); + let temp = temp * (pow0 - pow1055); + let temp = temp * (pow0 - pow1056); + let temp = temp * (pow0 - pow1057); + let temp = temp * (pow0 - pow1058); + let temp = temp * (pow0 - pow1059); + let temp = temp * (domain95); + let domain98 = temp * (domain97); + let temp = pow0 - pow1060; + let temp = temp * (pow0 - pow1061); + let temp = temp * (pow0 - pow1062); + let temp = temp * (pow0 - pow1063); + let temp = temp * (pow0 - pow1064); + let temp = temp * (pow0 - pow1065); + let temp = temp * (pow0 - pow1066); + let temp = temp * (pow0 - pow1067); + let temp = temp * (pow0 - pow1099); + let temp = temp * (pow0 - pow1100); + let temp = temp * (pow0 - pow1101); + let temp = temp * (pow0 - pow1102); + let temp = temp * (pow0 - pow1103); + let temp = temp * (pow0 - pow1104); + let temp = temp * (pow0 - pow1105); + let temp = temp * (pow0 - pow1106); + let temp = temp * (pow0 - pow1130); + let temp = temp * (pow0 - pow1131); + let temp = temp * (pow0 - pow1132); + let temp = temp * (pow0 - pow1133); + let temp = temp * (pow0 - pow1134); + let temp = temp * (pow0 - pow1135); + let temp = temp * (pow0 - pow1136); + let temp = temp * (pow0 - pow1137); + let temp = temp * (pow0 - pow1169); + let temp = temp * (pow0 - pow1170); + let temp = temp * (pow0 - pow1171); + let temp = temp * (pow0 - pow1172); + let temp = temp * (pow0 - pow1173); + let temp = temp * (pow0 - pow1174); + let temp = temp * (pow0 - pow1175); + let domain99 = temp * (pow0 - pow1176); + let temp = pow0 - pow1200; + let temp = temp * (pow0 - pow1201); + let temp = temp * (pow0 - pow1202); + let temp = temp * (pow0 - pow1203); + let temp = temp * (pow0 - pow1204); + let temp = temp * (pow0 - pow1205); + let temp = temp * (pow0 - pow1206); + let temp = temp * (pow0 - pow1207); + let domain100 = temp * (domain99); + let temp = pow0 - pow1239; + let temp = temp * (pow0 - pow1240); + let temp = temp * (pow0 - pow1241); + let temp = temp * (pow0 - pow1242); + let temp = temp * (pow0 - pow1243); + let temp = temp * (pow0 - pow1244); + let temp = temp * (pow0 - pow1245); + let domain101 = temp * (pow0 - pow1246); + let temp = pow0 - pow1270; + let temp = temp * (pow0 - pow1274); + let temp = temp * (pow0 - pow1278); + let temp = temp * (pow0 - pow1282); + let temp = temp * (pow0 - pow1286); + let temp = temp * (pow0 - pow1290); + let temp = temp * (pow0 - pow1294); + let temp = temp * (pow0 - pow1298); + let temp = temp * (pow0 - pow1271); + let temp = temp * (pow0 - pow1275); + let temp = temp * (pow0 - pow1279); + let temp = temp * (pow0 - pow1283); + let temp = temp * (pow0 - pow1287); + let temp = temp * (pow0 - pow1291); + let temp = temp * (pow0 - pow1295); + let temp = temp * (pow0 - pow1300); + let temp = temp * (domain100); + let domain102 = temp * (domain101); + let temp = pow0 - pow1272; + let temp = temp * (pow0 - pow1276); + let temp = temp * (pow0 - pow1280); + let temp = temp * (pow0 - pow1284); + let temp = temp * (pow0 - pow1288); + let temp = temp * (pow0 - pow1292); + let temp = temp * (pow0 - pow1296); + let temp = temp * (pow0 - pow1302); + let domain103 = temp * (domain102); + let temp = pow0 - pow1273; + let temp = temp * (pow0 - pow1277); + let temp = temp * (pow0 - pow1281); + let temp = temp * (pow0 - pow1285); + let temp = temp * (pow0 - pow1289); + let temp = temp * (pow0 - pow1293); + let temp = temp * (pow0 - pow1297); + let temp = temp * (pow0 - pow1304); + let domain104 = temp * (domain103); + let temp = pow0 - pow1068; + let temp = temp * (pow0 - pow1069); + let temp = temp * (pow0 - pow1070); + let temp = temp * (pow0 - pow1071); + let temp = temp * (pow0 - pow1072); + let temp = temp * (pow0 - pow1073); + let temp = temp * (pow0 - pow1074); + let temp = temp * (pow0 - pow1075); + let temp = temp * (pow0 - pow1076); + let temp = temp * (pow0 - pow1077); + let temp = temp * (pow0 - pow1078); + let temp = temp * (pow0 - pow1079); + let temp = temp * (pow0 - pow1080); + let temp = temp * (pow0 - pow1081); + let temp = temp * (pow0 - pow1082); + let temp = temp * (pow0 - pow1083); + let temp = temp * (pow0 - pow1107); + let temp = temp * (pow0 - pow1108); + let temp = temp * (pow0 - pow1109); + let temp = temp * (pow0 - pow1110); + let temp = temp * (pow0 - pow1111); + let temp = temp * (pow0 - pow1112); + let temp = temp * (pow0 - pow1113); + let temp = temp * (pow0 - pow1114); + let temp = temp * (pow0 - pow1115); + let temp = temp * (pow0 - pow1116); + let temp = temp * (pow0 - pow1117); + let temp = temp * (pow0 - pow1118); + let temp = temp * (pow0 - pow1119); + let temp = temp * (pow0 - pow1120); + let temp = temp * (pow0 - pow1121); + let temp = temp * (pow0 - pow1122); + let temp = temp * (pow0 - pow1138); + let temp = temp * (pow0 - pow1139); + let temp = temp * (pow0 - pow1140); + let temp = temp * (pow0 - pow1141); + let temp = temp * (pow0 - pow1142); + let temp = temp * (pow0 - pow1143); + let temp = temp * (pow0 - pow1144); + let temp = temp * (pow0 - pow1145); + let temp = temp * (pow0 - pow1146); + let temp = temp * (pow0 - pow1147); + let temp = temp * (pow0 - pow1148); + let temp = temp * (pow0 - pow1149); + let temp = temp * (pow0 - pow1150); + let temp = temp * (pow0 - pow1151); + let temp = temp * (pow0 - pow1152); + let temp = temp * (pow0 - pow1153); + let temp = temp * (pow0 - pow1177); + let temp = temp * (pow0 - pow1178); + let temp = temp * (pow0 - pow1179); + let temp = temp * (pow0 - pow1180); + let temp = temp * (pow0 - pow1181); + let temp = temp * (pow0 - pow1182); + let temp = temp * (pow0 - pow1183); + let temp = temp * (pow0 - pow1184); + let temp = temp * (pow0 - pow1185); + let temp = temp * (pow0 - pow1186); + let temp = temp * (pow0 - pow1187); + let temp = temp * (pow0 - pow1188); + let temp = temp * (pow0 - pow1189); + let temp = temp * (pow0 - pow1190); + let temp = temp * (pow0 - pow1191); + let temp = temp * (pow0 - pow1192); + let domain105 = temp * (domain98); + let temp = pow0 - pow1208; + let temp = temp * (pow0 - pow1209); + let temp = temp * (pow0 - pow1210); + let temp = temp * (pow0 - pow1211); + let temp = temp * (pow0 - pow1212); + let temp = temp * (pow0 - pow1213); + let temp = temp * (pow0 - pow1214); + let temp = temp * (pow0 - pow1215); + let temp = temp * (pow0 - pow1216); + let temp = temp * (pow0 - pow1217); + let temp = temp * (pow0 - pow1218); + let temp = temp * (pow0 - pow1219); + let temp = temp * (pow0 - pow1220); + let temp = temp * (pow0 - pow1221); + let temp = temp * (pow0 - pow1222); + let temp = temp * (pow0 - pow1223); + let domain106 = temp * (domain105); + let temp = pow0 - pow1247; + let temp = temp * (pow0 - pow1248); + let temp = temp * (pow0 - pow1249); + let temp = temp * (pow0 - pow1250); + let temp = temp * (pow0 - pow1251); + let temp = temp * (pow0 - pow1252); + let temp = temp * (pow0 - pow1253); + let temp = temp * (pow0 - pow1254); + let temp = temp * (pow0 - pow1255); + let temp = temp * (pow0 - pow1256); + let temp = temp * (pow0 - pow1257); + let temp = temp * (pow0 - pow1258); + let temp = temp * (pow0 - pow1259); + let temp = temp * (pow0 - pow1260); + let temp = temp * (pow0 - pow1261); + let domain107 = temp * (pow0 - pow1262); + let temp = pow0 - pow1299; + let temp = temp * (pow0 - pow1306); + let temp = temp * (pow0 - pow1310); + let temp = temp * (pow0 - pow1314); + let temp = temp * (pow0 - pow1318); + let temp = temp * (pow0 - pow1322); + let temp = temp * (pow0 - pow1326); + let temp = temp * (pow0 - pow1330); + let temp = temp * (pow0 - pow1334); + let temp = temp * (pow0 - pow1338); + let temp = temp * (pow0 - pow1342); + let temp = temp * (pow0 - pow1346); + let temp = temp * (pow0 - pow1350); + let temp = temp * (pow0 - pow1354); + let temp = temp * (pow0 - pow1358); + let temp = temp * (pow0 - pow1362); + let temp = temp * (pow0 - pow1301); + let temp = temp * (pow0 - pow1307); + let temp = temp * (pow0 - pow1311); + let temp = temp * (pow0 - pow1315); + let temp = temp * (pow0 - pow1319); + let temp = temp * (pow0 - pow1323); + let temp = temp * (pow0 - pow1327); + let temp = temp * (pow0 - pow1331); + let temp = temp * (pow0 - pow1335); + let temp = temp * (pow0 - pow1339); + let temp = temp * (pow0 - pow1343); + let temp = temp * (pow0 - pow1347); + let temp = temp * (pow0 - pow1351); + let temp = temp * (pow0 - pow1355); + let temp = temp * (pow0 - pow1359); + let temp = temp * (pow0 - pow1363); + let temp = temp * (domain106); + let domain108 = temp * (domain107); + let temp = pow0 - pow1303; + let temp = temp * (pow0 - pow1308); + let temp = temp * (pow0 - pow1312); + let temp = temp * (pow0 - pow1316); + let temp = temp * (pow0 - pow1320); + let temp = temp * (pow0 - pow1324); + let temp = temp * (pow0 - pow1328); + let temp = temp * (pow0 - pow1332); + let temp = temp * (pow0 - pow1336); + let temp = temp * (pow0 - pow1340); + let temp = temp * (pow0 - pow1344); + let temp = temp * (pow0 - pow1348); + let temp = temp * (pow0 - pow1352); + let temp = temp * (pow0 - pow1356); + let temp = temp * (pow0 - pow1360); + let temp = temp * (pow0 - pow1364); + let domain109 = temp * (domain108); + let temp = pow0 - pow1305; + let temp = temp * (pow0 - pow1309); + let temp = temp * (pow0 - pow1313); + let temp = temp * (pow0 - pow1317); + let temp = temp * (pow0 - pow1321); + let temp = temp * (pow0 - pow1325); + let temp = temp * (pow0 - pow1329); + let temp = temp * (pow0 - pow1333); + let temp = temp * (pow0 - pow1337); + let temp = temp * (pow0 - pow1341); + let temp = temp * (pow0 - pow1345); + let temp = temp * (pow0 - pow1349); + let temp = temp * (pow0 - pow1353); + let temp = temp * (pow0 - pow1357); + let temp = temp * (pow0 - pow1361); + let temp = temp * (pow0 - pow1365); + let temp = temp * (domain104); + let domain110 = temp * (domain109); + let temp = pow0 - pow1366; + let temp = temp * (pow0 - pow1367); + let temp = temp * (pow0 - pow1368); + let temp = temp * (pow0 - pow1369); + let temp = temp * (pow0 - pow1370); + let temp = temp * (pow0 - pow1371); + let temp = temp * (pow0 - pow1372); + let domain111 = temp * (pow0 - pow1373); + let temp = pow0 - pow1374; + let temp = temp * (pow0 - pow1375); + let temp = temp * (pow0 - pow1376); + let temp = temp * (pow0 - pow1377); + let temp = temp * (pow0 - pow1378); + let temp = temp * (pow0 - pow1379); + let temp = temp * (pow0 - pow1380); + let temp = temp * (pow0 - pow1381); + let temp = temp * (pow0 - pow1382); + let temp = temp * (pow0 - pow1383); + let temp = temp * (pow0 - pow1384); + let temp = temp * (pow0 - pow1385); + let temp = temp * (pow0 - pow1386); + let temp = temp * (pow0 - pow1387); + let temp = temp * (pow0 - pow1388); + let temp = temp * (pow0 - pow1389); + let temp = temp * (domain110); + let domain112 = temp * (domain111); + let temp = pow0 - pow1405; + let temp = temp * (pow0 - pow1406); + let temp = temp * (pow0 - pow1407); + let temp = temp * (pow0 - pow1408); + let temp = temp * (pow0 - pow1409); + let temp = temp * (pow0 - pow1410); + let temp = temp * (pow0 - pow1411); + let temp = temp * (pow0 - pow1412); + let temp = temp * (pow0 - pow1436); + let temp = temp * (pow0 - pow1437); + let temp = temp * (pow0 - pow1438); + let temp = temp * (pow0 - pow1439); + let temp = temp * (pow0 - pow1440); + let temp = temp * (pow0 - pow1441); + let temp = temp * (pow0 - pow1442); + let domain113 = temp * (pow0 - pow1443); + let temp = pow0 - pow1475; + let temp = temp * (pow0 - pow1476); + let temp = temp * (pow0 - pow1477); + let temp = temp * (pow0 - pow1478); + let temp = temp * (pow0 - pow1479); + let temp = temp * (pow0 - pow1480); + let temp = temp * (pow0 - pow1481); + let temp = temp * (pow0 - pow1482); + let temp = temp * (pow0 - pow1506); + let temp = temp * (pow0 - pow1507); + let temp = temp * (pow0 - pow1508); + let temp = temp * (pow0 - pow1509); + let temp = temp * (pow0 - pow1510); + let temp = temp * (pow0 - pow1511); + let temp = temp * (pow0 - pow1512); + let temp = temp * (pow0 - pow1513); + let domain114 = temp * (domain113); + let temp = pow0 - pow1413; + let temp = temp * (pow0 - pow1414); + let temp = temp * (pow0 - pow1415); + let temp = temp * (pow0 - pow1416); + let temp = temp * (pow0 - pow1417); + let temp = temp * (pow0 - pow1418); + let temp = temp * (pow0 - pow1419); + let temp = temp * (pow0 - pow1420); + let temp = temp * (pow0 - pow1421); + let temp = temp * (pow0 - pow1422); + let temp = temp * (pow0 - pow1423); + let temp = temp * (pow0 - pow1424); + let temp = temp * (pow0 - pow1425); + let temp = temp * (pow0 - pow1426); + let temp = temp * (pow0 - pow1427); + let temp = temp * (pow0 - pow1428); + let temp = temp * (pow0 - pow1444); + let temp = temp * (pow0 - pow1445); + let temp = temp * (pow0 - pow1446); + let temp = temp * (pow0 - pow1447); + let temp = temp * (pow0 - pow1448); + let temp = temp * (pow0 - pow1449); + let temp = temp * (pow0 - pow1450); + let temp = temp * (pow0 - pow1451); + let temp = temp * (pow0 - pow1452); + let temp = temp * (pow0 - pow1453); + let temp = temp * (pow0 - pow1454); + let temp = temp * (pow0 - pow1455); + let temp = temp * (pow0 - pow1456); + let temp = temp * (pow0 - pow1457); + let temp = temp * (pow0 - pow1458); + let temp = temp * (pow0 - pow1459); + let temp = temp * (pow0 - pow1483); + let temp = temp * (pow0 - pow1484); + let temp = temp * (pow0 - pow1485); + let temp = temp * (pow0 - pow1486); + let temp = temp * (pow0 - pow1487); + let temp = temp * (pow0 - pow1488); + let temp = temp * (pow0 - pow1489); + let temp = temp * (pow0 - pow1490); + let temp = temp * (pow0 - pow1491); + let temp = temp * (pow0 - pow1492); + let temp = temp * (pow0 - pow1493); + let temp = temp * (pow0 - pow1494); + let temp = temp * (pow0 - pow1495); + let temp = temp * (pow0 - pow1496); + let temp = temp * (pow0 - pow1497); + let temp = temp * (pow0 - pow1498); + let temp = temp * (pow0 - pow1514); + let temp = temp * (pow0 - pow1515); + let temp = temp * (pow0 - pow1516); + let temp = temp * (pow0 - pow1517); + let temp = temp * (pow0 - pow1518); + let temp = temp * (pow0 - pow1519); + let temp = temp * (pow0 - pow1520); + let temp = temp * (pow0 - pow1521); + let temp = temp * (pow0 - pow1522); + let temp = temp * (pow0 - pow1523); + let temp = temp * (pow0 - pow1524); + let temp = temp * (pow0 - pow1525); + let temp = temp * (pow0 - pow1526); + let temp = temp * (pow0 - pow1527); + let temp = temp * (pow0 - pow1528); + let temp = temp * (pow0 - pow1529); + let temp = temp * (domain112); + let domain115 = temp * (domain114); + let temp = pow0 - pow1545; + let temp = temp * (pow0 - pow1546); + let temp = temp * (pow0 - pow1547); + let temp = temp * (pow0 - pow1548); + let temp = temp * (pow0 - pow1549); + let temp = temp * (pow0 - pow1550); + let temp = temp * (pow0 - pow1551); + let temp = temp * (pow0 - pow1552); + let temp = temp * (pow0 - pow1553); + let temp = temp * (pow0 - pow1554); + let temp = temp * (pow0 - pow1555); + let temp = temp * (pow0 - pow1556); + let temp = temp * (pow0 - pow1557); + let temp = temp * (pow0 - pow1558); + let temp = temp * (pow0 - pow1559); + let temp = temp * (pow0 - pow1560); + let temp = temp * (pow0 - pow1561); + let temp = temp * (pow0 - pow1562); + let temp = temp * (pow0 - pow1563); + let temp = temp * (pow0 - pow1564); + let temp = temp * (pow0 - pow1565); + let temp = temp * (pow0 - pow1566); + let temp = temp * (pow0 - pow1567); + let temp = temp * (pow0 - pow1568); + let temp = temp * (pow0 - pow1576); + let temp = temp * (pow0 - pow1578); + let temp = temp * (pow0 - pow1580); + let temp = temp * (pow0 - pow1582); + let temp = temp * (pow0 - pow1584); + let temp = temp * (pow0 - pow1586); + let temp = temp * (pow0 - pow1588); + let temp = temp * (pow0 - pow1590); + let temp = temp * (pow0 - pow1592); + let temp = temp * (pow0 - pow1594); + let temp = temp * (pow0 - pow1596); + let temp = temp * (pow0 - pow1598); + let temp = temp * (pow0 - pow1600); + let temp = temp * (pow0 - pow1602); + let temp = temp * (pow0 - pow1604); + let temp = temp * (pow0 - pow1606); + let temp = temp * (pow0 - pow1607); + let temp = temp * (pow0 - pow1608); + let temp = temp * (pow0 - pow1609); + let temp = temp * (pow0 - pow1610); + let temp = temp * (pow0 - pow1611); + let temp = temp * (pow0 - pow1612); + let temp = temp * (pow0 - pow1613); + let temp = temp * (pow0 - pow1614); + let domain116 = temp * (domain115); + let temp = pow0 - pow1577; + let temp = temp * (pow0 - pow1579); + let temp = temp * (pow0 - pow1581); + let temp = temp * (pow0 - pow1583); + let temp = temp * (pow0 - pow1585); + let temp = temp * (pow0 - pow1587); + let temp = temp * (pow0 - pow1589); + let temp = temp * (pow0 - pow1591); + let temp = temp * (pow0 - pow1593); + let temp = temp * (pow0 - pow1595); + let temp = temp * (pow0 - pow1597); + let temp = temp * (pow0 - pow1599); + let temp = temp * (pow0 - pow1601); + let temp = temp * (pow0 - pow1603); + let temp = temp * (pow0 - pow1605); + let temp = temp * (pow0 - pow1615); + let temp = temp * (pow0 - pow1616); + let temp = temp * (pow0 - pow1617); + let temp = temp * (pow0 - pow1618); + let temp = temp * (pow0 - pow1619); + let temp = temp * (pow0 - pow1620); + let temp = temp * (pow0 - pow1621); + let temp = temp * (pow0 - pow1622); + let temp = temp * (pow0 - pow1623); + let domain117 = temp * (domain116); + let temp = domain37; + let domain118 = temp * (domain56); + let temp = domain88; + let domain119 = temp * (domain118); + let temp = domain94; + let domain120 = temp * (domain119); + let temp = domain50; + let temp = temp * (domain54); + let domain121 = temp * (domain58); + let temp = domain61; + let domain122 = temp * (domain121); + let temp = domain65; + let domain123 = temp * (domain122); + let temp = domain60; + let domain124 = temp * (domain62); + let temp = domain86; + let domain125 = temp * (domain89); + let temp = domain95; + let temp = temp * (domain104); + let temp = temp * (domain111); + let domain126 = temp * (domain119); + let temp = domain114; + let domain127 = temp * (domain126); + let temp = domain66; + let temp = temp * (domain73); + let temp = temp * (domain79); + let domain128 = temp * (domain122); + let temp = domain82; + let domain129 = temp * (domain128); + let temp = domain113; + let domain130 = temp * (domain126); + let temp = domain81; + let domain131 = temp * (domain128); + let temp = domain103; + let domain132 = temp * (domain109); + let temp = domain72; + let domain133 = temp * (domain77); + let temp = domain70; + let domain134 = temp * (domain75); + let temp = domain100; + let domain135 = temp * (domain106); + let temp = domain64; + let domain136 = temp * (domain67); + let temp = domain93; + let domain137 = temp * (domain97); + let temp = domain71; + let domain138 = temp * (domain76); + let temp = domain102; + let domain139 = temp * (domain108); + let temp = domain69; + let domain140 = temp * (domain74); + let temp = domain99; + let domain141 = temp * (domain105); + let temp = pow0 - pow1640; + let temp = temp * (pow0 - pow1641); + let temp = temp * (pow0 - pow1642); + let temp = temp * (pow0 - pow1643); + let temp = temp * (pow0 - pow1644); + let temp = temp * (pow0 - pow1645); + let temp = temp * (pow0 - pow1646); + let temp = temp * (pow0 - pow1647); + let temp = temp * (pow0 - pow1648); + let temp = temp * (pow0 - pow1649); + let temp = temp * (pow0 - pow1650); + let temp = temp * (pow0 - pow1651); + let temp = temp * (pow0 - pow1652); + let temp = temp * (pow0 - pow1653); + let temp = temp * (pow0 - pow1654); + let temp = temp * (pow0 - pow1655); + let temp = temp * (pow0 - pow1656); + let temp = temp * (pow0 - pow1657); + let temp = temp * (pow0 - pow1658); + let temp = temp * (pow0 - pow1659); + let temp = temp * (pow0 - pow1660); + let temp = temp * (pow0 - pow1661); + let temp = temp * (pow0 - pow1662); + let temp = temp * (pow0 - pow1663); + let temp = temp * (domain55); + let temp = temp * (domain57); + let temp = temp * (domain87); + let temp = temp * (domain90); + let temp = temp * (domain92); + let temp = temp * (domain96); + let temp = temp * (domain101); + let domain142 = temp * (domain107); + let domain143 = point - pow24; + let domain144 = point - 1; + let domain145 = point - pow23; + let domain146 = point - pow22; + let domain147 = point - pow21; + let domain148 = point - pow20; + let domain149 = point - pow19; + let domain150 = point - pow18; + let domain151 = point - pow17; + let domain152 = point - pow16; + let domain153 = point - pow15; + + // Fetch mask variables. + let column0_row0 = *mask_values[0]; + let column0_row1 = *mask_values[1]; + let column0_row2 = *mask_values[2]; + let column0_row3 = *mask_values[3]; + let column0_row4 = *mask_values[4]; + let column0_row5 = *mask_values[5]; + let column0_row6 = *mask_values[6]; + let column0_row7 = *mask_values[7]; + let column0_row8 = *mask_values[8]; + let column0_row9 = *mask_values[9]; + let column0_row10 = *mask_values[10]; + let column0_row11 = *mask_values[11]; + let column0_row12 = *mask_values[12]; + let column0_row13 = *mask_values[13]; + let column0_row14 = *mask_values[14]; + let column0_row15 = *mask_values[15]; + let column1_row0 = *mask_values[16]; + let column1_row1 = *mask_values[17]; + let column1_row2 = *mask_values[18]; + let column1_row4 = *mask_values[19]; + let column1_row6 = *mask_values[20]; + let column1_row8 = *mask_values[21]; + let column1_row12 = *mask_values[22]; + let column1_row16 = *mask_values[23]; + let column1_row32 = *mask_values[24]; + let column1_row48 = *mask_values[25]; + let column1_row64 = *mask_values[26]; + let column1_row80 = *mask_values[27]; + let column1_row96 = *mask_values[28]; + let column1_row112 = *mask_values[29]; + let column1_row128 = *mask_values[30]; + let column1_row144 = *mask_values[31]; + let column1_row160 = *mask_values[32]; + let column1_row176 = *mask_values[33]; + let column1_row192 = *mask_values[34]; + let column1_row193 = *mask_values[35]; + let column1_row196 = *mask_values[36]; + let column1_row208 = *mask_values[37]; + let column1_row224 = *mask_values[38]; + let column1_row240 = *mask_values[39]; + let column1_row256 = *mask_values[40]; + let column1_row257 = *mask_values[41]; + let column1_row260 = *mask_values[42]; + let column1_row264 = *mask_values[43]; + let column1_row449 = *mask_values[44]; + let column1_row512 = *mask_values[45]; + let column1_row513 = *mask_values[46]; + let column1_row516 = *mask_values[47]; + let column1_row520 = *mask_values[48]; + let column1_row704 = *mask_values[49]; + let column1_row705 = *mask_values[50]; + let column1_row720 = *mask_values[51]; + let column1_row736 = *mask_values[52]; + let column1_row752 = *mask_values[53]; + let column1_row768 = *mask_values[54]; + let column1_row769 = *mask_values[55]; + let column1_row770 = *mask_values[56]; + let column1_row772 = *mask_values[57]; + let column1_row774 = *mask_values[58]; + let column1_row776 = *mask_values[59]; + let column1_row780 = *mask_values[60]; + let column1_row960 = *mask_values[61]; + let column1_row961 = *mask_values[62]; + let column1_row976 = *mask_values[63]; + let column1_row992 = *mask_values[64]; + let column1_row1008 = *mask_values[65]; + let column1_row1025 = *mask_values[66]; + let column1_row1026 = *mask_values[67]; + let column1_row1028 = *mask_values[68]; + let column1_row1030 = *mask_values[69]; + let column1_row1036 = *mask_values[70]; + let column1_row1217 = *mask_values[71]; + let column1_row1281 = *mask_values[72]; + let column1_row1284 = *mask_values[73]; + let column1_row1473 = *mask_values[74]; + let column1_row1537 = *mask_values[75]; + let column1_row1540 = *mask_values[76]; + let column1_row1729 = *mask_values[77]; + let column1_row1793 = *mask_values[78]; + let column1_row1796 = *mask_values[79]; + let column1_row1985 = *mask_values[80]; + let column1_row2049 = *mask_values[81]; + let column1_row2052 = *mask_values[82]; + let column1_row2116 = *mask_values[83]; + let column1_row2180 = *mask_values[84]; + let column1_row2241 = *mask_values[85]; + let column1_row2305 = *mask_values[86]; + let column1_row2308 = *mask_values[87]; + let column1_row2497 = *mask_values[88]; + let column1_row2561 = *mask_values[89]; + let column1_row2564 = *mask_values[90]; + let column1_row2753 = *mask_values[91]; + let column1_row2817 = *mask_values[92]; + let column1_row2820 = *mask_values[93]; + let column1_row3009 = *mask_values[94]; + let column1_row3073 = *mask_values[95]; + let column1_row3076 = *mask_values[96]; + let column1_row3329 = *mask_values[97]; + let column1_row3332 = *mask_values[98]; + let column1_row3585 = *mask_values[99]; + let column1_row3588 = *mask_values[100]; + let column1_row3652 = *mask_values[101]; + let column1_row3716 = *mask_values[102]; + let column1_row3841 = *mask_values[103]; + let column1_row3844 = *mask_values[104]; + let column1_row3908 = *mask_values[105]; + let column1_row3972 = *mask_values[106]; + let column1_row4097 = *mask_values[107]; + let column1_row4100 = *mask_values[108]; + let column1_row4353 = *mask_values[109]; + let column1_row4356 = *mask_values[110]; + let column1_row4609 = *mask_values[111]; + let column1_row4612 = *mask_values[112]; + let column1_row4865 = *mask_values[113]; + let column1_row4868 = *mask_values[114]; + let column1_row5121 = *mask_values[115]; + let column1_row5124 = *mask_values[116]; + let column1_row5377 = *mask_values[117]; + let column1_row5380 = *mask_values[118]; + let column1_row5441 = *mask_values[119]; + let column1_row5444 = *mask_values[120]; + let column1_row5505 = *mask_values[121]; + let column1_row5508 = *mask_values[122]; + let column1_row5633 = *mask_values[123]; + let column1_row5636 = *mask_values[124]; + let column1_row5697 = *mask_values[125]; + let column1_row5761 = *mask_values[126]; + let column1_row5889 = *mask_values[127]; + let column1_row5892 = *mask_values[128]; + let column1_row5953 = *mask_values[129]; + let column1_row6017 = *mask_values[130]; + let column1_row6145 = *mask_values[131]; + let column1_row6148 = *mask_values[132]; + let column1_row6209 = *mask_values[133]; + let column1_row6273 = *mask_values[134]; + let column1_row6401 = *mask_values[135]; + let column1_row6402 = *mask_values[136]; + let column1_row6404 = *mask_values[137]; + let column1_row6406 = *mask_values[138]; + let column1_row6468 = *mask_values[139]; + let column1_row6470 = *mask_values[140]; + let column1_row6532 = *mask_values[141]; + let column1_row6534 = *mask_values[142]; + let column1_row6593 = *mask_values[143]; + let column1_row6594 = *mask_values[144]; + let column1_row6596 = *mask_values[145]; + let column1_row6598 = *mask_values[146]; + let column1_row6658 = *mask_values[147]; + let column1_row6660 = *mask_values[148]; + let column1_row6722 = *mask_values[149]; + let column1_row6724 = *mask_values[150]; + let column1_row6785 = *mask_values[151]; + let column1_row6786 = *mask_values[152]; + let column1_row6788 = *mask_values[153]; + let column1_row6790 = *mask_values[154]; + let column1_row6977 = *mask_values[155]; + let column1_row6978 = *mask_values[156]; + let column1_row6980 = *mask_values[157]; + let column1_row6982 = *mask_values[158]; + let column1_row7169 = *mask_values[159]; + let column1_row7170 = *mask_values[160]; + let column1_row7172 = *mask_values[161]; + let column1_row7174 = *mask_values[162]; + let column1_row7361 = *mask_values[163]; + let column1_row7362 = *mask_values[164]; + let column1_row7364 = *mask_values[165]; + let column1_row7366 = *mask_values[166]; + let column1_row7553 = *mask_values[167]; + let column1_row7554 = *mask_values[168]; + let column1_row7556 = *mask_values[169]; + let column1_row7558 = *mask_values[170]; + let column1_row7745 = *mask_values[171]; + let column1_row7746 = *mask_values[172]; + let column1_row7748 = *mask_values[173]; + let column1_row7750 = *mask_values[174]; + let column1_row7937 = *mask_values[175]; + let column1_row7938 = *mask_values[176]; + let column1_row7940 = *mask_values[177]; + let column1_row7942 = *mask_values[178]; + let column1_row8193 = *mask_values[179]; + let column1_row8194 = *mask_values[180]; + let column1_row8198 = *mask_values[181]; + let column1_row8204 = *mask_values[182]; + let column1_row8449 = *mask_values[183]; + let column1_row8705 = *mask_values[184]; + let column1_row10753 = *mask_values[185]; + let column1_row15942 = *mask_values[186]; + let column1_row16900 = *mask_values[187]; + let column1_row18881 = *mask_values[188]; + let column1_row19137 = *mask_values[189]; + let column1_row19393 = *mask_values[190]; + let column1_row22529 = *mask_values[191]; + let column1_row22593 = *mask_values[192]; + let column1_row22657 = *mask_values[193]; + let column1_row22786 = *mask_values[194]; + let column1_row24577 = *mask_values[195]; + let column1_row24578 = *mask_values[196]; + let column1_row24582 = *mask_values[197]; + let column1_row24588 = *mask_values[198]; + let column1_row24833 = *mask_values[199]; + let column1_row25089 = *mask_values[200]; + let column1_row26369 = *mask_values[201]; + let column1_row30212 = *mask_values[202]; + let column1_row30978 = *mask_values[203]; + let column1_row31169 = *mask_values[204]; + let column1_row51969 = *mask_values[205]; + let column1_row55937 = *mask_values[206]; + let column1_row57345 = *mask_values[207]; + let column1_row57346 = *mask_values[208]; + let column1_row57350 = *mask_values[209]; + let column1_row57356 = *mask_values[210]; + let column1_row57601 = *mask_values[211]; + let column1_row57857 = *mask_values[212]; + let column1_row68865 = *mask_values[213]; + let column1_row71428 = *mask_values[214]; + let column1_row71942 = *mask_values[215]; + let column1_row73474 = *mask_values[216]; + let column1_row75780 = *mask_values[217]; + let column1_row75844 = *mask_values[218]; + let column1_row75908 = *mask_values[219]; + let column1_row80134 = *mask_values[220]; + let column1_row80198 = *mask_values[221]; + let column1_row80262 = *mask_values[222]; + let column1_row86273 = *mask_values[223]; + let column1_row89281 = *mask_values[224]; + let column1_row115713 = *mask_values[225]; + let column1_row122244 = *mask_values[226]; + let column1_row122881 = *mask_values[227]; + let column1_row122882 = *mask_values[228]; + let column1_row122886 = *mask_values[229]; + let column1_row122892 = *mask_values[230]; + let column1_row123137 = *mask_values[231]; + let column1_row123393 = *mask_values[232]; + let column1_row127489 = *mask_values[233]; + let column1_row130433 = *mask_values[234]; + let column1_row151041 = *mask_values[235]; + let column1_row155398 = *mask_values[236]; + let column1_row159748 = *mask_values[237]; + let column1_row162052 = *mask_values[238]; + let column1_row165377 = *mask_values[239]; + let column1_row165380 = *mask_values[240]; + let column1_row170244 = *mask_values[241]; + let column1_row171398 = *mask_values[242]; + let column1_row172801 = *mask_values[243]; + let column1_row175108 = *mask_values[244]; + let column1_row178433 = *mask_values[245]; + let column1_row178434 = *mask_values[246]; + let column1_row192260 = *mask_values[247]; + let column1_row192324 = *mask_values[248]; + let column1_row192388 = *mask_values[249]; + let column1_row195010 = *mask_values[250]; + let column1_row195074 = *mask_values[251]; + let column1_row195138 = *mask_values[252]; + let column1_row207873 = *mask_values[253]; + let column1_row208388 = *mask_values[254]; + let column1_row208452 = *mask_values[255]; + let column1_row208516 = *mask_values[256]; + let column1_row211396 = *mask_values[257]; + let column1_row211460 = *mask_values[258]; + let column1_row211524 = *mask_values[259]; + let column1_row212740 = *mask_values[260]; + let column1_row225025 = *mask_values[261]; + let column1_row228161 = *mask_values[262]; + let column1_row230657 = *mask_values[263]; + let column1_row230660 = *mask_values[264]; + let column1_row235970 = *mask_values[265]; + let column1_row236930 = *mask_values[266]; + let column1_row253953 = *mask_values[267]; + let column1_row253954 = *mask_values[268]; + let column1_row253958 = *mask_values[269]; + let column1_row253964 = *mask_values[270]; + let column1_row254209 = *mask_values[271]; + let column1_row254465 = *mask_values[272]; + let column1_row295684 = *mask_values[273]; + let column1_row299009 = *mask_values[274]; + let column1_row301318 = *mask_values[275]; + let column1_row302081 = *mask_values[276]; + let column1_row304132 = *mask_values[277]; + let column1_row309700 = *mask_values[278]; + let column1_row320449 = *mask_values[279]; + let column1_row320705 = *mask_values[280]; + let column1_row320961 = *mask_values[281]; + let column1_row322820 = *mask_values[282]; + let column1_row325121 = *mask_values[283]; + let column1_row325185 = *mask_values[284]; + let column1_row325249 = *mask_values[285]; + let column1_row325894 = *mask_values[286]; + let column1_row337601 = *mask_values[287]; + let column1_row337857 = *mask_values[288]; + let column1_row338113 = *mask_values[289]; + let column1_row341761 = *mask_values[290]; + let column1_row341825 = *mask_values[291]; + let column1_row341889 = *mask_values[292]; + let column1_row352769 = *mask_values[293]; + let column1_row356868 = *mask_values[294]; + let column1_row358662 = *mask_values[295]; + let column1_row359622 = *mask_values[296]; + let column1_row360705 = *mask_values[297]; + let column1_row362756 = *mask_values[298]; + let column1_row367044 = *mask_values[299]; + let column1_row367810 = *mask_values[300]; + let column1_row370689 = *mask_values[301]; + let column1_row376388 = *mask_values[302]; + let column1_row381956 = *mask_values[303]; + let column1_row383426 = *mask_values[304]; + let column1_row405764 = *mask_values[305]; + let column1_row407810 = *mask_values[306]; + let column1_row415748 = *mask_values[307]; + let column1_row416196 = *mask_values[308]; + let column1_row445188 = *mask_values[309]; + let column1_row448772 = *mask_values[310]; + let column1_row450753 = *mask_values[311]; + let column1_row451009 = *mask_values[312]; + let column1_row451265 = *mask_values[313]; + let column1_row455937 = *mask_values[314]; + let column1_row456001 = *mask_values[315]; + let column1_row456065 = *mask_values[316]; + let column1_row463617 = *mask_values[317]; + let column1_row463620 = *mask_values[318]; + let column1_row465348 = *mask_values[319]; + let column1_row466497 = *mask_values[320]; + let column1_row476932 = *mask_values[321]; + let column1_row481538 = *mask_values[322]; + let column1_row502017 = *mask_values[323]; + let column1_row502276 = *mask_values[324]; + let column1_row506306 = *mask_values[325]; + let column1_row507458 = *mask_values[326]; + let column1_row513025 = *mask_values[327]; + let column1_row513284 = *mask_values[328]; + let column1_row513348 = *mask_values[329]; + let column1_row513412 = *mask_values[330]; + let column1_row514308 = *mask_values[331]; + let column1_row514372 = *mask_values[332]; + let column1_row514436 = *mask_values[333]; + let column1_row515841 = *mask_values[334]; + let column1_row516097 = *mask_values[335]; + let column1_row516098 = *mask_values[336]; + let column1_row516100 = *mask_values[337]; + let column1_row516102 = *mask_values[338]; + let column1_row516108 = *mask_values[339]; + let column1_row516292 = *mask_values[340]; + let column1_row516353 = *mask_values[341]; + let column1_row516356 = *mask_values[342]; + let column1_row516609 = *mask_values[343]; + let column1_row522498 = *mask_values[344]; + let column1_row522500 = *mask_values[345]; + let column1_row522502 = *mask_values[346]; + let column1_row522690 = *mask_values[347]; + let column1_row522692 = *mask_values[348]; + let column2_row0 = *mask_values[349]; + let column2_row1 = *mask_values[350]; + let column3_row0 = *mask_values[351]; + let column3_row1 = *mask_values[352]; + let column3_row255 = *mask_values[353]; + let column3_row256 = *mask_values[354]; + let column3_row511 = *mask_values[355]; + let column4_row0 = *mask_values[356]; + let column4_row1 = *mask_values[357]; + let column4_row255 = *mask_values[358]; + let column4_row256 = *mask_values[359]; + let column5_row0 = *mask_values[360]; + let column5_row1 = *mask_values[361]; + let column5_row192 = *mask_values[362]; + let column5_row193 = *mask_values[363]; + let column5_row196 = *mask_values[364]; + let column5_row197 = *mask_values[365]; + let column5_row251 = *mask_values[366]; + let column5_row252 = *mask_values[367]; + let column5_row256 = *mask_values[368]; + let column6_row0 = *mask_values[369]; + let column6_row255 = *mask_values[370]; + let column7_row0 = *mask_values[371]; + let column7_row1 = *mask_values[372]; + let column7_row2 = *mask_values[373]; + let column7_row3 = *mask_values[374]; + let column7_row4 = *mask_values[375]; + let column7_row5 = *mask_values[376]; + let column7_row6 = *mask_values[377]; + let column7_row7 = *mask_values[378]; + let column7_row8 = *mask_values[379]; + let column7_row9 = *mask_values[380]; + let column7_row10 = *mask_values[381]; + let column7_row11 = *mask_values[382]; + let column7_row12 = *mask_values[383]; + let column7_row13 = *mask_values[384]; + let column7_row14 = *mask_values[385]; + let column7_row15 = *mask_values[386]; + let column7_row16144 = *mask_values[387]; + let column7_row16145 = *mask_values[388]; + let column7_row16146 = *mask_values[389]; + let column7_row16147 = *mask_values[390]; + let column7_row16148 = *mask_values[391]; + let column7_row16149 = *mask_values[392]; + let column7_row16150 = *mask_values[393]; + let column7_row16151 = *mask_values[394]; + let column7_row16160 = *mask_values[395]; + let column7_row16161 = *mask_values[396]; + let column7_row16162 = *mask_values[397]; + let column7_row16163 = *mask_values[398]; + let column7_row16164 = *mask_values[399]; + let column7_row16165 = *mask_values[400]; + let column7_row16166 = *mask_values[401]; + let column7_row16167 = *mask_values[402]; + let column7_row16176 = *mask_values[403]; + let column7_row16192 = *mask_values[404]; + let column7_row16208 = *mask_values[405]; + let column7_row16224 = *mask_values[406]; + let column7_row16240 = *mask_values[407]; + let column7_row16256 = *mask_values[408]; + let column7_row16272 = *mask_values[409]; + let column7_row16288 = *mask_values[410]; + let column7_row16304 = *mask_values[411]; + let column7_row16320 = *mask_values[412]; + let column7_row16336 = *mask_values[413]; + let column7_row16352 = *mask_values[414]; + let column7_row16368 = *mask_values[415]; + let column7_row16384 = *mask_values[416]; + let column7_row32768 = *mask_values[417]; + let column7_row65536 = *mask_values[418]; + let column7_row98304 = *mask_values[419]; + let column7_row131072 = *mask_values[420]; + let column7_row163840 = *mask_values[421]; + let column7_row196608 = *mask_values[422]; + let column7_row229376 = *mask_values[423]; + let column7_row262144 = *mask_values[424]; + let column7_row294912 = *mask_values[425]; + let column7_row327680 = *mask_values[426]; + let column7_row360448 = *mask_values[427]; + let column7_row393216 = *mask_values[428]; + let column7_row425984 = *mask_values[429]; + let column7_row458752 = *mask_values[430]; + let column7_row491520 = *mask_values[431]; + let column8_row0 = *mask_values[432]; + let column8_row1 = *mask_values[433]; + let column8_row2 = *mask_values[434]; + let column8_row3 = *mask_values[435]; + let column8_row4 = *mask_values[436]; + let column8_row5 = *mask_values[437]; + let column8_row6 = *mask_values[438]; + let column8_row7 = *mask_values[439]; + let column8_row8 = *mask_values[440]; + let column8_row9 = *mask_values[441]; + let column8_row12 = *mask_values[442]; + let column8_row13 = *mask_values[443]; + let column8_row16 = *mask_values[444]; + let column8_row38 = *mask_values[445]; + let column8_row39 = *mask_values[446]; + let column8_row70 = *mask_values[447]; + let column8_row71 = *mask_values[448]; + let column8_row102 = *mask_values[449]; + let column8_row103 = *mask_values[450]; + let column8_row134 = *mask_values[451]; + let column8_row135 = *mask_values[452]; + let column8_row166 = *mask_values[453]; + let column8_row167 = *mask_values[454]; + let column8_row198 = *mask_values[455]; + let column8_row199 = *mask_values[456]; + let column8_row262 = *mask_values[457]; + let column8_row263 = *mask_values[458]; + let column8_row294 = *mask_values[459]; + let column8_row295 = *mask_values[460]; + let column8_row326 = *mask_values[461]; + let column8_row358 = *mask_values[462]; + let column8_row359 = *mask_values[463]; + let column8_row390 = *mask_values[464]; + let column8_row391 = *mask_values[465]; + let column8_row422 = *mask_values[466]; + let column8_row423 = *mask_values[467]; + let column8_row454 = *mask_values[468]; + let column8_row518 = *mask_values[469]; + let column8_row711 = *mask_values[470]; + let column8_row902 = *mask_values[471]; + let column8_row903 = *mask_values[472]; + let column8_row966 = *mask_values[473]; + let column8_row967 = *mask_values[474]; + let column8_row1222 = *mask_values[475]; + let column8_row1414 = *mask_values[476]; + let column8_row1415 = *mask_values[477]; + let column8_row2438 = *mask_values[478]; + let column8_row2439 = *mask_values[479]; + let column8_row3462 = *mask_values[480]; + let column8_row3463 = *mask_values[481]; + let column8_row4486 = *mask_values[482]; + let column8_row4487 = *mask_values[483]; + let column8_row5511 = *mask_values[484]; + let column8_row6534 = *mask_values[485]; + let column8_row6535 = *mask_values[486]; + let column8_row7559 = *mask_values[487]; + let column8_row8582 = *mask_values[488]; + let column8_row8583 = *mask_values[489]; + let column8_row9607 = *mask_values[490]; + let column8_row10630 = *mask_values[491]; + let column8_row10631 = *mask_values[492]; + let column8_row11655 = *mask_values[493]; + let column8_row12678 = *mask_values[494]; + let column8_row12679 = *mask_values[495]; + let column8_row13703 = *mask_values[496]; + let column8_row14726 = *mask_values[497]; + let column8_row14727 = *mask_values[498]; + let column8_row15751 = *mask_values[499]; + let column8_row16774 = *mask_values[500]; + let column8_row16775 = *mask_values[501]; + let column8_row17799 = *mask_values[502]; + let column8_row19847 = *mask_values[503]; + let column8_row21895 = *mask_values[504]; + let column8_row23943 = *mask_values[505]; + let column8_row24966 = *mask_values[506]; + let column8_row25991 = *mask_values[507]; + let column8_row28039 = *mask_values[508]; + let column8_row30087 = *mask_values[509]; + let column8_row32135 = *mask_values[510]; + let column8_row33158 = *mask_values[511]; + let column9_row0 = *mask_values[512]; + let column9_row1 = *mask_values[513]; + let column9_row2 = *mask_values[514]; + let column9_row3 = *mask_values[515]; + let column10_row0 = *mask_values[516]; + let column10_row1 = *mask_values[517]; + let column10_row2 = *mask_values[518]; + let column10_row3 = *mask_values[519]; + let column10_row4 = *mask_values[520]; + let column10_row5 = *mask_values[521]; + let column10_row6 = *mask_values[522]; + let column10_row7 = *mask_values[523]; + let column10_row8 = *mask_values[524]; + let column10_row9 = *mask_values[525]; + let column10_row12 = *mask_values[526]; + let column10_row13 = *mask_values[527]; + let column10_row17 = *mask_values[528]; + let column10_row19 = *mask_values[529]; + let column10_row21 = *mask_values[530]; + let column10_row25 = *mask_values[531]; + let column10_row44 = *mask_values[532]; + let column10_row71 = *mask_values[533]; + let column10_row76 = *mask_values[534]; + let column10_row108 = *mask_values[535]; + let column10_row135 = *mask_values[536]; + let column10_row140 = *mask_values[537]; + let column10_row172 = *mask_values[538]; + let column10_row204 = *mask_values[539]; + let column10_row236 = *mask_values[540]; + let column10_row243 = *mask_values[541]; + let column10_row251 = *mask_values[542]; + let column10_row259 = *mask_values[543]; + let column10_row275 = *mask_values[544]; + let column10_row489 = *mask_values[545]; + let column10_row497 = *mask_values[546]; + let column10_row499 = *mask_values[547]; + let column10_row505 = *mask_values[548]; + let column10_row507 = *mask_values[549]; + let column10_row2055 = *mask_values[550]; + let column10_row2119 = *mask_values[551]; + let column10_row2183 = *mask_values[552]; + let column10_row4103 = *mask_values[553]; + let column10_row4167 = *mask_values[554]; + let column10_row4231 = *mask_values[555]; + let column10_row6403 = *mask_values[556]; + let column10_row6419 = *mask_values[557]; + let column10_row7811 = *mask_values[558]; + let column10_row8003 = *mask_values[559]; + let column10_row8067 = *mask_values[560]; + let column10_row8131 = *mask_values[561]; + let column10_row8195 = *mask_values[562]; + let column10_row8199 = *mask_values[563]; + let column10_row8211 = *mask_values[564]; + let column10_row8435 = *mask_values[565]; + let column10_row8443 = *mask_values[566]; + let column10_row10247 = *mask_values[567]; + let column10_row12295 = *mask_values[568]; + let column10_row16003 = *mask_values[569]; + let column10_row16195 = *mask_values[570]; + let column10_row24195 = *mask_values[571]; + let column10_row32387 = *mask_values[572]; + let column10_row66307 = *mask_values[573]; + let column10_row66323 = *mask_values[574]; + let column10_row67591 = *mask_values[575]; + let column10_row75783 = *mask_values[576]; + let column10_row75847 = *mask_values[577]; + let column10_row75911 = *mask_values[578]; + let column10_row132611 = *mask_values[579]; + let column10_row132627 = *mask_values[580]; + let column10_row159751 = *mask_values[581]; + let column10_row167943 = *mask_values[582]; + let column10_row179843 = *mask_values[583]; + let column10_row196419 = *mask_values[584]; + let column10_row196483 = *mask_values[585]; + let column10_row196547 = *mask_values[586]; + let column10_row198915 = *mask_values[587]; + let column10_row198931 = *mask_values[588]; + let column10_row204807 = *mask_values[589]; + let column10_row204871 = *mask_values[590]; + let column10_row204935 = *mask_values[591]; + let column10_row237379 = *mask_values[592]; + let column10_row265219 = *mask_values[593]; + let column10_row265235 = *mask_values[594]; + let column10_row296967 = *mask_values[595]; + let column10_row303111 = *mask_values[596]; + let column10_row321543 = *mask_values[597]; + let column10_row331523 = *mask_values[598]; + let column10_row331539 = *mask_values[599]; + let column10_row354311 = *mask_values[600]; + let column10_row360455 = *mask_values[601]; + let column10_row384835 = *mask_values[602]; + let column10_row397827 = *mask_values[603]; + let column10_row397843 = *mask_values[604]; + let column10_row409219 = *mask_values[605]; + let column10_row409607 = *mask_values[606]; + let column10_row446471 = *mask_values[607]; + let column10_row458759 = *mask_values[608]; + let column10_row464131 = *mask_values[609]; + let column10_row464147 = *mask_values[610]; + let column10_row482947 = *mask_values[611]; + let column10_row507715 = *mask_values[612]; + let column10_row512007 = *mask_values[613]; + let column10_row512071 = *mask_values[614]; + let column10_row512135 = *mask_values[615]; + let column10_row516099 = *mask_values[616]; + let column10_row516115 = *mask_values[617]; + let column10_row516339 = *mask_values[618]; + let column10_row516347 = *mask_values[619]; + let column10_row520199 = *mask_values[620]; + let column11_row0 = *mask_values[621]; + let column11_row1 = *mask_values[622]; + let column11_row2 = *mask_values[623]; + let column11_row3 = *mask_values[624]; + let column11_row4 = *mask_values[625]; + let column11_row5 = *mask_values[626]; + let column11_row6 = *mask_values[627]; + let column11_row7 = *mask_values[628]; + let column11_row8 = *mask_values[629]; + let column11_row9 = *mask_values[630]; + let column11_row10 = *mask_values[631]; + let column11_row11 = *mask_values[632]; + let column11_row12 = *mask_values[633]; + let column11_row13 = *mask_values[634]; + let column11_row14 = *mask_values[635]; + let column11_row16 = *mask_values[636]; + let column11_row17 = *mask_values[637]; + let column11_row19 = *mask_values[638]; + let column11_row21 = *mask_values[639]; + let column11_row22 = *mask_values[640]; + let column11_row24 = *mask_values[641]; + let column11_row25 = *mask_values[642]; + let column11_row27 = *mask_values[643]; + let column11_row29 = *mask_values[644]; + let column11_row30 = *mask_values[645]; + let column11_row33 = *mask_values[646]; + let column11_row35 = *mask_values[647]; + let column11_row37 = *mask_values[648]; + let column11_row38 = *mask_values[649]; + let column11_row41 = *mask_values[650]; + let column11_row43 = *mask_values[651]; + let column11_row45 = *mask_values[652]; + let column11_row46 = *mask_values[653]; + let column11_row49 = *mask_values[654]; + let column11_row51 = *mask_values[655]; + let column11_row53 = *mask_values[656]; + let column11_row54 = *mask_values[657]; + let column11_row57 = *mask_values[658]; + let column11_row59 = *mask_values[659]; + let column11_row61 = *mask_values[660]; + let column11_row65 = *mask_values[661]; + let column11_row69 = *mask_values[662]; + let column11_row71 = *mask_values[663]; + let column11_row73 = *mask_values[664]; + let column11_row77 = *mask_values[665]; + let column11_row81 = *mask_values[666]; + let column11_row85 = *mask_values[667]; + let column11_row89 = *mask_values[668]; + let column11_row91 = *mask_values[669]; + let column11_row97 = *mask_values[670]; + let column11_row101 = *mask_values[671]; + let column11_row105 = *mask_values[672]; + let column11_row109 = *mask_values[673]; + let column11_row113 = *mask_values[674]; + let column11_row117 = *mask_values[675]; + let column11_row123 = *mask_values[676]; + let column11_row155 = *mask_values[677]; + let column11_row187 = *mask_values[678]; + let column11_row195 = *mask_values[679]; + let column11_row205 = *mask_values[680]; + let column11_row219 = *mask_values[681]; + let column11_row221 = *mask_values[682]; + let column11_row237 = *mask_values[683]; + let column11_row245 = *mask_values[684]; + let column11_row253 = *mask_values[685]; + let column11_row269 = *mask_values[686]; + let column11_row301 = *mask_values[687]; + let column11_row309 = *mask_values[688]; + let column11_row310 = *mask_values[689]; + let column11_row318 = *mask_values[690]; + let column11_row326 = *mask_values[691]; + let column11_row334 = *mask_values[692]; + let column11_row342 = *mask_values[693]; + let column11_row350 = *mask_values[694]; + let column11_row451 = *mask_values[695]; + let column11_row461 = *mask_values[696]; + let column11_row477 = *mask_values[697]; + let column11_row493 = *mask_values[698]; + let column11_row501 = *mask_values[699]; + let column11_row509 = *mask_values[700]; + let column11_row12309 = *mask_values[701]; + let column11_row12373 = *mask_values[702]; + let column11_row12565 = *mask_values[703]; + let column11_row12629 = *mask_values[704]; + let column11_row16085 = *mask_values[705]; + let column11_row16149 = *mask_values[706]; + let column11_row16325 = *mask_values[707]; + let column11_row16331 = *mask_values[708]; + let column11_row16337 = *mask_values[709]; + let column11_row16339 = *mask_values[710]; + let column11_row16355 = *mask_values[711]; + let column11_row16357 = *mask_values[712]; + let column11_row16363 = *mask_values[713]; + let column11_row16369 = *mask_values[714]; + let column11_row16371 = *mask_values[715]; + let column11_row16385 = *mask_values[716]; + let column11_row16417 = *mask_values[717]; + let column11_row32647 = *mask_values[718]; + let column11_row32667 = *mask_values[719]; + let column11_row32715 = *mask_values[720]; + let column11_row32721 = *mask_values[721]; + let column11_row32731 = *mask_values[722]; + let column11_row32747 = *mask_values[723]; + let column11_row32753 = *mask_values[724]; + let column11_row32763 = *mask_values[725]; + let column12_inter1_row0 = *mask_values[726]; + let column12_inter1_row1 = *mask_values[727]; + let column13_inter1_row0 = *mask_values[728]; + let column13_inter1_row1 = *mask_values[729]; + let column14_inter1_row0 = *mask_values[730]; + let column14_inter1_row1 = *mask_values[731]; + let column14_inter1_row2 = *mask_values[732]; + let column14_inter1_row5 = *mask_values[733]; + + // Compute intermediate values. + let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); + let cpu_decode_opcode_range_check_bit_2 = column0_row2 - (column0_row3 + column0_row3); + let cpu_decode_opcode_range_check_bit_4 = column0_row4 - (column0_row5 + column0_row5); + let cpu_decode_opcode_range_check_bit_3 = column0_row3 - (column0_row4 + column0_row4); + let cpu_decode_flag_op1_base_op0_0 = 1 + - (cpu_decode_opcode_range_check_bit_2 + + cpu_decode_opcode_range_check_bit_4 + + cpu_decode_opcode_range_check_bit_3); + let cpu_decode_opcode_range_check_bit_5 = column0_row5 - (column0_row6 + column0_row6); + let cpu_decode_opcode_range_check_bit_6 = column0_row6 - (column0_row7 + column0_row7); + let cpu_decode_opcode_range_check_bit_9 = column0_row9 - (column0_row10 + column0_row10); + let cpu_decode_flag_res_op1_0 = 1 + - (cpu_decode_opcode_range_check_bit_5 + + cpu_decode_opcode_range_check_bit_6 + + cpu_decode_opcode_range_check_bit_9); + let cpu_decode_opcode_range_check_bit_7 = column0_row7 - (column0_row8 + column0_row8); + let cpu_decode_opcode_range_check_bit_8 = column0_row8 - (column0_row9 + column0_row9); + let cpu_decode_flag_pc_update_regular_0 = 1 + - (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_8 + + cpu_decode_opcode_range_check_bit_9); + let cpu_decode_opcode_range_check_bit_12 = column0_row12 - (column0_row13 + column0_row13); + let cpu_decode_opcode_range_check_bit_13 = column0_row13 - (column0_row14 + column0_row14); + let cpu_decode_fp_update_regular_0 = 1 + - (cpu_decode_opcode_range_check_bit_12 + cpu_decode_opcode_range_check_bit_13); + let cpu_decode_opcode_range_check_bit_1 = column0_row1 - (column0_row2 + column0_row2); + let npc_reg_0 = column8_row0 + cpu_decode_opcode_range_check_bit_2 + 1; + let cpu_decode_opcode_range_check_bit_10 = column0_row10 - (column0_row11 + column0_row11); + let cpu_decode_opcode_range_check_bit_11 = column0_row11 - (column0_row12 + column0_row12); + let cpu_decode_opcode_range_check_bit_14 = column0_row14 - (column0_row15 + column0_row15); + let memory_address_diff_0 = column9_row2 - column9_row0; + let range_check16_diff_0 = column10_row6 - column10_row2; + let pedersen_hash0_ec_subset_sum_bit_0 = column5_row0 - (column5_row1 + column5_row1); + let pedersen_hash0_ec_subset_sum_bit_neg_0 = 1 - pedersen_hash0_ec_subset_sum_bit_0; + let range_check_builtin_value0_0 = column10_row12; + let range_check_builtin_value1_0 = range_check_builtin_value0_0 * global_values.offset_size + + column10_row44; + let range_check_builtin_value2_0 = range_check_builtin_value1_0 * global_values.offset_size + + column10_row76; + let range_check_builtin_value3_0 = range_check_builtin_value2_0 * global_values.offset_size + + column10_row108; + let range_check_builtin_value4_0 = range_check_builtin_value3_0 * global_values.offset_size + + column10_row140; + let range_check_builtin_value5_0 = range_check_builtin_value4_0 * global_values.offset_size + + column10_row172; + let range_check_builtin_value6_0 = range_check_builtin_value5_0 * global_values.offset_size + + column10_row204; + let range_check_builtin_value7_0 = range_check_builtin_value6_0 * global_values.offset_size + + column10_row236; + let ecdsa_signature0_doubling_key_x_squared = column11_row1 * column11_row1; + let ecdsa_signature0_exponentiate_generator_bit_0 = column11_row59 + - (column11_row187 + column11_row187); + let ecdsa_signature0_exponentiate_generator_bit_neg_0 = 1 + - ecdsa_signature0_exponentiate_generator_bit_0; + let ecdsa_signature0_exponentiate_key_bit_0 = column11_row9 - (column11_row73 + column11_row73); + let ecdsa_signature0_exponentiate_key_bit_neg_0 = 1 - ecdsa_signature0_exponentiate_key_bit_0; + let bitwise_sum_var_0_0 = column1_row0 + + column1_row16 * 2 + + column1_row32 * 4 + + column1_row48 * 8 + + column1_row64 * 18446744073709551616 + + column1_row80 * 36893488147419103232 + + column1_row96 * 73786976294838206464 + + column1_row112 * 147573952589676412928; + let bitwise_sum_var_8_0 = column1_row128 * 340282366920938463463374607431768211456 + + column1_row144 * 680564733841876926926749214863536422912 + + column1_row160 * 1361129467683753853853498429727072845824 + + column1_row176 * 2722258935367507707706996859454145691648 + + column1_row192 * 6277101735386680763835789423207666416102355444464034512896 + + column1_row208 * 12554203470773361527671578846415332832204710888928069025792 + + column1_row224 * 25108406941546723055343157692830665664409421777856138051584 + + column1_row240 * 50216813883093446110686315385661331328818843555712276103168; + let ec_op_doubling_q_x_squared_0 = column11_row41 * column11_row41; + let ec_op_ec_subset_sum_bit_0 = column11_row21 - (column11_row85 + column11_row85); + let ec_op_ec_subset_sum_bit_neg_0 = 1 - ec_op_ec_subset_sum_bit_0; + let keccak_keccak_parse_to_diluted_sum_words_over_instances0_0 = column10_row3 + - column10_row66307 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances0_2 = column10_row19 + - column10_row66323 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances1_0 = column10_row66307 + - column10_row132611 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances1_2 = column10_row66323 + - column10_row132627 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances2_0 = column10_row132611 + - column10_row198915 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances2_2 = column10_row132627 + - column10_row198931 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances3_0 = column10_row198915 + - column10_row265219 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances3_2 = column10_row198931 + - column10_row265235 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances4_0 = column10_row265219 + - column10_row331523 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances4_2 = column10_row265235 + - column10_row331539 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances5_0 = column10_row331523 + - column10_row397827 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances5_2 = column10_row331539 + - column10_row397843 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances6_0 = column10_row397827 + - column10_row464131 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances6_2 = column10_row397843 + - column10_row464147 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances7_0 = column10_row464131 + - column10_row6403 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_sum_words_over_instances7_2 = column10_row464147 + - column10_row6419 * 1606938044258990275541962092341162602522202993782792835301376; + let keccak_keccak_parse_to_diluted_partial_diluted1_0 = column10_row516099 + - (column10_row259 + column10_row259); + let keccak_keccak_parse_to_diluted_partial_diluted1_2 = column10_row516115 + - (column10_row275 + column10_row275); + let keccak_keccak_parse_to_diluted_bit_other1_0 = + keccak_keccak_parse_to_diluted_partial_diluted1_2 + - 16 * keccak_keccak_parse_to_diluted_partial_diluted1_0; + let keccak_keccak_parse_to_diluted_partial_diluted1_30 = column10_row516339 + - (column10_row499 + column10_row499); + let keccak_keccak_parse_to_diluted_partial_diluted1_31 = column10_row516347 + - (column10_row507 + column10_row507); + let keccak_keccak_parse_to_diluted_partial_diluted0_0 = column10_row3 + - (column10_row8195 + column10_row8195); + let keccak_keccak_parse_to_diluted_partial_diluted0_2 = column10_row19 + - (column10_row8211 + column10_row8211); + let keccak_keccak_parse_to_diluted_bit_other0_0 = + keccak_keccak_parse_to_diluted_partial_diluted0_2 + - 16 * keccak_keccak_parse_to_diluted_partial_diluted0_0; + let keccak_keccak_parse_to_diluted_partial_diluted0_30 = column10_row243 + - (column10_row8435 + column10_row8435); + let keccak_keccak_parse_to_diluted_partial_diluted0_31 = column10_row251 + - (column10_row8443 + column10_row8443); + let keccak_keccak_sum_parities0_0 = column1_row6594 + column10_row8003; + let keccak_keccak_sum_parities1_0 = column1_row6404 + column10_row4103; + let keccak_keccak_sum_parities1_64512 = column1_row522500 + column10_row520199; + let keccak_keccak_sum_parities2_0 = column1_row6402 + column10_row7811; + let keccak_keccak_sum_parities2_2048 = column1_row22786 + column10_row24195; + let keccak_keccak_sum_parities3_0 = column1_row6406 + column10_row2055; + let keccak_keccak_sum_parities3_36864 = column1_row301318 + column10_row296967; + let keccak_keccak_sum_parities4_0 = column1_row6596 + column10_row7; + let keccak_keccak_sum_parities4_37888 = column1_row309700 + column10_row303111; + let keccak_keccak_sum_parities0_28672 = column1_row235970 + column10_row237379; + let keccak_keccak_sum_parities1_20480 = column1_row170244 + column10_row167943; + let keccak_keccak_sum_parities2_59392 = column1_row481538 + column10_row482947; + let keccak_keccak_sum_parities3_8 = column1_row6470 + column10_row2119; + let keccak_keccak_sum_parities3_16 = column1_row6534 + column10_row2183; + let keccak_keccak_sum_parities3_9216 = column1_row80134 + column10_row75783; + let keccak_keccak_sum_parities3_9224 = column1_row80198 + column10_row75847; + let keccak_keccak_sum_parities3_9232 = column1_row80262 + column10_row75911; + let keccak_keccak_sum_parities4_45056 = column1_row367044 + column10_row360455; + let keccak_keccak_sum_parities0_62464 = column1_row506306 + column10_row507715; + let keccak_keccak_sum_parities1_55296 = column1_row448772 + column10_row446471; + let keccak_keccak_sum_parities2_21504 = column1_row178434 + column10_row179843; + let keccak_keccak_sum_parities3_39936 = column1_row325894 + column10_row321543; + let keccak_keccak_sum_parities4_8 = column1_row6660 + column10_row71; + let keccak_keccak_sum_parities4_16 = column1_row6724 + column10_row135; + let keccak_keccak_sum_parities4_25600 = column1_row211396 + column10_row204807; + let keccak_keccak_sum_parities4_25608 = column1_row211460 + column10_row204871; + let keccak_keccak_sum_parities4_25616 = column1_row211524 + column10_row204935; + let keccak_keccak_sum_parities0_8 = column1_row6658 + column10_row8067; + let keccak_keccak_sum_parities0_16 = column1_row6722 + column10_row8131; + let keccak_keccak_sum_parities0_23552 = column1_row195010 + column10_row196419; + let keccak_keccak_sum_parities0_23560 = column1_row195074 + column10_row196483; + let keccak_keccak_sum_parities0_23568 = column1_row195138 + column10_row196547; + let keccak_keccak_sum_parities1_19456 = column1_row162052 + column10_row159751; + let keccak_keccak_sum_parities2_50176 = column1_row407810 + column10_row409219; + let keccak_keccak_sum_parities3_44032 = column1_row358662 + column10_row354311; + let keccak_keccak_sum_parities4_57344 = column1_row465348 + column10_row458759; + let keccak_keccak_sum_parities0_47104 = column1_row383426 + column10_row384835; + let keccak_keccak_sum_parities1_8 = column1_row6468 + column10_row4167; + let keccak_keccak_sum_parities1_16 = column1_row6532 + column10_row4231; + let keccak_keccak_sum_parities1_63488 = column1_row514308 + column10_row512007; + let keccak_keccak_sum_parities1_63496 = column1_row514372 + column10_row512071; + let keccak_keccak_sum_parities1_63504 = column1_row514436 + column10_row512135; + let keccak_keccak_sum_parities2_3072 = column1_row30978 + column10_row32387; + let keccak_keccak_sum_parities3_8192 = column1_row71942 + column10_row67591; + let keccak_keccak_sum_parities4_51200 = column1_row416196 + column10_row409607; + let keccak_keccak_after_theta_rho_pi_xor_one_32 = 1229782938247303441 - column1_row257; + let keccak_keccak_after_theta_rho_pi_xor_one_1056 = 1229782938247303441 - column1_row8449; + let keccak_keccak_after_theta_rho_pi_xor_one_3104 = 1229782938247303441 - column1_row24833; + let keccak_keccak_after_theta_rho_pi_xor_one_7200 = 1229782938247303441 - column1_row57601; + let keccak_keccak_after_theta_rho_pi_xor_one_15392 = 1229782938247303441 - column1_row123137; + let keccak_keccak_after_theta_rho_pi_xor_one_31776 = 1229782938247303441 - column1_row254209; + let keccak_keccak_after_theta_rho_pi_xor_one_64544 = 1229782938247303441 - column1_row516353; + let keccak_keccak_after_theta_rho_pi_xor_one_0 = 1229782938247303441 - column1_row1; + let keccak_keccak_after_theta_rho_pi_xor_one_128 = 1229782938247303441 - column1_row1025; + let poseidon_poseidon_full_rounds_state0_cubed_0 = column11_row53 * column11_row29; + let poseidon_poseidon_full_rounds_state1_cubed_0 = column11_row13 * column11_row61; + let poseidon_poseidon_full_rounds_state2_cubed_0 = column11_row45 * column11_row3; + let poseidon_poseidon_full_rounds_state0_cubed_7 = column11_row501 * column11_row477; + let poseidon_poseidon_full_rounds_state1_cubed_7 = column11_row461 * column11_row509; + let poseidon_poseidon_full_rounds_state2_cubed_7 = column11_row493 * column11_row451; + let poseidon_poseidon_full_rounds_state0_cubed_3 = column11_row245 * column11_row221; + let poseidon_poseidon_full_rounds_state1_cubed_3 = column11_row205 * column11_row253; + let poseidon_poseidon_full_rounds_state2_cubed_3 = column11_row237 * column11_row195; + let poseidon_poseidon_partial_rounds_state0_cubed_0 = column10_row1 * column10_row5; + let poseidon_poseidon_partial_rounds_state0_cubed_1 = column10_row9 * column10_row13; + let poseidon_poseidon_partial_rounds_state0_cubed_2 = column10_row17 * column10_row21; + let poseidon_poseidon_partial_rounds_state1_cubed_0 = column11_row6 * column11_row14; + let poseidon_poseidon_partial_rounds_state1_cubed_1 = column11_row22 * column11_row30; + let poseidon_poseidon_partial_rounds_state1_cubed_2 = column11_row38 * column11_row46; + let poseidon_poseidon_partial_rounds_state1_cubed_19 = column11_row310 * column11_row318; + let poseidon_poseidon_partial_rounds_state1_cubed_20 = column11_row326 * column11_row334; + let poseidon_poseidon_partial_rounds_state1_cubed_21 = column11_row342 * column11_row350; + + // Sum constraints. + let total_sum = 0; + + // Constraint: cpu/decode/opcode_range_check/bit. + let value = (cpu_decode_opcode_range_check_bit_0 * cpu_decode_opcode_range_check_bit_0 + - cpu_decode_opcode_range_check_bit_0) + * domain4 + / domain0; + let total_sum = total_sum + *constraint_coefficients[0] * value; + + // Constraint: cpu/decode/opcode_range_check/zero. + let value = (column0_row0) / domain4; + let total_sum = total_sum + *constraint_coefficients[1] * value; + + // Constraint: cpu/decode/opcode_range_check_input. + let value = (column8_row1 + - (((column0_row0 * global_values.offset_size + column10_row4) * global_values.offset_size + + column10_row8) + * global_values.offset_size + + column10_row0)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[2] * value; + + // Constraint: cpu/decode/flag_op1_base_op0_bit. + let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 + - cpu_decode_flag_op1_base_op0_0) + / domain5; + let total_sum = total_sum + *constraint_coefficients[3] * value; + + // Constraint: cpu/decode/flag_res_op1_bit. + let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) + / domain5; + let total_sum = total_sum + *constraint_coefficients[4] * value; + + // Constraint: cpu/decode/flag_pc_update_regular_bit. + let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 + - cpu_decode_flag_pc_update_regular_0) + / domain5; + let total_sum = total_sum + *constraint_coefficients[5] * value; + + // Constraint: cpu/decode/fp_update_regular_bit. + let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 + - cpu_decode_fp_update_regular_0) + / domain5; + let total_sum = total_sum + *constraint_coefficients[6] * value; + + // Constraint: cpu/operands/mem_dst_addr. + let value = (column8_row8 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_0 * column11_row8 + + (1 - cpu_decode_opcode_range_check_bit_0) * column11_row0 + + column10_row0)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[7] * value; + + // Constraint: cpu/operands/mem0_addr. + let value = (column8_row4 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_1 * column11_row8 + + (1 - cpu_decode_opcode_range_check_bit_1) * column11_row0 + + column10_row8)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[8] * value; + + // Constraint: cpu/operands/mem1_addr. + let value = (column8_row12 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_2 * column8_row0 + + cpu_decode_opcode_range_check_bit_4 * column11_row0 + + cpu_decode_opcode_range_check_bit_3 * column11_row8 + + cpu_decode_flag_op1_base_op0_0 * column8_row5 + + column10_row4)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[9] * value; + + // Constraint: cpu/operands/ops_mul. + let value = (column11_row4 - column8_row5 * column8_row13) / domain5; + let total_sum = total_sum + *constraint_coefficients[10] * value; + + // Constraint: cpu/operands/res. + let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column11_row12 + - (cpu_decode_opcode_range_check_bit_5 * (column8_row5 + column8_row13) + + cpu_decode_opcode_range_check_bit_6 * column11_row4 + + cpu_decode_flag_res_op1_0 * column8_row13)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[11] * value; + + // Constraint: cpu/update_registers/update_pc/tmp0. + let value = (column11_row2 - cpu_decode_opcode_range_check_bit_9 * column8_row9) + * domain143 + / domain5; + let total_sum = total_sum + *constraint_coefficients[12] * value; + + // Constraint: cpu/update_registers/update_pc/tmp1. + let value = (column11_row10 - column11_row2 * column11_row12) * domain143 / domain5; + let total_sum = total_sum + *constraint_coefficients[13] * value; + + // Constraint: cpu/update_registers/update_pc/pc_cond_negative. + let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column8_row16 + + column11_row2 * (column8_row16 - (column8_row0 + column8_row13)) + - (cpu_decode_flag_pc_update_regular_0 * npc_reg_0 + + cpu_decode_opcode_range_check_bit_7 * column11_row12 + + cpu_decode_opcode_range_check_bit_8 * (column8_row0 + column11_row12))) + * domain143 + / domain5; + let total_sum = total_sum + *constraint_coefficients[14] * value; + + // Constraint: cpu/update_registers/update_pc/pc_cond_positive. + let value = ((column11_row10 - cpu_decode_opcode_range_check_bit_9) + * (column8_row16 - npc_reg_0)) + * domain143 + / domain5; + let total_sum = total_sum + *constraint_coefficients[15] * value; + + // Constraint: cpu/update_registers/update_ap/ap_update. + let value = (column11_row16 + - (column11_row0 + + cpu_decode_opcode_range_check_bit_10 * column11_row12 + + cpu_decode_opcode_range_check_bit_11 + + cpu_decode_opcode_range_check_bit_12 * 2)) + * domain143 + / domain5; + let total_sum = total_sum + *constraint_coefficients[16] * value; + + // Constraint: cpu/update_registers/update_fp/fp_update. + let value = (column11_row24 + - (cpu_decode_fp_update_regular_0 * column11_row8 + + cpu_decode_opcode_range_check_bit_13 * column8_row9 + + cpu_decode_opcode_range_check_bit_12 * (column11_row0 + 2))) + * domain143 + / domain5; + let total_sum = total_sum + *constraint_coefficients[17] * value; + + // Constraint: cpu/opcodes/call/push_fp. + let value = (cpu_decode_opcode_range_check_bit_12 * (column8_row9 - column11_row8)) / domain5; + let total_sum = total_sum + *constraint_coefficients[18] * value; + + // Constraint: cpu/opcodes/call/push_pc. + let value = (cpu_decode_opcode_range_check_bit_12 + * (column8_row5 - (column8_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) + / domain5; + let total_sum = total_sum + *constraint_coefficients[19] * value; + + // Constraint: cpu/opcodes/call/off0. + let value = (cpu_decode_opcode_range_check_bit_12 + * (column10_row0 - global_values.half_offset_size)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[20] * value; + + // Constraint: cpu/opcodes/call/off1. + let value = (cpu_decode_opcode_range_check_bit_12 + * (column10_row8 - (global_values.half_offset_size + 1))) + / domain5; + let total_sum = total_sum + *constraint_coefficients[21] * value; + + // Constraint: cpu/opcodes/call/flags. + let value = (cpu_decode_opcode_range_check_bit_12 + * (cpu_decode_opcode_range_check_bit_12 + + cpu_decode_opcode_range_check_bit_12 + + 1 + + 1 + - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) + / domain5; + let total_sum = total_sum + *constraint_coefficients[22] * value; + + // Constraint: cpu/opcodes/ret/off0. + let value = (cpu_decode_opcode_range_check_bit_13 + * (column10_row0 + 2 - global_values.half_offset_size)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[23] * value; + + // Constraint: cpu/opcodes/ret/off2. + let value = (cpu_decode_opcode_range_check_bit_13 + * (column10_row4 + 1 - global_values.half_offset_size)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[24] * value; + + // Constraint: cpu/opcodes/ret/flags. + let value = (cpu_decode_opcode_range_check_bit_13 + * (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_0 + + cpu_decode_opcode_range_check_bit_3 + + cpu_decode_flag_res_op1_0 + - 4)) + / domain5; + let total_sum = total_sum + *constraint_coefficients[25] * value; + + // Constraint: cpu/opcodes/assert_eq/assert_eq. + let value = (cpu_decode_opcode_range_check_bit_14 * (column8_row9 - column11_row12)) / domain5; + let total_sum = total_sum + *constraint_coefficients[26] * value; + + // Constraint: initial_ap. + let value = (column11_row0 - global_values.initial_ap) / domain144; + let total_sum = total_sum + *constraint_coefficients[27] * value; + + // Constraint: initial_fp. + let value = (column11_row8 - global_values.initial_ap) / domain144; + let total_sum = total_sum + *constraint_coefficients[28] * value; + + // Constraint: initial_pc. + let value = (column8_row0 - global_values.initial_pc) / domain144; + let total_sum = total_sum + *constraint_coefficients[29] * value; + + // Constraint: final_ap. + let value = (column11_row0 - global_values.final_ap) / domain143; + let total_sum = total_sum + *constraint_coefficients[30] * value; + + // Constraint: final_fp. + let value = (column11_row8 - global_values.initial_ap) / domain143; + let total_sum = total_sum + *constraint_coefficients[31] * value; + + // Constraint: final_pc. + let value = (column8_row0 - global_values.final_pc) / domain143; + let total_sum = total_sum + *constraint_coefficients[32] * value; + + // Constraint: memory/multi_column_perm/perm/init0. + let value = ((global_values.memory_multi_column_perm_perm_interaction_elm + - (column9_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column9_row1)) + * column14_inter1_row0 + + column8_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row1 + - global_values.memory_multi_column_perm_perm_interaction_elm) + / domain144; + let total_sum = total_sum + *constraint_coefficients[33] * value; + + // Constraint: memory/multi_column_perm/perm/step0. + let value = ((global_values.memory_multi_column_perm_perm_interaction_elm + - (column9_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column9_row3)) + * column14_inter1_row2 + - (global_values.memory_multi_column_perm_perm_interaction_elm + - (column8_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row3)) + * column14_inter1_row0) + * domain145 + / domain1; + let total_sum = total_sum + *constraint_coefficients[34] * value; + + // Constraint: memory/multi_column_perm/perm/last. + let value = (column14_inter1_row0 + - global_values.memory_multi_column_perm_perm_public_memory_prod) + / domain145; + let total_sum = total_sum + *constraint_coefficients[35] * value; + + // Constraint: memory/diff_is_bit. + let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) + * domain145 + / domain1; + let total_sum = total_sum + *constraint_coefficients[36] * value; + + // Constraint: memory/is_func. + let value = ((memory_address_diff_0 - 1) * (column9_row1 - column9_row3)) * domain145 / domain1; + let total_sum = total_sum + *constraint_coefficients[37] * value; + + // Constraint: memory/initial_addr. + let value = (column9_row0 - 1) / domain144; + let total_sum = total_sum + *constraint_coefficients[38] * value; + + // Constraint: public_memory_addr_zero. + let value = (column8_row2) / domain3; + let total_sum = total_sum + *constraint_coefficients[39] * value; + + // Constraint: public_memory_value_zero. + let value = (column8_row3) / domain3; + let total_sum = total_sum + *constraint_coefficients[40] * value; + + // Constraint: range_check16/perm/init0. + let value = ((global_values.range_check16_perm_interaction_elm - column10_row2) + * column14_inter1_row1 + + column10_row0 + - global_values.range_check16_perm_interaction_elm) + / domain144; + let total_sum = total_sum + *constraint_coefficients[41] * value; + + // Constraint: range_check16/perm/step0. + let value = ((global_values.range_check16_perm_interaction_elm - column10_row6) + * column14_inter1_row5 + - (global_values.range_check16_perm_interaction_elm - column10_row4) * column14_inter1_row1) + * domain146 + / domain2; + let total_sum = total_sum + *constraint_coefficients[42] * value; + + // Constraint: range_check16/perm/last. + let value = (column14_inter1_row1 - global_values.range_check16_perm_public_memory_prod) + / domain146; + let total_sum = total_sum + *constraint_coefficients[43] * value; + + // Constraint: range_check16/diff_is_bit. + let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) + * domain146 + / domain2; + let total_sum = total_sum + *constraint_coefficients[44] * value; + + // Constraint: range_check16/minimum. + let value = (column10_row2 - global_values.range_check_min) / domain144; + let total_sum = total_sum + *constraint_coefficients[45] * value; + + // Constraint: range_check16/maximum. + let value = (column10_row2 - global_values.range_check_max) / domain146; + let total_sum = total_sum + *constraint_coefficients[46] * value; + + // Constraint: diluted_check/permutation/init0. + let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row0) + * column13_inter1_row0 + + column1_row0 + - global_values.diluted_check_permutation_interaction_elm) + / domain144; + let total_sum = total_sum + *constraint_coefficients[47] * value; + + // Constraint: diluted_check/permutation/step0. + let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row1) + * column13_inter1_row1 + - (global_values.diluted_check_permutation_interaction_elm - column1_row1) + * column13_inter1_row0) + * domain147 + / domain0; + let total_sum = total_sum + *constraint_coefficients[48] * value; + + // Constraint: diluted_check/permutation/last. + let value = (column13_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) + / domain147; + let total_sum = total_sum + *constraint_coefficients[49] * value; + + // Constraint: diluted_check/init. + let value = (column12_inter1_row0 - 1) / domain144; + let total_sum = total_sum + *constraint_coefficients[50] * value; + + // Constraint: diluted_check/first_element. + let value = (column2_row0 - global_values.diluted_check_first_elm) / domain144; + let total_sum = total_sum + *constraint_coefficients[51] * value; + + // Constraint: diluted_check/step. + let value = (column12_inter1_row1 + - (column12_inter1_row0 + * (1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0)) + + global_values.diluted_check_interaction_alpha + * (column2_row1 - column2_row0) + * (column2_row1 - column2_row0))) + * domain147 + / domain0; + let total_sum = total_sum + *constraint_coefficients[52] * value; + + // Constraint: diluted_check/last. + let value = (column12_inter1_row0 - global_values.diluted_check_final_cum_val) / domain147; + let total_sum = total_sum + *constraint_coefficients[53] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. + let value = (column11_row71 * (column5_row0 - (column5_row1 + column5_row1))) / domain8; + let total_sum = total_sum + *constraint_coefficients[54] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. + let value = (column11_row71 + * (column5_row1 + - 3138550867693340381917894711603833208051177722232017256448 * column5_row192)) + / domain8; + let total_sum = total_sum + *constraint_coefficients[55] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. + let value = (column11_row71 + - column6_row255 * (column5_row192 - (column5_row193 + column5_row193))) + / domain8; + let total_sum = total_sum + *constraint_coefficients[56] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. + let value = (column6_row255 * (column5_row193 - 8 * column5_row196)) / domain8; + let total_sum = total_sum + *constraint_coefficients[57] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. + let value = (column6_row255 + - (column5_row251 - (column5_row252 + column5_row252)) + * (column5_row196 - (column5_row197 + column5_row197))) + / domain8; + let total_sum = total_sum + *constraint_coefficients[58] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. + let value = ((column5_row251 - (column5_row252 + column5_row252)) + * (column5_row197 - 18014398509481984 * column5_row251)) + / domain8; + let total_sum = total_sum + *constraint_coefficients[59] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. + let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) + * domain9 + / domain0; + let total_sum = total_sum + *constraint_coefficients[60] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. + let value = (column5_row0) / domain10; + let total_sum = total_sum + *constraint_coefficients[61] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. + let value = (column5_row0) / domain9; + let total_sum = total_sum + *constraint_coefficients[62] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. + let value = (pedersen_hash0_ec_subset_sum_bit_0 + * (column4_row0 - global_values.pedersen_points_y) + - column6_row0 * (column3_row0 - global_values.pedersen_points_x)) + * domain9 + / domain0; + let total_sum = total_sum + *constraint_coefficients[63] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. + let value = (column6_row0 * column6_row0 + - pedersen_hash0_ec_subset_sum_bit_0 + * (column3_row0 + global_values.pedersen_points_x + column3_row1)) + * domain9 + / domain0; + let total_sum = total_sum + *constraint_coefficients[64] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. + let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row0 + column4_row1) + - column6_row0 * (column3_row0 - column3_row1)) + * domain9 + / domain0; + let total_sum = total_sum + *constraint_coefficients[65] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. + let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column3_row1 - column3_row0)) + * domain9 + / domain0; + let total_sum = total_sum + *constraint_coefficients[66] * value; + + // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. + let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row1 - column4_row0)) + * domain9 + / domain0; + let total_sum = total_sum + *constraint_coefficients[67] * value; + + // Constraint: pedersen/hash0/copy_point/x. + let value = (column3_row256 - column3_row255) * domain13 / domain8; + let total_sum = total_sum + *constraint_coefficients[68] * value; + + // Constraint: pedersen/hash0/copy_point/y. + let value = (column4_row256 - column4_row255) * domain13 / domain8; + let total_sum = total_sum + *constraint_coefficients[69] * value; + + // Constraint: pedersen/hash0/init/x. + let value = (column3_row0 - global_values.pedersen_shift_point.x) / domain14; + let total_sum = total_sum + *constraint_coefficients[70] * value; + + // Constraint: pedersen/hash0/init/y. + let value = (column4_row0 - global_values.pedersen_shift_point.y) / domain14; + let total_sum = total_sum + *constraint_coefficients[71] * value; + + // Constraint: pedersen/input0_value0. + let value = (column8_row7 - column5_row0) / domain14; + let total_sum = total_sum + *constraint_coefficients[72] * value; + + // Constraint: pedersen/input0_addr. + let value = (column8_row518 - (column8_row134 + 1)) * domain148 / domain14; + let total_sum = total_sum + *constraint_coefficients[73] * value; + + // Constraint: pedersen/init_addr. + let value = (column8_row6 - global_values.initial_pedersen_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[74] * value; + + // Constraint: pedersen/input1_value0. + let value = (column8_row263 - column5_row256) / domain14; + let total_sum = total_sum + *constraint_coefficients[75] * value; + + // Constraint: pedersen/input1_addr. + let value = (column8_row262 - (column8_row6 + 1)) / domain14; + let total_sum = total_sum + *constraint_coefficients[76] * value; + + // Constraint: pedersen/output_value0. + let value = (column8_row135 - column3_row511) / domain14; + let total_sum = total_sum + *constraint_coefficients[77] * value; + + // Constraint: pedersen/output_addr. + let value = (column8_row134 - (column8_row262 + 1)) / domain14; + let total_sum = total_sum + *constraint_coefficients[78] * value; + + // Constraint: range_check_builtin/value. + let value = (range_check_builtin_value7_0 - column8_row71) / domain8; + let total_sum = total_sum + *constraint_coefficients[79] * value; + + // Constraint: range_check_builtin/addr_step. + let value = (column8_row326 - (column8_row70 + 1)) * domain149 / domain8; + let total_sum = total_sum + *constraint_coefficients[80] * value; + + // Constraint: range_check_builtin/init_addr. + let value = (column8_row70 - global_values.initial_range_check_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[81] * value; + + // Constraint: ecdsa/signature0/doubling_key/slope. + let value = (ecdsa_signature0_doubling_key_x_squared + + ecdsa_signature0_doubling_key_x_squared + + ecdsa_signature0_doubling_key_x_squared + + global_values.ecdsa_sig_config.alpha + - (column11_row33 + column11_row33) * column11_row35) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[82] * value; + + // Constraint: ecdsa/signature0/doubling_key/x. + let value = (column11_row35 * column11_row35 - (column11_row1 + column11_row1 + column11_row65)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[83] * value; + + // Constraint: ecdsa/signature0/doubling_key/y. + let value = (column11_row33 + + column11_row97 + - column11_row35 * (column11_row1 - column11_row65)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[84] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. + let value = (ecdsa_signature0_exponentiate_generator_bit_0 + * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[85] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. + let value = (column11_row59) / domain32; + let total_sum = total_sum + *constraint_coefficients[86] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. + let value = (column11_row59) / domain31; + let total_sum = total_sum + *constraint_coefficients[87] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. + let value = (ecdsa_signature0_exponentiate_generator_bit_0 + * (column11_row91 - global_values.ecdsa_generator_points_y) + - column11_row123 * (column11_row27 - global_values.ecdsa_generator_points_x)) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[88] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. + let value = (column11_row123 * column11_row123 + - ecdsa_signature0_exponentiate_generator_bit_0 + * (column11_row27 + global_values.ecdsa_generator_points_x + column11_row155)) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[89] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. + let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (column11_row91 + column11_row219) + - column11_row123 * (column11_row27 - column11_row155)) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[90] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. + let value = (column11_row7 * (column11_row27 - global_values.ecdsa_generator_points_x) - 1) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[91] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. + let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 + * (column11_row155 - column11_row27)) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[92] * value; + + // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. + let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 + * (column11_row219 - column11_row91)) + * domain31 + / domain7; + let total_sum = total_sum + *constraint_coefficients[93] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. + let value = (ecdsa_signature0_exponentiate_key_bit_0 + * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[94] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. + let value = (column11_row9) / domain28; + let total_sum = total_sum + *constraint_coefficients[95] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. + let value = (column11_row9) / domain27; + let total_sum = total_sum + *constraint_coefficients[96] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. + let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 - column11_row33) + - column11_row19 * (column11_row17 - column11_row1)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[97] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. + let value = (column11_row19 * column11_row19 + - ecdsa_signature0_exponentiate_key_bit_0 + * (column11_row17 + column11_row1 + column11_row81)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[98] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. + let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 + column11_row113) + - column11_row19 * (column11_row17 - column11_row81)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[99] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. + let value = (column11_row51 * (column11_row17 - column11_row1) - 1) * domain27 / domain6; + let total_sum = total_sum + *constraint_coefficients[100] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. + let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row81 - column11_row17)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[101] * value; + + // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. + let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row113 - column11_row49)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[102] * value; + + // Constraint: ecdsa/signature0/init_gen/x. + let value = (column11_row27 - global_values.ecdsa_sig_config.shift_point.x) / domain33; + let total_sum = total_sum + *constraint_coefficients[103] * value; + + // Constraint: ecdsa/signature0/init_gen/y. + let value = (column11_row91 + global_values.ecdsa_sig_config.shift_point.y) / domain33; + let total_sum = total_sum + *constraint_coefficients[104] * value; + + // Constraint: ecdsa/signature0/init_key/x. + let value = (column11_row17 - global_values.ecdsa_sig_config.shift_point.x) / domain29; + let total_sum = total_sum + *constraint_coefficients[105] * value; + + // Constraint: ecdsa/signature0/init_key/y. + let value = (column11_row49 - global_values.ecdsa_sig_config.shift_point.y) / domain29; + let total_sum = total_sum + *constraint_coefficients[106] * value; + + // Constraint: ecdsa/signature0/add_results/slope. + let value = (column11_row32731 + - (column11_row16369 + column11_row32763 * (column11_row32667 - column11_row16337))) + / domain33; + let total_sum = total_sum + *constraint_coefficients[107] * value; + + // Constraint: ecdsa/signature0/add_results/x. + let value = (column11_row32763 * column11_row32763 + - (column11_row32667 + column11_row16337 + column11_row16385)) + / domain33; + let total_sum = total_sum + *constraint_coefficients[108] * value; + + // Constraint: ecdsa/signature0/add_results/y. + let value = (column11_row32731 + + column11_row16417 + - column11_row32763 * (column11_row32667 - column11_row16385)) + / domain33; + let total_sum = total_sum + *constraint_coefficients[109] * value; + + // Constraint: ecdsa/signature0/add_results/x_diff_inv. + let value = (column11_row32647 * (column11_row32667 - column11_row16337) - 1) / domain33; + let total_sum = total_sum + *constraint_coefficients[110] * value; + + // Constraint: ecdsa/signature0/extract_r/slope. + let value = (column11_row32753 + + global_values.ecdsa_sig_config.shift_point.y + - column11_row16331 * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x)) + / domain33; + let total_sum = total_sum + *constraint_coefficients[111] * value; + + // Constraint: ecdsa/signature0/extract_r/x. + let value = (column11_row16331 * column11_row16331 + - (column11_row32721 + global_values.ecdsa_sig_config.shift_point.x + column11_row9)) + / domain33; + let total_sum = total_sum + *constraint_coefficients[112] * value; + + // Constraint: ecdsa/signature0/extract_r/x_diff_inv. + let value = (column11_row32715 + * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x) + - 1) + / domain33; + let total_sum = total_sum + *constraint_coefficients[113] * value; + + // Constraint: ecdsa/signature0/z_nonzero. + let value = (column11_row59 * column11_row16363 - 1) / domain33; + let total_sum = total_sum + *constraint_coefficients[114] * value; + + // Constraint: ecdsa/signature0/r_and_w_nonzero. + let value = (column11_row9 * column11_row16355 - 1) / domain29; + let total_sum = total_sum + *constraint_coefficients[115] * value; + + // Constraint: ecdsa/signature0/q_on_curve/x_squared. + let value = (column11_row32747 - column11_row1 * column11_row1) / domain33; + let total_sum = total_sum + *constraint_coefficients[116] * value; + + // Constraint: ecdsa/signature0/q_on_curve/on_curve. + let value = (column11_row33 * column11_row33 + - (column11_row1 * column11_row32747 + + global_values.ecdsa_sig_config.alpha * column11_row1 + + global_values.ecdsa_sig_config.beta)) + / domain33; + let total_sum = total_sum + *constraint_coefficients[117] * value; + + // Constraint: ecdsa/init_addr. + let value = (column8_row390 - global_values.initial_ecdsa_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[118] * value; + + // Constraint: ecdsa/message_addr. + let value = (column8_row16774 - (column8_row390 + 1)) / domain33; + let total_sum = total_sum + *constraint_coefficients[119] * value; + + // Constraint: ecdsa/pubkey_addr. + let value = (column8_row33158 - (column8_row16774 + 1)) * domain150 / domain33; + let total_sum = total_sum + *constraint_coefficients[120] * value; + + // Constraint: ecdsa/message_value0. + let value = (column8_row16775 - column11_row59) / domain33; + let total_sum = total_sum + *constraint_coefficients[121] * value; + + // Constraint: ecdsa/pubkey_value0. + let value = (column8_row391 - column11_row1) / domain33; + let total_sum = total_sum + *constraint_coefficients[122] * value; + + // Constraint: bitwise/init_var_pool_addr. + let value = (column8_row198 - global_values.initial_bitwise_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[123] * value; + + // Constraint: bitwise/step_var_pool_addr. + let value = (column8_row454 - (column8_row198 + 1)) * domain19 / domain8; + let total_sum = total_sum + *constraint_coefficients[124] * value; + + // Constraint: bitwise/x_or_y_addr. + let value = (column8_row902 - (column8_row966 + 1)) / domain20; + let total_sum = total_sum + *constraint_coefficients[125] * value; + + // Constraint: bitwise/next_var_pool_addr. + let value = (column8_row1222 - (column8_row902 + 1)) * domain151 / domain20; + let total_sum = total_sum + *constraint_coefficients[126] * value; + + // Constraint: bitwise/partition. + let value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column8_row199) / domain8; + let total_sum = total_sum + *constraint_coefficients[127] * value; + + // Constraint: bitwise/or_is_and_plus_xor. + let value = (column8_row903 - (column8_row711 + column8_row967)) / domain20; + let total_sum = total_sum + *constraint_coefficients[128] * value; + + // Constraint: bitwise/addition_is_xor_with_and. + let value = (column1_row0 + column1_row256 - (column1_row768 + column1_row512 + column1_row512)) + / domain21; + let total_sum = total_sum + *constraint_coefficients[129] * value; + + // Constraint: bitwise/unique_unpacking192. + let value = ((column1_row704 + column1_row960) * 16 - column1_row8) / domain20; + let total_sum = total_sum + *constraint_coefficients[130] * value; + + // Constraint: bitwise/unique_unpacking193. + let value = ((column1_row720 + column1_row976) * 16 - column1_row520) / domain20; + let total_sum = total_sum + *constraint_coefficients[131] * value; + + // Constraint: bitwise/unique_unpacking194. + let value = ((column1_row736 + column1_row992) * 16 - column1_row264) / domain20; + let total_sum = total_sum + *constraint_coefficients[132] * value; + + // Constraint: bitwise/unique_unpacking195. + let value = ((column1_row752 + column1_row1008) * 256 - column1_row776) / domain20; + let total_sum = total_sum + *constraint_coefficients[133] * value; + + // Constraint: ec_op/init_addr. + let value = (column8_row8582 - global_values.initial_ec_op_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[134] * value; + + // Constraint: ec_op/p_x_addr. + let value = (column8_row24966 - (column8_row8582 + 7)) * domain152 / domain29; + let total_sum = total_sum + *constraint_coefficients[135] * value; + + // Constraint: ec_op/p_y_addr. + let value = (column8_row4486 - (column8_row8582 + 1)) / domain29; + let total_sum = total_sum + *constraint_coefficients[136] * value; + + // Constraint: ec_op/q_x_addr. + let value = (column8_row12678 - (column8_row4486 + 1)) / domain29; + let total_sum = total_sum + *constraint_coefficients[137] * value; + + // Constraint: ec_op/q_y_addr. + let value = (column8_row2438 - (column8_row12678 + 1)) / domain29; + let total_sum = total_sum + *constraint_coefficients[138] * value; + + // Constraint: ec_op/m_addr. + let value = (column8_row10630 - (column8_row2438 + 1)) / domain29; + let total_sum = total_sum + *constraint_coefficients[139] * value; + + // Constraint: ec_op/r_x_addr. + let value = (column8_row6534 - (column8_row10630 + 1)) / domain29; + let total_sum = total_sum + *constraint_coefficients[140] * value; + + // Constraint: ec_op/r_y_addr. + let value = (column8_row14726 - (column8_row6534 + 1)) / domain29; + let total_sum = total_sum + *constraint_coefficients[141] * value; + + // Constraint: ec_op/doubling_q/slope. + let value = (ec_op_doubling_q_x_squared_0 + + ec_op_doubling_q_x_squared_0 + + ec_op_doubling_q_x_squared_0 + + global_values.ec_op_curve_config.alpha + - (column11_row25 + column11_row25) * column11_row57) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[142] * value; + + // Constraint: ec_op/doubling_q/x. + let value = (column11_row57 * column11_row57 + - (column11_row41 + column11_row41 + column11_row105)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[143] * value; + + // Constraint: ec_op/doubling_q/y. + let value = (column11_row25 + + column11_row89 + - column11_row57 * (column11_row41 - column11_row105)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[144] * value; + + // Constraint: ec_op/get_q_x. + let value = (column8_row12679 - column11_row41) / domain29; + let total_sum = total_sum + *constraint_coefficients[145] * value; + + // Constraint: ec_op/get_q_y. + let value = (column8_row2439 - column11_row25) / domain29; + let total_sum = total_sum + *constraint_coefficients[146] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/last_one_is_zero. + let value = (column11_row16371 * (column11_row21 - (column11_row85 + column11_row85))) + / domain29; + let total_sum = total_sum + *constraint_coefficients[147] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones0. + let value = (column11_row16371 + * (column11_row85 + - 3138550867693340381917894711603833208051177722232017256448 * column11_row12309)) + / domain29; + let total_sum = total_sum + *constraint_coefficients[148] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit192. + let value = (column11_row16371 + - column11_row16339 * (column11_row12309 - (column11_row12373 + column11_row12373))) + / domain29; + let total_sum = total_sum + *constraint_coefficients[149] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones192. + let value = (column11_row16339 * (column11_row12373 - 8 * column11_row12565)) / domain29; + let total_sum = total_sum + *constraint_coefficients[150] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit196. + let value = (column11_row16339 + - (column11_row16085 - (column11_row16149 + column11_row16149)) + * (column11_row12565 - (column11_row12629 + column11_row12629))) + / domain29; + let total_sum = total_sum + *constraint_coefficients[151] * value; + + // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones196. + let value = ((column11_row16085 - (column11_row16149 + column11_row16149)) + * (column11_row12629 - 18014398509481984 * column11_row16085)) + / domain29; + let total_sum = total_sum + *constraint_coefficients[152] * value; + + // Constraint: ec_op/ec_subset_sum/booleanity_test. + let value = (ec_op_ec_subset_sum_bit_0 * (ec_op_ec_subset_sum_bit_0 - 1)) * domain27 / domain6; + let total_sum = total_sum + *constraint_coefficients[153] * value; + + // Constraint: ec_op/ec_subset_sum/bit_extraction_end. + let value = (column11_row21) / domain30; + let total_sum = total_sum + *constraint_coefficients[154] * value; + + // Constraint: ec_op/ec_subset_sum/zeros_tail. + let value = (column11_row21) / domain27; + let total_sum = total_sum + *constraint_coefficients[155] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/slope. + let value = (ec_op_ec_subset_sum_bit_0 * (column11_row37 - column11_row25) + - column11_row11 * (column11_row5 - column11_row41)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[156] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/x. + let value = (column11_row11 * column11_row11 + - ec_op_ec_subset_sum_bit_0 * (column11_row5 + column11_row41 + column11_row69)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[157] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/y. + let value = (ec_op_ec_subset_sum_bit_0 * (column11_row37 + column11_row101) + - column11_row11 * (column11_row5 - column11_row69)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[158] * value; + + // Constraint: ec_op/ec_subset_sum/add_points/x_diff_inv. + let value = (column11_row43 * (column11_row5 - column11_row41) - 1) * domain27 / domain6; + let total_sum = total_sum + *constraint_coefficients[159] * value; + + // Constraint: ec_op/ec_subset_sum/copy_point/x. + let value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row69 - column11_row5)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[160] * value; + + // Constraint: ec_op/ec_subset_sum/copy_point/y. + let value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row101 - column11_row37)) + * domain27 + / domain6; + let total_sum = total_sum + *constraint_coefficients[161] * value; + + // Constraint: ec_op/get_m. + let value = (column11_row21 - column8_row10631) / domain29; + let total_sum = total_sum + *constraint_coefficients[162] * value; + + // Constraint: ec_op/get_p_x. + let value = (column8_row8583 - column11_row5) / domain29; + let total_sum = total_sum + *constraint_coefficients[163] * value; + + // Constraint: ec_op/get_p_y. + let value = (column8_row4487 - column11_row37) / domain29; + let total_sum = total_sum + *constraint_coefficients[164] * value; + + // Constraint: ec_op/set_r_x. + let value = (column8_row6535 - column11_row16325) / domain29; + let total_sum = total_sum + *constraint_coefficients[165] * value; + + // Constraint: ec_op/set_r_y. + let value = (column8_row14727 - column11_row16357) / domain29; + let total_sum = total_sum + *constraint_coefficients[166] * value; + + // Constraint: keccak/init_input_output_addr. + let value = (column8_row1414 - global_values.initial_keccak_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[167] * value; + + // Constraint: keccak/addr_input_output_step. + let value = (column8_row3462 - (column8_row1414 + 1)) * domain153 / domain22; + let total_sum = total_sum + *constraint_coefficients[168] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w0. + let value = (column8_row1415 - column7_row0) / domain33; + let total_sum = total_sum + *constraint_coefficients[169] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w1. + let value = (column8_row3463 - column7_row1) / domain33; + let total_sum = total_sum + *constraint_coefficients[170] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w2. + let value = (column8_row5511 - column7_row2) / domain33; + let total_sum = total_sum + *constraint_coefficients[171] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w3. + let value = (column8_row7559 - column7_row3) / domain33; + let total_sum = total_sum + *constraint_coefficients[172] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w4. + let value = (column8_row9607 - column7_row4) / domain33; + let total_sum = total_sum + *constraint_coefficients[173] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w5. + let value = (column8_row11655 - column7_row5) / domain33; + let total_sum = total_sum + *constraint_coefficients[174] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w6. + let value = (column8_row13703 - column7_row6) / domain33; + let total_sum = total_sum + *constraint_coefficients[175] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w7. + let value = (column8_row15751 - column7_row7) / domain33; + let total_sum = total_sum + *constraint_coefficients[176] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w0. + let value = (column8_row17799 - column7_row8) / domain33; + let total_sum = total_sum + *constraint_coefficients[177] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w1. + let value = (column8_row19847 - column7_row9) / domain33; + let total_sum = total_sum + *constraint_coefficients[178] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w2. + let value = (column8_row21895 - column7_row10) / domain33; + let total_sum = total_sum + *constraint_coefficients[179] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w3. + let value = (column8_row23943 - column7_row11) / domain33; + let total_sum = total_sum + *constraint_coefficients[180] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w4. + let value = (column8_row25991 - column7_row12) / domain33; + let total_sum = total_sum + *constraint_coefficients[181] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w5. + let value = (column8_row28039 - column7_row13) / domain33; + let total_sum = total_sum + *constraint_coefficients[182] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w6. + let value = (column8_row30087 - column7_row14) / domain33; + let total_sum = total_sum + *constraint_coefficients[183] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w7. + let value = (column8_row32135 - column7_row15) / domain33; + let total_sum = total_sum + *constraint_coefficients[184] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final0. + let value = (column7_row0 - column7_row16144) / domain36; + let total_sum = total_sum + *constraint_coefficients[185] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final1. + let value = (column7_row32768 - column7_row16160) / domain36; + let total_sum = total_sum + *constraint_coefficients[186] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final2. + let value = (column7_row65536 - column7_row16176) / domain36; + let total_sum = total_sum + *constraint_coefficients[187] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final3. + let value = (column7_row98304 - column7_row16192) / domain36; + let total_sum = total_sum + *constraint_coefficients[188] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final4. + let value = (column7_row131072 - column7_row16208) / domain36; + let total_sum = total_sum + *constraint_coefficients[189] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final5. + let value = (column7_row163840 - column7_row16224) / domain36; + let total_sum = total_sum + *constraint_coefficients[190] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final6. + let value = (column7_row196608 - column7_row16240) / domain36; + let total_sum = total_sum + *constraint_coefficients[191] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final7. + let value = (column7_row229376 - column7_row16256) / domain36; + let total_sum = total_sum + *constraint_coefficients[192] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final8. + let value = (column7_row262144 - column7_row16272) / domain36; + let total_sum = total_sum + *constraint_coefficients[193] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final9. + let value = (column7_row294912 - column7_row16288) / domain36; + let total_sum = total_sum + *constraint_coefficients[194] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final10. + let value = (column7_row327680 - column7_row16304) / domain36; + let total_sum = total_sum + *constraint_coefficients[195] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final11. + let value = (column7_row360448 - column7_row16320) / domain36; + let total_sum = total_sum + *constraint_coefficients[196] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final12. + let value = (column7_row393216 - column7_row16336) / domain36; + let total_sum = total_sum + *constraint_coefficients[197] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final13. + let value = (column7_row425984 - column7_row16352) / domain36; + let total_sum = total_sum + *constraint_coefficients[198] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final14. + let value = (column7_row458752 - column7_row16368) / domain36; + let total_sum = total_sum + *constraint_coefficients[199] * value; + + // Constraint: keccak/keccak/parse_to_diluted/reshape_final15. + let value = (column7_row491520 - column7_row16384) / domain36; + let total_sum = total_sum + *constraint_coefficients[200] * value; + + // Constraint: keccak/keccak/parse_to_diluted/start_accumulation. + let value = (column10_row6403) / domain40; + let total_sum = total_sum + *constraint_coefficients[201] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation0. + let value = (column7_row16144 - keccak_keccak_parse_to_diluted_sum_words_over_instances0_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[202] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations0. + let value = (column7_row16160 + + keccak_keccak_parse_to_diluted_sum_words_over_instances0_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances0_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[203] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation1. + let value = (column7_row16145 - keccak_keccak_parse_to_diluted_sum_words_over_instances1_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[204] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations1. + let value = (column7_row16161 + + keccak_keccak_parse_to_diluted_sum_words_over_instances1_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances1_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[205] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation2. + let value = (column7_row16146 - keccak_keccak_parse_to_diluted_sum_words_over_instances2_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[206] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations2. + let value = (column7_row16162 + + keccak_keccak_parse_to_diluted_sum_words_over_instances2_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances2_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[207] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation3. + let value = (column7_row16147 - keccak_keccak_parse_to_diluted_sum_words_over_instances3_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[208] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations3. + let value = (column7_row16163 + + keccak_keccak_parse_to_diluted_sum_words_over_instances3_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances3_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[209] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation4. + let value = (column7_row16148 - keccak_keccak_parse_to_diluted_sum_words_over_instances4_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[210] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations4. + let value = (column7_row16164 + + keccak_keccak_parse_to_diluted_sum_words_over_instances4_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances4_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[211] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation5. + let value = (column7_row16149 - keccak_keccak_parse_to_diluted_sum_words_over_instances5_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[212] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations5. + let value = (column7_row16165 + + keccak_keccak_parse_to_diluted_sum_words_over_instances5_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances5_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[213] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation6. + let value = (column7_row16150 - keccak_keccak_parse_to_diluted_sum_words_over_instances6_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[214] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations6. + let value = (column7_row16166 + + keccak_keccak_parse_to_diluted_sum_words_over_instances6_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances6_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[215] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation7. + let value = (column7_row16151 - keccak_keccak_parse_to_diluted_sum_words_over_instances7_0) + / domain35; + let total_sum = total_sum + *constraint_coefficients[216] * value; + + // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations7. + let value = (column7_row16167 + + keccak_keccak_parse_to_diluted_sum_words_over_instances7_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances7_2) + / domain39; + let total_sum = total_sum + *constraint_coefficients[217] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation1. + let value = (keccak_keccak_parse_to_diluted_partial_diluted1_0 + * keccak_keccak_parse_to_diluted_partial_diluted1_0 + - keccak_keccak_parse_to_diluted_partial_diluted1_0) + / domain43; + let total_sum = total_sum + *constraint_coefficients[218] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations1. + let value = (keccak_keccak_parse_to_diluted_bit_other1_0 + * keccak_keccak_parse_to_diluted_bit_other1_0 + - keccak_keccak_parse_to_diluted_bit_other1_0) + / domain44; + let total_sum = total_sum + *constraint_coefficients[219] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p1. + let value = (keccak_keccak_parse_to_diluted_partial_diluted1_30 - column1_row516100) / domain45; + let total_sum = total_sum + *constraint_coefficients[220] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p1. + let value = (keccak_keccak_parse_to_diluted_partial_diluted1_31 - column1_row516292) / domain45; + let total_sum = total_sum + *constraint_coefficients[221] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation0. + let value = (keccak_keccak_parse_to_diluted_partial_diluted0_0 + * keccak_keccak_parse_to_diluted_partial_diluted0_0 + - keccak_keccak_parse_to_diluted_partial_diluted0_0) + * domain49 + / domain11; + let total_sum = total_sum + *constraint_coefficients[222] * value; + + // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations0. + let value = (keccak_keccak_parse_to_diluted_bit_other0_0 + * keccak_keccak_parse_to_diluted_bit_other0_0 + - keccak_keccak_parse_to_diluted_bit_other0_0) + * domain52 + / domain3; + let total_sum = total_sum + *constraint_coefficients[223] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p0. + let value = (keccak_keccak_parse_to_diluted_partial_diluted0_30 - column1_row4) + * domain53 + / domain8; + let total_sum = total_sum + *constraint_coefficients[224] * value; + + // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p0. + let value = (keccak_keccak_parse_to_diluted_partial_diluted0_31 - column1_row196) + * domain53 + / domain8; + let total_sum = total_sum + *constraint_coefficients[225] * value; + + // Constraint: keccak/keccak/parity0. + let value = (column1_row4 + + column1_row1284 + + column1_row2564 + + column1_row3844 + + column1_row5124 + - (column1_row6404 + column1_row6598 + column1_row6598 + column1_row6978 * 4)) + / domain24; + let total_sum = total_sum + *constraint_coefficients[226] * value; + + // Constraint: keccak/keccak/parity1. + let value = (column1_row260 + + column1_row1540 + + column1_row2820 + + column1_row4100 + + column1_row5380 + - (column1_row6402 + column1_row6788 + column1_row6788 + column1_row6982 * 4)) + / domain24; + let total_sum = total_sum + *constraint_coefficients[227] * value; + + // Constraint: keccak/keccak/parity2. + let value = (column1_row516 + + column1_row1796 + + column1_row3076 + + column1_row4356 + + column1_row5636 + - (column1_row6406 + column1_row6786 + column1_row6786 + column1_row7172 * 4)) + / domain24; + let total_sum = total_sum + *constraint_coefficients[228] * value; + + // Constraint: keccak/keccak/parity3. + let value = (column1_row772 + + column1_row2052 + + column1_row3332 + + column1_row4612 + + column1_row5892 + - (column1_row6596 + column1_row6790 + column1_row6790 + column1_row7170 * 4)) + / domain24; + let total_sum = total_sum + *constraint_coefficients[229] * value; + + // Constraint: keccak/keccak/parity4. + let value = (column1_row1028 + + column1_row2308 + + column1_row3588 + + column1_row4868 + + column1_row6148 + - (column1_row6594 + column1_row6980 + column1_row6980 + column1_row7174 * 4)) + / domain24; + let total_sum = total_sum + *constraint_coefficients[230] * value; + + // Constraint: keccak/keccak/rotate_parity0/n0. + let value = (column10_row7 - column1_row522500) / domain38; + let total_sum = total_sum + *constraint_coefficients[231] * value; + + // Constraint: keccak/keccak/rotate_parity0/n1. + let value = (column10_row8199 - column1_row6404) * domain55 / domain24; + let total_sum = total_sum + *constraint_coefficients[232] * value; + + // Constraint: keccak/keccak/rotate_parity1/n0. + let value = (column10_row8003 - column1_row522498) / domain38; + let total_sum = total_sum + *constraint_coefficients[233] * value; + + // Constraint: keccak/keccak/rotate_parity1/n1. + let value = (column10_row16195 - column1_row6402) * domain55 / domain24; + let total_sum = total_sum + *constraint_coefficients[234] * value; + + // Constraint: keccak/keccak/rotate_parity2/n0. + let value = (column10_row4103 - column1_row522502) / domain38; + let total_sum = total_sum + *constraint_coefficients[235] * value; + + // Constraint: keccak/keccak/rotate_parity2/n1. + let value = (column10_row12295 - column1_row6406) * domain55 / domain24; + let total_sum = total_sum + *constraint_coefficients[236] * value; + + // Constraint: keccak/keccak/rotate_parity3/n0. + let value = (column10_row7811 - column1_row522692) / domain38; + let total_sum = total_sum + *constraint_coefficients[237] * value; + + // Constraint: keccak/keccak/rotate_parity3/n1. + let value = (column10_row16003 - column1_row6596) * domain55 / domain24; + let total_sum = total_sum + *constraint_coefficients[238] * value; + + // Constraint: keccak/keccak/rotate_parity4/n0. + let value = (column10_row2055 - column1_row522690) / domain38; + let total_sum = total_sum + *constraint_coefficients[239] * value; + + // Constraint: keccak/keccak/rotate_parity4/n1. + let value = (column10_row10247 - column1_row6594) * domain55 / domain24; + let total_sum = total_sum + *constraint_coefficients[240] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j0. + let value = (keccak_keccak_sum_parities0_0 + + column1_row4 + - (column1_row1 + column1_row7364 + column1_row7364)) + / domain24; + let total_sum = total_sum + *constraint_coefficients[241] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n0. + let value = (keccak_keccak_sum_parities1_0 + + column1_row260 + - (column1_row10753 + column1_row15942 + column1_row15942)) + * domain55 + / domain24; + let total_sum = total_sum + *constraint_coefficients[242] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n1. + let value = (keccak_keccak_sum_parities1_64512 + + column1_row516356 + - (column1_row2561 + column1_row7750 + column1_row7750)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[243] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n0. + let value = (keccak_keccak_sum_parities2_0 + + column1_row516 + - (column1_row513025 + column1_row515841 + column1_row515841)) + / domain57; + let total_sum = total_sum + *constraint_coefficients[244] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n1. + let value = (keccak_keccak_sum_parities2_2048 + + column1_row16900 + - (column1_row5121 + column1_row7937 + column1_row7937)) + * domain59 + / domain24; + let total_sum = total_sum + *constraint_coefficients[245] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n0. + let value = (keccak_keccak_sum_parities3_0 + + column1_row772 + - (column1_row230657 + column1_row236930 + column1_row236930)) + * domain85 + / domain24; + let total_sum = total_sum + *constraint_coefficients[246] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n1. + let value = (keccak_keccak_sum_parities3_36864 + + column1_row295684 + - (column1_row1281 + column1_row7554 + column1_row7554)) + / domain117; + let total_sum = total_sum + *constraint_coefficients[247] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n0. + let value = (keccak_keccak_sum_parities4_0 + + column1_row1028 + - (column1_row225025 + column1_row228161 + column1_row228161)) + * domain84 + / domain24; + let total_sum = total_sum + *constraint_coefficients[248] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n1. + let value = (keccak_keccak_sum_parities4_37888 + + column1_row304132 + - (column1_row3841 + column1_row6977 + column1_row6977)) + / domain116; + let total_sum = total_sum + *constraint_coefficients[249] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n0. + let value = (keccak_keccak_sum_parities0_0 + + column1_row1284 + - (column1_row299009 + column1_row302081 + column1_row302081)) + / domain117; + let total_sum = total_sum + *constraint_coefficients[250] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n1. + let value = (keccak_keccak_sum_parities0_28672 + + column1_row230660 + - (column1_row4097 + column1_row7169 + column1_row7169)) + * domain85 + / domain24; + let total_sum = total_sum + *constraint_coefficients[251] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n0. + let value = (keccak_keccak_sum_parities1_0 + + column1_row1540 + - (column1_row360705 + column1_row367810 + column1_row367810)) + / domain110; + let total_sum = total_sum + *constraint_coefficients[252] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n1. + let value = (keccak_keccak_sum_parities1_20480 + + column1_row165380 + - (column1_row257 + column1_row7362 + column1_row7362)) + * domain78 + / domain24; + let total_sum = total_sum + *constraint_coefficients[253] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n0. + let value = (keccak_keccak_sum_parities2_0 + + column1_row1796 + - (column1_row51969 + column1_row55937 + column1_row55937)) + * domain63 + / domain24; + let total_sum = total_sum + *constraint_coefficients[254] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n1. + let value = (keccak_keccak_sum_parities2_59392 + + column1_row476932 + - (column1_row2817 + column1_row6785 + column1_row6785)) + / domain91; + let total_sum = total_sum + *constraint_coefficients[255] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n0. + let value = (keccak_keccak_sum_parities3_0 + + column1_row2052 + - (column1_row455937 + column1_row450753 + column1_row450753)) + / domain120; + let total_sum = total_sum + *constraint_coefficients[256] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n1. + let value = (keccak_keccak_sum_parities3_8 + + column1_row2116 + - (column1_row456001 + column1_row451009 + column1_row451009)) + / domain120; + let total_sum = total_sum + *constraint_coefficients[257] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n2. + let value = (keccak_keccak_sum_parities3_16 + + column1_row2180 + - (column1_row456065 + column1_row451265 + column1_row451265)) + / domain120; + let total_sum = total_sum + *constraint_coefficients[258] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n3. + let value = (keccak_keccak_sum_parities3_9216 + + column1_row75780 + - (column1_row5377 + column1_row193 + column1_row193)) + * domain123 + / domain23; + let total_sum = total_sum + *constraint_coefficients[259] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n4. + let value = (keccak_keccak_sum_parities3_9224 + + column1_row75844 + - (column1_row5441 + column1_row449 + column1_row449)) + * domain123 + / domain23; + let total_sum = total_sum + *constraint_coefficients[260] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n5. + let value = (keccak_keccak_sum_parities3_9232 + + column1_row75908 + - (column1_row5505 + column1_row705 + column1_row705)) + * domain123 + / domain23; + let total_sum = total_sum + *constraint_coefficients[261] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n0. + let value = (keccak_keccak_sum_parities4_0 + + column1_row2308 + - (column1_row165377 + column1_row171398 + column1_row171398)) + * domain78 + / domain24; + let total_sum = total_sum + *constraint_coefficients[262] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n1. + let value = (keccak_keccak_sum_parities4_45056 + + column1_row362756 + - (column1_row1537 + column1_row7558 + column1_row7558)) + / domain110; + let total_sum = total_sum + *constraint_coefficients[263] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n0. + let value = (keccak_keccak_sum_parities0_0 + + column1_row2564 + - (column1_row26369 + column1_row31169 + column1_row31169)) + * domain124 + / domain24; + let total_sum = total_sum + *constraint_coefficients[264] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n1. + let value = (keccak_keccak_sum_parities0_62464 + + column1_row502276 + - (column1_row1793 + column1_row6593 + column1_row6593)) + / domain125; + let total_sum = total_sum + *constraint_coefficients[265] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n0. + let value = (keccak_keccak_sum_parities1_0 + + column1_row2820 + - (column1_row86273 + column1_row89281 + column1_row89281)) + * domain68 + / domain24; + let total_sum = total_sum + *constraint_coefficients[266] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n1. + let value = (keccak_keccak_sum_parities1_55296 + + column1_row445188 + - (column1_row4353 + column1_row7361 + column1_row7361)) + / domain98; + let total_sum = total_sum + *constraint_coefficients[267] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n0. + let value = (keccak_keccak_sum_parities2_0 + + column1_row3076 + - (column1_row352769 + column1_row359622 + column1_row359622)) + / domain112; + let total_sum = total_sum + *constraint_coefficients[268] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n1. + let value = (keccak_keccak_sum_parities2_21504 + + column1_row175108 + - (column1_row513 + column1_row7366 + column1_row7366)) + * domain80 + / domain24; + let total_sum = total_sum + *constraint_coefficients[269] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n0. + let value = (keccak_keccak_sum_parities3_0 + + column1_row3332 + - (column1_row207873 + column1_row212740 + column1_row212740)) + * domain83 + / domain24; + let total_sum = total_sum + *constraint_coefficients[270] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n1. + let value = (keccak_keccak_sum_parities3_39936 + + column1_row322820 + - (column1_row3073 + column1_row7940 + column1_row7940)) + / domain115; + let total_sum = total_sum + *constraint_coefficients[271] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n0. + let value = (keccak_keccak_sum_parities4_0 + + column1_row3588 + - (column1_row325121 + column1_row320449 + column1_row320449)) + / domain127; + let total_sum = total_sum + *constraint_coefficients[272] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n1. + let value = (keccak_keccak_sum_parities4_8 + + column1_row3652 + - (column1_row325185 + column1_row320705 + column1_row320705)) + / domain127; + let total_sum = total_sum + *constraint_coefficients[273] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n2. + let value = (keccak_keccak_sum_parities4_16 + + column1_row3716 + - (column1_row325249 + column1_row320961 + column1_row320961)) + / domain127; + let total_sum = total_sum + *constraint_coefficients[274] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n3. + let value = (keccak_keccak_sum_parities4_25600 + + column1_row208388 + - (column1_row5633 + column1_row961 + column1_row961)) + * domain129 + / domain23; + let total_sum = total_sum + *constraint_coefficients[275] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n4. + let value = (keccak_keccak_sum_parities4_25608 + + column1_row208452 + - (column1_row5697 + column1_row1217 + column1_row1217)) + * domain129 + / domain23; + let total_sum = total_sum + *constraint_coefficients[276] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n5. + let value = (keccak_keccak_sum_parities4_25616 + + column1_row208516 + - (column1_row5761 + column1_row1473 + column1_row1473)) + * domain129 + / domain23; + let total_sum = total_sum + *constraint_coefficients[277] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n0. + let value = (keccak_keccak_sum_parities0_0 + + column1_row3844 + - (column1_row341761 + column1_row337601 + column1_row337601)) + / domain130; + let total_sum = total_sum + *constraint_coefficients[278] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n1. + let value = (keccak_keccak_sum_parities0_8 + + column1_row3908 + - (column1_row341825 + column1_row337857 + column1_row337857)) + / domain130; + let total_sum = total_sum + *constraint_coefficients[279] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n2. + let value = (keccak_keccak_sum_parities0_16 + + column1_row3972 + - (column1_row341889 + column1_row338113 + column1_row338113)) + / domain130; + let total_sum = total_sum + *constraint_coefficients[280] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n3. + let value = (keccak_keccak_sum_parities0_23552 + + column1_row192260 + - (column1_row5889 + column1_row1729 + column1_row1729)) + * domain131 + / domain23; + let total_sum = total_sum + *constraint_coefficients[281] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n4. + let value = (keccak_keccak_sum_parities0_23560 + + column1_row192324 + - (column1_row5953 + column1_row1985 + column1_row1985)) + * domain131 + / domain23; + let total_sum = total_sum + *constraint_coefficients[282] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n5. + let value = (keccak_keccak_sum_parities0_23568 + + column1_row192388 + - (column1_row6017 + column1_row2241 + column1_row2241)) + * domain131 + / domain23; + let total_sum = total_sum + *constraint_coefficients[283] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n0. + let value = (keccak_keccak_sum_parities1_0 + + column1_row4100 + - (column1_row370689 + column1_row376388 + column1_row376388)) + / domain132; + let total_sum = total_sum + *constraint_coefficients[284] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n1. + let value = (keccak_keccak_sum_parities1_19456 + + column1_row159748 + - (column1_row2049 + column1_row7748 + column1_row7748)) + * domain133 + / domain24; + let total_sum = total_sum + *constraint_coefficients[285] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n0. + let value = (keccak_keccak_sum_parities2_0 + + column1_row4356 + - (column1_row127489 + column1_row130433 + column1_row130433)) + * domain134 + / domain24; + let total_sum = total_sum + *constraint_coefficients[286] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n1. + let value = (keccak_keccak_sum_parities2_50176 + + column1_row405764 + - (column1_row4609 + column1_row7553 + column1_row7553)) + / domain135; + let total_sum = total_sum + *constraint_coefficients[287] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n0. + let value = (keccak_keccak_sum_parities3_0 + + column1_row4612 + - (column1_row172801 + column1_row178433 + column1_row178433)) + * domain80 + / domain24; + let total_sum = total_sum + *constraint_coefficients[288] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n1. + let value = (keccak_keccak_sum_parities3_44032 + + column1_row356868 + - (column1_row769 + column1_row6401 + column1_row6401)) + / domain112; + let total_sum = total_sum + *constraint_coefficients[289] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n0. + let value = (keccak_keccak_sum_parities4_0 + + column1_row4868 + - (column1_row68865 + column1_row73474 + column1_row73474)) + * domain136 + / domain24; + let total_sum = total_sum + *constraint_coefficients[290] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n1. + let value = (keccak_keccak_sum_parities4_57344 + + column1_row463620 + - (column1_row3329 + column1_row7938 + column1_row7938)) + / domain137; + let total_sum = total_sum + *constraint_coefficients[291] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n0. + let value = (keccak_keccak_sum_parities0_0 + + column1_row5124 + - (column1_row151041 + column1_row155398 + column1_row155398)) + * domain138 + / domain24; + let total_sum = total_sum + *constraint_coefficients[292] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n1. + let value = (keccak_keccak_sum_parities0_47104 + + column1_row381956 + - (column1_row3585 + column1_row7942 + column1_row7942)) + / domain139; + let total_sum = total_sum + *constraint_coefficients[293] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n0. + let value = (keccak_keccak_sum_parities1_0 + + column1_row5380 + - (column1_row22529 + column1_row18881 + column1_row18881)) + * domain121 + / domain23; + let total_sum = total_sum + *constraint_coefficients[294] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n1. + let value = (keccak_keccak_sum_parities1_8 + + column1_row5444 + - (column1_row22593 + column1_row19137 + column1_row19137)) + * domain121 + / domain23; + let total_sum = total_sum + *constraint_coefficients[295] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n2. + let value = (keccak_keccak_sum_parities1_16 + + column1_row5508 + - (column1_row22657 + column1_row19393 + column1_row19393)) + * domain121 + / domain23; + let total_sum = total_sum + *constraint_coefficients[296] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n3. + let value = (keccak_keccak_sum_parities1_63488 + + column1_row513284 + - (column1_row6145 + column1_row2497 + column1_row2497)) + / domain118; + let total_sum = total_sum + *constraint_coefficients[297] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n4. + let value = (keccak_keccak_sum_parities1_63496 + + column1_row513348 + - (column1_row6209 + column1_row2753 + column1_row2753)) + / domain118; + let total_sum = total_sum + *constraint_coefficients[298] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n5. + let value = (keccak_keccak_sum_parities1_63504 + + column1_row513412 + - (column1_row6273 + column1_row3009 + column1_row3009)) + / domain118; + let total_sum = total_sum + *constraint_coefficients[299] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n0. + let value = (keccak_keccak_sum_parities2_0 + + column1_row5636 + - (column1_row502017 + column1_row507458 + column1_row507458)) + / domain125; + let total_sum = total_sum + *constraint_coefficients[300] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n1. + let value = (keccak_keccak_sum_parities2_3072 + + column1_row30212 + - (column1_row2305 + column1_row7746 + column1_row7746)) + * domain124 + / domain24; + let total_sum = total_sum + *constraint_coefficients[301] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n0. + let value = (keccak_keccak_sum_parities3_0 + + column1_row5892 + - (column1_row463617 + column1_row466497 + column1_row466497)) + / domain137; + let total_sum = total_sum + *constraint_coefficients[302] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n1. + let value = (keccak_keccak_sum_parities3_8192 + + column1_row71428 + - (column1_row4865 + column1_row7745 + column1_row7745)) + * domain136 + / domain24; + let total_sum = total_sum + *constraint_coefficients[303] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n0. + let value = (keccak_keccak_sum_parities4_0 + + column1_row6148 + - (column1_row115713 + column1_row122244 + column1_row122244)) + * domain140 + / domain24; + let total_sum = total_sum + *constraint_coefficients[304] * value; + + // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n1. + let value = (keccak_keccak_sum_parities4_51200 + + column1_row415748 + - (column1_row1025 + column1_row7556 + column1_row7556)) + / domain141; + let total_sum = total_sum + *constraint_coefficients[305] * value; + + // Constraint: keccak/keccak/chi_iota0. + let value = (global_values.keccak_keccak_keccak_round_key0 + + column1_row1 + + column1_row1 + + keccak_keccak_after_theta_rho_pi_xor_one_32 + + column1_row513 + - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[306] * value; + + // Constraint: keccak/keccak/chi_iota1. + let value = (global_values.keccak_keccak_keccak_round_key1 + + column1_row8193 + + column1_row8193 + + keccak_keccak_after_theta_rho_pi_xor_one_1056 + + column1_row8705 + - (column1_row8194 + column1_row8204 + column1_row8204 + column1_row8198 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[307] * value; + + // Constraint: keccak/keccak/chi_iota3. + let value = (global_values.keccak_keccak_keccak_round_key3 + + column1_row24577 + + column1_row24577 + + keccak_keccak_after_theta_rho_pi_xor_one_3104 + + column1_row25089 + - (column1_row24578 + column1_row24588 + column1_row24588 + column1_row24582 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[308] * value; + + // Constraint: keccak/keccak/chi_iota7. + let value = (global_values.keccak_keccak_keccak_round_key7 + + column1_row57345 + + column1_row57345 + + keccak_keccak_after_theta_rho_pi_xor_one_7200 + + column1_row57857 + - (column1_row57346 + column1_row57356 + column1_row57356 + column1_row57350 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[309] * value; + + // Constraint: keccak/keccak/chi_iota15. + let value = (global_values.keccak_keccak_keccak_round_key15 + + column1_row122881 + + column1_row122881 + + keccak_keccak_after_theta_rho_pi_xor_one_15392 + + column1_row123393 + - (column1_row122882 + column1_row122892 + column1_row122892 + column1_row122886 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[310] * value; + + // Constraint: keccak/keccak/chi_iota31. + let value = (global_values.keccak_keccak_keccak_round_key31 + + column1_row253953 + + column1_row253953 + + keccak_keccak_after_theta_rho_pi_xor_one_31776 + + column1_row254465 + - (column1_row253954 + column1_row253964 + column1_row253964 + column1_row253958 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[311] * value; + + // Constraint: keccak/keccak/chi_iota63. + let value = (global_values.keccak_keccak_keccak_round_key63 + + column1_row516097 + + column1_row516097 + + keccak_keccak_after_theta_rho_pi_xor_one_64544 + + column1_row516609 + - (column1_row516098 + column1_row516108 + column1_row516108 + column1_row516102 * 4)) + / domain38; + let total_sum = total_sum + *constraint_coefficients[312] * value; + + // Constraint: keccak/keccak/chi0. + let value = (column1_row1 + + column1_row1 + + keccak_keccak_after_theta_rho_pi_xor_one_32 + + column1_row513 + - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) + * domain142 + / domain26; + let total_sum = total_sum + *constraint_coefficients[313] * value; + + // Constraint: keccak/keccak/chi1. + let value = (column1_row1025 + + column1_row1025 + + keccak_keccak_after_theta_rho_pi_xor_one_0 + + column1_row257 + - (column1_row1026 + column1_row1036 + column1_row1036 + column1_row1030 * 4)) + / domain25; + let total_sum = total_sum + *constraint_coefficients[314] * value; + + // Constraint: keccak/keccak/chi2. + let value = (column1_row769 + + column1_row769 + + keccak_keccak_after_theta_rho_pi_xor_one_128 + + column1_row1 + - (column1_row770 + column1_row780 + column1_row780 + column1_row774 * 4)) + / domain25; + let total_sum = total_sum + *constraint_coefficients[315] * value; + + // Constraint: poseidon/param_0/init_input_output_addr. + let value = (column8_row38 - global_values.initial_poseidon_addr) / domain144; + let total_sum = total_sum + *constraint_coefficients[316] * value; + + // Constraint: poseidon/param_0/addr_input_output_step. + let value = (column8_row294 - (column8_row38 + 3)) * domain149 / domain8; + let total_sum = total_sum + *constraint_coefficients[317] * value; + + // Constraint: poseidon/param_1/init_input_output_addr. + let value = (column8_row166 - (global_values.initial_poseidon_addr + 1)) / domain144; + let total_sum = total_sum + *constraint_coefficients[318] * value; + + // Constraint: poseidon/param_1/addr_input_output_step. + let value = (column8_row422 - (column8_row166 + 3)) * domain149 / domain8; + let total_sum = total_sum + *constraint_coefficients[319] * value; + + // Constraint: poseidon/param_2/init_input_output_addr. + let value = (column8_row102 - (global_values.initial_poseidon_addr + 2)) / domain144; + let total_sum = total_sum + *constraint_coefficients[320] * value; + + // Constraint: poseidon/param_2/addr_input_output_step. + let value = (column8_row358 - (column8_row102 + 3)) * domain149 / domain8; + let total_sum = total_sum + *constraint_coefficients[321] * value; + + // Constraint: poseidon/poseidon/full_rounds_state0_squaring. + let value = (column11_row53 * column11_row53 - column11_row29) / domain6; + let total_sum = total_sum + *constraint_coefficients[322] * value; + + // Constraint: poseidon/poseidon/full_rounds_state1_squaring. + let value = (column11_row13 * column11_row13 - column11_row61) / domain6; + let total_sum = total_sum + *constraint_coefficients[323] * value; + + // Constraint: poseidon/poseidon/full_rounds_state2_squaring. + let value = (column11_row45 * column11_row45 - column11_row3) / domain6; + let total_sum = total_sum + *constraint_coefficients[324] * value; + + // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. + let value = (column10_row1 * column10_row1 - column10_row5) / domain3; + let total_sum = total_sum + *constraint_coefficients[325] * value; + + // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. + let value = (column11_row6 * column11_row6 - column11_row14) * domain16 / domain5; + let total_sum = total_sum + *constraint_coefficients[326] * value; + + // Constraint: poseidon/poseidon/add_first_round_key0. + let value = (column8_row39 + + 2950795762459345168613727575620414179244544320470208355568817838579231751791 + - column11_row53) + / domain14; + let total_sum = total_sum + *constraint_coefficients[327] * value; + + // Constraint: poseidon/poseidon/add_first_round_key1. + let value = (column8_row167 + + 1587446564224215276866294500450702039420286416111469274423465069420553242820 + - column11_row13) + / domain14; + let total_sum = total_sum + *constraint_coefficients[328] * value; + + // Constraint: poseidon/poseidon/add_first_round_key2. + let value = (column8_row103 + + 1645965921169490687904413452218868659025437693527479459426157555728339600137 + - column11_row45) + / domain14; + let total_sum = total_sum + *constraint_coefficients[329] * value; + + // Constraint: poseidon/poseidon/full_round0. + let value = (column11_row117 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state1_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + global_values.poseidon_poseidon_full_round_key0)) + * domain12 + / domain6; + let total_sum = total_sum + *constraint_coefficients[330] * value; + + // Constraint: poseidon/poseidon/full_round1. + let value = (column11_row77 + + poseidon_poseidon_full_rounds_state1_cubed_0 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + global_values.poseidon_poseidon_full_round_key1)) + * domain12 + / domain6; + let total_sum = total_sum + *constraint_coefficients[331] * value; + + // Constraint: poseidon/poseidon/full_round2. + let value = (column11_row109 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state1_cubed_0 + + global_values.poseidon_poseidon_full_round_key2)) + * domain12 + / domain6; + let total_sum = total_sum + *constraint_coefficients[332] * value; + + // Constraint: poseidon/poseidon/last_full_round0. + let value = (column8_row295 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state1_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[333] * value; + + // Constraint: poseidon/poseidon/last_full_round1. + let value = (column8_row423 + + poseidon_poseidon_full_rounds_state1_cubed_7 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[334] * value; + + // Constraint: poseidon/poseidon/last_full_round2. + let value = (column8_row359 + + poseidon_poseidon_full_rounds_state2_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state1_cubed_7)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[335] * value; + + // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. + let value = (column10_row489 - column11_row6) / domain14; + let total_sum = total_sum + *constraint_coefficients[336] * value; + + // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. + let value = (column10_row497 - column11_row22) / domain14; + let total_sum = total_sum + *constraint_coefficients[337] * value; + + // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. + let value = (column10_row505 - column11_row38) / domain14; + let total_sum = total_sum + *constraint_coefficients[338] * value; + + // Constraint: poseidon/poseidon/margin_full_to_partial0. + let value = (column10_row1 + + poseidon_poseidon_full_rounds_state2_cubed_3 + + poseidon_poseidon_full_rounds_state2_cubed_3 + - (poseidon_poseidon_full_rounds_state0_cubed_3 + + poseidon_poseidon_full_rounds_state1_cubed_3 + + 2121140748740143694053732746913428481442990369183417228688865837805149503386)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[339] * value; + + // Constraint: poseidon/poseidon/margin_full_to_partial1. + let value = (column10_row9 + - (3618502788666131213697322783095070105623107215331596699973092056135872020477 + * poseidon_poseidon_full_rounds_state1_cubed_3 + + 10 * poseidon_poseidon_full_rounds_state2_cubed_3 + + 4 * column10_row1 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_0 + + 2006642341318481906727563724340978325665491359415674592697055778067937914672)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[340] * value; + + // Constraint: poseidon/poseidon/margin_full_to_partial2. + let value = (column10_row17 + - (8 * poseidon_poseidon_full_rounds_state2_cubed_3 + + 4 * column10_row1 + + 6 * poseidon_poseidon_partial_rounds_state0_cubed_0 + + column10_row9 + + column10_row9 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_1 + + 427751140904099001132521606468025610873158555767197326325930641757709538586)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[341] * value; + + // Constraint: poseidon/poseidon/partial_round0. + let value = (column10_row25 + - (8 * poseidon_poseidon_partial_rounds_state0_cubed_0 + + 4 * column10_row9 + + 6 * poseidon_poseidon_partial_rounds_state0_cubed_1 + + column10_row17 + + column10_row17 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_2 + + global_values.poseidon_poseidon_partial_round_key0)) + * domain17 + / domain3; + let total_sum = total_sum + *constraint_coefficients[342] * value; + + // Constraint: poseidon/poseidon/partial_round1. + let value = (column11_row54 + - (8 * poseidon_poseidon_partial_rounds_state1_cubed_0 + + 4 * column11_row22 + + 6 * poseidon_poseidon_partial_rounds_state1_cubed_1 + + column11_row38 + + column11_row38 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state1_cubed_2 + + global_values.poseidon_poseidon_partial_round_key1)) + * domain18 + / domain5; + let total_sum = total_sum + *constraint_coefficients[343] * value; + + // Constraint: poseidon/poseidon/margin_partial_to_full0. + let value = (column11_row309 + - (16 * poseidon_poseidon_partial_rounds_state1_cubed_19 + + 8 * column11_row326 + + 16 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + 6 * column11_row342 + + poseidon_poseidon_partial_rounds_state1_cubed_21 + + 560279373700919169769089400651532183647886248799764942664266404650165812023)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[344] * value; + + // Constraint: poseidon/poseidon/margin_partial_to_full1. + let value = (column11_row269 + - (4 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + column11_row342 + + column11_row342 + + poseidon_poseidon_partial_rounds_state1_cubed_21 + + 1401754474293352309994371631695783042590401941592571735921592823982231996415)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[345] * value; + + // Constraint: poseidon/poseidon/margin_partial_to_full2. + let value = (column11_row301 + - (8 * poseidon_poseidon_partial_rounds_state1_cubed_19 + + 4 * column11_row326 + + 6 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + column11_row342 + + column11_row342 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state1_cubed_21 + + 1246177936547655338400308396717835700699368047388302793172818304164989556526)) + / domain14; + let total_sum = total_sum + *constraint_coefficients[346] * value; + + total_sum +} + +fn eval_oods_polynomial_inner( + column_values: Span, + oods_values: Span, + constraint_coefficients: Span, + point: felt252, + oods_point: felt252, + trace_generator: felt252, +) -> felt252 { + // Compute powers. + let pow0 = pow(trace_generator, 0); + let pow1 = pow(trace_generator, 446471); + let pow2 = pow(trace_generator, 397827); + let pow3 = pow(trace_generator, 384835); + let pow4 = pow(trace_generator, 321543); + let pow5 = pow(trace_generator, 132611); + let pow6 = pow(trace_generator, 66307); + let pow7 = pow(trace_generator, 3462); + let pow8 = pow(trace_generator, 515841); + let pow9 = pow(trace_generator, 513025); + let pow10 = pow(trace_generator, 506306); + let pow11 = pow(trace_generator, 502017); + let pow12 = pow(trace_generator, 476932); + let pow13 = pow(trace_generator, 455937); + let pow14 = pow(trace_generator, 450753); + let pow15 = pow(trace_generator, 448772); + let pow16 = pow(trace_generator, 445188); + let pow17 = pow(trace_generator, 383426); + let pow18 = pow(trace_generator, 381956); + let pow19 = pow(trace_generator, 376388); + let pow20 = pow(trace_generator, 370689); + let pow21 = pow(trace_generator, 341761); + let pow22 = pow(trace_generator, 337601); + let pow23 = pow(trace_generator, 325894); + let pow24 = pow(trace_generator, 325121); + let pow25 = pow(trace_generator, 320449); + let pow26 = pow(trace_generator, 304132); + let pow27 = pow(trace_generator, 228161); + let pow28 = pow(trace_generator, 225025); + let pow29 = pow(trace_generator, 212740); + let pow30 = pow(trace_generator, 211396); + let pow31 = pow(trace_generator, 208388); + let pow32 = pow(trace_generator, 207873); + let pow33 = pow(trace_generator, 195010); + let pow34 = pow(trace_generator, 192260); + let pow35 = pow(trace_generator, 178433); + let pow36 = pow(trace_generator, 175108); + let pow37 = pow(trace_generator, 172801); + let pow38 = pow(trace_generator, 162052); + let pow39 = pow(trace_generator, 159748); + let pow40 = pow(trace_generator, 155398); + let pow41 = pow(trace_generator, 151041); + let pow42 = pow(trace_generator, 130433); + let pow43 = pow(trace_generator, 127489); + let pow44 = pow(trace_generator, 115713); + let pow45 = pow(trace_generator, 89281); + let pow46 = pow(trace_generator, 86273); + let pow47 = pow(trace_generator, 75780); + let pow48 = pow(trace_generator, 55937); + let pow49 = pow6 * pow48; // pow(trace_generator, 122244). + let pow50 = pow(trace_generator, 51969); + let pow51 = pow(trace_generator, 31169); + let pow52 = pow(trace_generator, 26369); + let pow53 = pow(trace_generator, 1); + let pow54 = pow53 * pow53; // pow(trace_generator, 2). + let pow55 = pow53 * pow54; // pow(trace_generator, 3). + let pow56 = pow53 * pow55; // pow(trace_generator, 4). + let pow57 = pow53 * pow56; // pow(trace_generator, 5). + let pow58 = pow53 * pow57; // pow(trace_generator, 6). + let pow59 = pow53 * pow58; // pow(trace_generator, 7). + let pow60 = pow53 * pow59; // pow(trace_generator, 8). + let pow61 = pow53 * pow60; // pow(trace_generator, 9). + let pow62 = pow53 * pow61; // pow(trace_generator, 10). + let pow63 = pow53 * pow62; // pow(trace_generator, 11). + let pow64 = pow53 * pow63; // pow(trace_generator, 12). + let pow65 = pow53 * pow64; // pow(trace_generator, 13). + let pow66 = pow53 * pow65; // pow(trace_generator, 14). + let pow67 = pow53 * pow66; // pow(trace_generator, 15). + let pow68 = pow53 * pow67; // pow(trace_generator, 16). + let pow69 = pow5 * pow68; // pow(trace_generator, 132627). + let pow70 = pow6 * pow68; // pow(trace_generator, 66323). + let pow71 = pow53 * pow68; // pow(trace_generator, 17). + let pow72 = pow54 * pow71; // pow(trace_generator, 19). + let pow73 = pow54 * pow72; // pow(trace_generator, 21). + let pow74 = pow53 * pow73; // pow(trace_generator, 22). + let pow75 = pow54 * pow74; // pow(trace_generator, 24). + let pow76 = pow53 * pow75; // pow(trace_generator, 25). + let pow77 = pow54 * pow76; // pow(trace_generator, 27). + let pow78 = pow54 * pow77; // pow(trace_generator, 29). + let pow79 = pow53 * pow78; // pow(trace_generator, 30). + let pow80 = pow2 * pow68; // pow(trace_generator, 397843). + let pow81 = pow54 * pow79; // pow(trace_generator, 32). + let pow82 = pow53 * pow81; // pow(trace_generator, 33). + let pow83 = pow54 * pow82; // pow(trace_generator, 35). + let pow84 = pow54 * pow83; // pow(trace_generator, 37). + let pow85 = pow53 * pow84; // pow(trace_generator, 38). + let pow86 = pow53 * pow85; // pow(trace_generator, 39). + let pow87 = pow54 * pow86; // pow(trace_generator, 41). + let pow88 = pow54 * pow87; // pow(trace_generator, 43). + let pow89 = pow53 * pow88; // pow(trace_generator, 44). + let pow90 = pow53 * pow89; // pow(trace_generator, 45). + let pow91 = pow53 * pow90; // pow(trace_generator, 46). + let pow92 = pow54 * pow91; // pow(trace_generator, 48). + let pow93 = pow53 * pow92; // pow(trace_generator, 49). + let pow94 = pow54 * pow93; // pow(trace_generator, 51). + let pow95 = pow54 * pow94; // pow(trace_generator, 53). + let pow96 = pow53 * pow95; // pow(trace_generator, 54). + let pow97 = pow55 * pow96; // pow(trace_generator, 57). + let pow98 = pow54 * pow97; // pow(trace_generator, 59). + let pow99 = pow54 * pow98; // pow(trace_generator, 61). + let pow100 = pow55 * pow99; // pow(trace_generator, 64). + let pow101 = pow13 * pow100; // pow(trace_generator, 456001). + let pow102 = pow21 * pow100; // pow(trace_generator, 341825). + let pow103 = pow24 * pow100; // pow(trace_generator, 325185). + let pow104 = pow30 * pow100; // pow(trace_generator, 211460). + let pow105 = pow33 * pow100; // pow(trace_generator, 195074). + let pow106 = pow34 * pow100; // pow(trace_generator, 192324). + let pow107 = pow53 * pow100; // pow(trace_generator, 65). + let pow108 = pow56 * pow107; // pow(trace_generator, 69). + let pow109 = pow53 * pow108; // pow(trace_generator, 70). + let pow110 = pow53 * pow109; // pow(trace_generator, 71). + let pow111 = pow54 * pow110; // pow(trace_generator, 73). + let pow112 = pow55 * pow111; // pow(trace_generator, 76). + let pow113 = pow53 * pow112; // pow(trace_generator, 77). + let pow114 = pow55 * pow113; // pow(trace_generator, 80). + let pow115 = pow53 * pow114; // pow(trace_generator, 81). + let pow116 = pow56 * pow115; // pow(trace_generator, 85). + let pow117 = pow56 * pow116; // pow(trace_generator, 89). + let pow118 = pow54 * pow117; // pow(trace_generator, 91). + let pow119 = pow57 * pow118; // pow(trace_generator, 96). + let pow120 = pow53 * pow119; // pow(trace_generator, 97). + let pow121 = pow56 * pow120; // pow(trace_generator, 101). + let pow122 = pow53 * pow121; // pow(trace_generator, 102). + let pow123 = pow53 * pow122; // pow(trace_generator, 103). + let pow124 = pow54 * pow123; // pow(trace_generator, 105). + let pow125 = pow55 * pow124; // pow(trace_generator, 108). + let pow126 = pow53 * pow125; // pow(trace_generator, 109). + let pow127 = pow55 * pow126; // pow(trace_generator, 112). + let pow128 = pow53 * pow127; // pow(trace_generator, 113). + let pow129 = pow56 * pow128; // pow(trace_generator, 117). + let pow130 = pow58 * pow129; // pow(trace_generator, 123). + let pow131 = pow57 * pow130; // pow(trace_generator, 128). + let pow132 = pow13 * pow131; // pow(trace_generator, 456065). + let pow133 = pow21 * pow131; // pow(trace_generator, 341889). + let pow134 = pow24 * pow131; // pow(trace_generator, 325249). + let pow135 = pow30 * pow131; // pow(trace_generator, 211524). + let pow136 = pow33 * pow131; // pow(trace_generator, 195138). + let pow137 = pow34 * pow131; // pow(trace_generator, 192388). + let pow138 = pow58 * pow131; // pow(trace_generator, 134). + let pow139 = pow53 * pow138; // pow(trace_generator, 135). + let pow140 = pow57 * pow139; // pow(trace_generator, 140). + let pow141 = pow56 * pow140; // pow(trace_generator, 144). + let pow142 = pow63 * pow141; // pow(trace_generator, 155). + let pow143 = pow57 * pow142; // pow(trace_generator, 160). + let pow144 = pow58 * pow143; // pow(trace_generator, 166). + let pow145 = pow53 * pow144; // pow(trace_generator, 167). + let pow146 = pow57 * pow145; // pow(trace_generator, 172). + let pow147 = pow56 * pow146; // pow(trace_generator, 176). + let pow148 = pow63 * pow147; // pow(trace_generator, 187). + let pow149 = pow57 * pow148; // pow(trace_generator, 192). + let pow150 = pow53 * pow149; // pow(trace_generator, 193). + let pow151 = pow54 * pow150; // pow(trace_generator, 195). + let pow152 = pow53 * pow151; // pow(trace_generator, 196). + let pow153 = pow53 * pow152; // pow(trace_generator, 197). + let pow154 = pow53 * pow153; // pow(trace_generator, 198). + let pow155 = pow53 * pow154; // pow(trace_generator, 199). + let pow156 = pow57 * pow155; // pow(trace_generator, 204). + let pow157 = pow53 * pow156; // pow(trace_generator, 205). + let pow158 = pow55 * pow157; // pow(trace_generator, 208). + let pow159 = pow63 * pow158; // pow(trace_generator, 219). + let pow160 = pow54 * pow159; // pow(trace_generator, 221). + let pow161 = pow55 * pow160; // pow(trace_generator, 224). + let pow162 = pow64 * pow161; // pow(trace_generator, 236). + let pow163 = pow53 * pow162; // pow(trace_generator, 237). + let pow164 = pow55 * pow163; // pow(trace_generator, 240). + let pow165 = pow55 * pow164; // pow(trace_generator, 243). + let pow166 = pow54 * pow165; // pow(trace_generator, 245). + let pow167 = pow58 * pow166; // pow(trace_generator, 251). + let pow168 = pow53 * pow167; // pow(trace_generator, 252). + let pow169 = pow53 * pow168; // pow(trace_generator, 253). + let pow170 = pow54 * pow169; // pow(trace_generator, 255). + let pow171 = pow53 * pow170; // pow(trace_generator, 256). + let pow172 = pow14 * pow171; // pow(trace_generator, 451009). + let pow173 = pow22 * pow171; // pow(trace_generator, 337857). + let pow174 = pow25 * pow171; // pow(trace_generator, 320705). + let pow175 = pow53 * pow171; // pow(trace_generator, 257). + let pow176 = pow54 * pow175; // pow(trace_generator, 259). + let pow177 = pow11 * pow176; // pow(trace_generator, 502276). + let pow178 = pow53 * pow176; // pow(trace_generator, 260). + let pow179 = pow54 * pow178; // pow(trace_generator, 262). + let pow180 = pow53 * pow179; // pow(trace_generator, 263). + let pow181 = pow53 * pow180; // pow(trace_generator, 264). + let pow182 = pow57 * pow181; // pow(trace_generator, 269). + let pow183 = pow58 * pow182; // pow(trace_generator, 275). + let pow184 = pow72 * pow183; // pow(trace_generator, 294). + let pow185 = pow53 * pow184; // pow(trace_generator, 295). + let pow186 = pow58 * pow185; // pow(trace_generator, 301). + let pow187 = pow60 * pow186; // pow(trace_generator, 309). + let pow188 = pow53 * pow187; // pow(trace_generator, 310). + let pow189 = pow60 * pow188; // pow(trace_generator, 318). + let pow190 = pow60 * pow189; // pow(trace_generator, 326). + let pow191 = pow60 * pow190; // pow(trace_generator, 334). + let pow192 = pow60 * pow191; // pow(trace_generator, 342). + let pow193 = pow60 * pow192; // pow(trace_generator, 350). + let pow194 = pow60 * pow193; // pow(trace_generator, 358). + let pow195 = pow81 * pow194; // pow(trace_generator, 390). + let pow196 = pow81 * pow195; // pow(trace_generator, 422). + let pow197 = pow53 * pow194; // pow(trace_generator, 359). + let pow198 = pow53 * pow195; // pow(trace_generator, 391). + let pow199 = pow53 * pow196; // pow(trace_generator, 423). + let pow200 = pow77 * pow196; // pow(trace_generator, 449). + let pow201 = pow54 * pow200; // pow(trace_generator, 451). + let pow202 = pow55 * pow201; // pow(trace_generator, 454). + let pow203 = pow59 * pow202; // pow(trace_generator, 461). + let pow204 = pow68 * pow203; // pow(trace_generator, 477). + let pow205 = pow64 * pow204; // pow(trace_generator, 489). + let pow206 = pow56 * pow205; // pow(trace_generator, 493). + let pow207 = pow56 * pow206; // pow(trace_generator, 497). + let pow208 = pow54 * pow207; // pow(trace_generator, 499). + let pow209 = pow54 * pow208; // pow(trace_generator, 501). + let pow210 = pow56 * pow209; // pow(trace_generator, 505). + let pow211 = pow54 * pow210; // pow(trace_generator, 507). + let pow212 = pow54 * pow211; // pow(trace_generator, 509). + let pow213 = pow54 * pow212; // pow(trace_generator, 511). + let pow214 = pow53 * pow213; // pow(trace_generator, 512). + let pow215 = pow14 * pow214; // pow(trace_generator, 451265). + let pow216 = pow22 * pow214; // pow(trace_generator, 338113). + let pow217 = pow25 * pow214; // pow(trace_generator, 320961). + let pow218 = pow149 * pow214; // pow(trace_generator, 704). + let pow219 = pow53 * pow214; // pow(trace_generator, 513). + let pow220 = pow55 * pow219; // pow(trace_generator, 516). + let pow221 = pow54 * pow220; // pow(trace_generator, 518). + let pow222 = pow53 * pow218; // pow(trace_generator, 705). + let pow223 = pow54 * pow221; // pow(trace_generator, 520). + let pow224 = pow58 * pow222; // pow(trace_generator, 711). + let pow225 = pow61 * pow224; // pow(trace_generator, 720). + let pow226 = pow68 * pow225; // pow(trace_generator, 736). + let pow227 = pow68 * pow226; // pow(trace_generator, 752). + let pow228 = pow68 * pow227; // pow(trace_generator, 768). + let pow229 = pow53 * pow228; // pow(trace_generator, 769). + let pow230 = pow53 * pow229; // pow(trace_generator, 770). + let pow231 = pow54 * pow230; // pow(trace_generator, 772). + let pow232 = pow54 * pow231; // pow(trace_generator, 774). + let pow233 = pow54 * pow232; // pow(trace_generator, 776). + let pow234 = pow56 * pow233; // pow(trace_generator, 780). + let pow235 = pow131 * pow232; // pow(trace_generator, 902). + let pow236 = pow53 * pow235; // pow(trace_generator, 903). + let pow237 = pow97 * pow236; // pow(trace_generator, 960). + let pow238 = pow53 * pow237; // pow(trace_generator, 961). + let pow239 = pow57 * pow238; // pow(trace_generator, 966). + let pow240 = pow53 * pow239; // pow(trace_generator, 967). + let pow241 = pow61 * pow240; // pow(trace_generator, 976). + let pow242 = pow68 * pow241; // pow(trace_generator, 992). + let pow243 = pow68 * pow242; // pow(trace_generator, 1008). + let pow244 = pow71 * pow243; // pow(trace_generator, 1025). + let pow245 = pow53 * pow244; // pow(trace_generator, 1026). + let pow246 = pow54 * pow245; // pow(trace_generator, 1028). + let pow247 = pow54 * pow246; // pow(trace_generator, 1030). + let pow248 = pow58 * pow247; // pow(trace_generator, 1036). + let pow249 = pow148 * pow247; // pow(trace_generator, 1217). + let pow250 = pow57 * pow249; // pow(trace_generator, 1222). + let pow251 = pow149 * pow250; // pow(trace_generator, 1414). + let pow252 = pow98 * pow250; // pow(trace_generator, 1281). + let pow253 = pow136 * pow252; // pow(trace_generator, 196419). + let pow254 = pow98 * pow251; // pow(trace_generator, 1473). + let pow255 = pow33 * pow254; // pow(trace_generator, 196483). + let pow256 = pow55 * pow252; // pow(trace_generator, 1284). + let pow257 = pow100 * pow254; // pow(trace_generator, 1537). + let pow258 = pow149 * pow257; // pow(trace_generator, 1729). + let pow259 = pow55 * pow257; // pow(trace_generator, 1540). + let pow260 = pow100 * pow258; // pow(trace_generator, 1793). + let pow261 = pow149 * pow260; // pow(trace_generator, 1985). + let pow262 = pow55 * pow260; // pow(trace_generator, 1796). + let pow263 = pow100 * pow261; // pow(trace_generator, 2049). + let pow264 = pow55 * pow263; // pow(trace_generator, 2052). + let pow265 = pow55 * pow264; // pow(trace_generator, 2055). + let pow266 = pow99 * pow265; // pow(trace_generator, 2116). + let pow267 = pow33 * pow257; // pow(trace_generator, 196547). + let pow268 = pow53 * pow251; // pow(trace_generator, 1415). + let pow269 = pow55 * pow266; // pow(trace_generator, 2119). + let pow270 = pow99 * pow269; // pow(trace_generator, 2180). + let pow271 = pow55 * pow270; // pow(trace_generator, 2183). + let pow272 = pow99 * pow270; // pow(trace_generator, 2241). + let pow273 = pow100 * pow272; // pow(trace_generator, 2305). + let pow274 = pow55 * pow273; // pow(trace_generator, 2308). + let pow275 = pow153 * pow272; // pow(trace_generator, 2438). + let pow276 = pow98 * pow275; // pow(trace_generator, 2497). + let pow277 = pow100 * pow276; // pow(trace_generator, 2561). + let pow278 = pow149 * pow277; // pow(trace_generator, 2753). + let pow279 = pow55 * pow277; // pow(trace_generator, 2564). + let pow280 = pow100 * pow278; // pow(trace_generator, 2817). + let pow281 = pow149 * pow280; // pow(trace_generator, 3009). + let pow282 = pow55 * pow280; // pow(trace_generator, 2820). + let pow283 = pow100 * pow281; // pow(trace_generator, 3073). + let pow284 = pow55 * pow283; // pow(trace_generator, 3076). + let pow285 = pow169 * pow284; // pow(trace_generator, 3329). + let pow286 = pow55 * pow285; // pow(trace_generator, 3332). + let pow287 = pow7 * pow130; // pow(trace_generator, 3585). + let pow288 = pow55 * pow287; // pow(trace_generator, 3588). + let pow289 = pow100 * pow288; // pow(trace_generator, 3652). + let pow290 = pow169 * pow288; // pow(trace_generator, 3841). + let pow291 = pow105 * pow290; // pow(trace_generator, 198915). + let pow292 = pow68 * pow291; // pow(trace_generator, 198931). + let pow293 = pow7 * pow53; // pow(trace_generator, 3463). + let pow294 = pow100 * pow289; // pow(trace_generator, 3716). + let pow295 = pow55 * pow290; // pow(trace_generator, 3844). + let pow296 = pow169 * pow295; // pow(trace_generator, 4097). + let pow297 = pow100 * pow295; // pow(trace_generator, 3908). + let pow298 = pow100 * pow297; // pow(trace_generator, 3972). + let pow299 = pow55 * pow296; // pow(trace_generator, 4100). + let pow300 = pow169 * pow299; // pow(trace_generator, 4353). + let pow301 = pow39 * pow55; // pow(trace_generator, 159751). + let pow302 = pow55 * pow299; // pow(trace_generator, 4103). + let pow303 = pow55 * pow300; // pow(trace_generator, 4356). + let pow304 = pow7 * pow222; // pow(trace_generator, 4167). + let pow305 = pow7 * pow229; // pow(trace_generator, 4231). + let pow306 = pow170 * pow305; // pow(trace_generator, 4486). + let pow307 = pow7 * pow244; // pow(trace_generator, 4487). + let pow308 = pow130 * pow306; // pow(trace_generator, 4609). + let pow309 = pow55 * pow308; // pow(trace_generator, 4612). + let pow310 = pow169 * pow309; // pow(trace_generator, 4865). + let pow311 = pow55 * pow310; // pow(trace_generator, 4868). + let pow312 = pow169 * pow311; // pow(trace_generator, 5121). + let pow313 = pow55 * pow312; // pow(trace_generator, 5124). + let pow314 = pow169 * pow313; // pow(trace_generator, 5377). + let pow315 = pow55 * pow314; // pow(trace_generator, 5380). + let pow316 = pow99 * pow315; // pow(trace_generator, 5441). + let pow317 = pow55 * pow316; // pow(trace_generator, 5444). + let pow318 = pow99 * pow317; // pow(trace_generator, 5505). + let pow319 = pow131 * pow318; // pow(trace_generator, 5633). + let pow320 = pow35 * pow53; // pow(trace_generator, 178434). + let pow321 = pow320 * pow320; // pow(trace_generator, 356868). + let pow322 = pow55 * pow318; // pow(trace_generator, 5508). + let pow323 = pow55 * pow319; // pow(trace_generator, 5636). + let pow324 = pow99 * pow323; // pow(trace_generator, 5697). + let pow325 = pow100 * pow324; // pow(trace_generator, 5761). + let pow326 = pow131 * pow325; // pow(trace_generator, 5889). + let pow327 = pow55 * pow326; // pow(trace_generator, 5892). + let pow328 = pow99 * pow327; // pow(trace_generator, 5953). + let pow329 = pow100 * pow328; // pow(trace_generator, 6017). + let pow330 = pow131 * pow329; // pow(trace_generator, 6145). + let pow331 = pow55 * pow330; // pow(trace_generator, 6148). + let pow332 = pow99 * pow331; // pow(trace_generator, 6209). + let pow333 = pow100 * pow332; // pow(trace_generator, 6273). + let pow334 = pow11 * pow316; // pow(trace_generator, 507458). + let pow335 = pow131 * pow333; // pow(trace_generator, 6401). + let pow336 = pow7 * pow263; // pow(trace_generator, 5511). + let pow337 = pow53 * pow275; // pow(trace_generator, 2439). + let pow338 = pow53 * pow335; // pow(trace_generator, 6402). + let pow339 = pow53 * pow338; // pow(trace_generator, 6403). + let pow340 = pow24 * pow338; // pow(trace_generator, 331523). + let pow341 = pow68 * pow340; // pow(trace_generator, 331539). + let pow342 = pow53 * pow339; // pow(trace_generator, 6404). + let pow343 = pow54 * pow342; // pow(trace_generator, 6406). + let pow344 = pow65 * pow343; // pow(trace_generator, 6419). + let pow345 = pow93 * pow344; // pow(trace_generator, 6468). + let pow346 = pow100 * pow345; // pow(trace_generator, 6532). + let pow347 = pow54 * pow345; // pow(trace_generator, 6470). + let pow348 = pow54 * pow346; // pow(trace_generator, 6534). + let pow349 = pow7 * pow283; // pow(trace_generator, 6535). + let pow350 = pow98 * pow348; // pow(trace_generator, 6593). + let pow351 = pow53 * pow350; // pow(trace_generator, 6594). + let pow352 = pow100 * pow351; // pow(trace_generator, 6658). + let pow353 = pow100 * pow352; // pow(trace_generator, 6722). + let pow354 = pow54 * pow351; // pow(trace_generator, 6596). + let pow355 = pow54 * pow352; // pow(trace_generator, 6660). + let pow356 = pow54 * pow353; // pow(trace_generator, 6724). + let pow357 = pow54 * pow354; // pow(trace_generator, 6598). + let pow358 = pow99 * pow356; // pow(trace_generator, 6785). + let pow359 = pow53 * pow358; // pow(trace_generator, 6786). + let pow360 = pow54 * pow359; // pow(trace_generator, 6788). + let pow361 = pow54 * pow360; // pow(trace_generator, 6790). + let pow362 = pow148 * pow361; // pow(trace_generator, 6977). + let pow363 = pow53 * pow362; // pow(trace_generator, 6978). + let pow364 = pow54 * pow363; // pow(trace_generator, 6980). + let pow365 = pow9 * pow176; // pow(trace_generator, 513284). + let pow366 = pow54 * pow364; // pow(trace_generator, 6982). + let pow367 = pow148 * pow366; // pow(trace_generator, 7169). + let pow368 = pow53 * pow367; // pow(trace_generator, 7170). + let pow369 = pow54 * pow368; // pow(trace_generator, 7172). + let pow370 = pow54 * pow369; // pow(trace_generator, 7174). + let pow371 = pow148 * pow370; // pow(trace_generator, 7361). + let pow372 = pow53 * pow371; // pow(trace_generator, 7362). + let pow373 = pow54 * pow372; // pow(trace_generator, 7364). + let pow374 = pow54 * pow373; // pow(trace_generator, 7366). + let pow375 = pow148 * pow374; // pow(trace_generator, 7553). + let pow376 = pow53 * pow375; // pow(trace_generator, 7554). + let pow377 = pow284 * pow376; // pow(trace_generator, 10630). + let pow378 = pow130 * pow377; // pow(trace_generator, 10753). + let pow379 = pow54 * pow376; // pow(trace_generator, 7556). + let pow380 = pow54 * pow379; // pow(trace_generator, 7558). + let pow381 = pow7 * pow296; // pow(trace_generator, 7559). + let pow382 = pow148 * pow380; // pow(trace_generator, 7745). + let pow383 = pow53 * pow382; // pow(trace_generator, 7746). + let pow384 = pow54 * pow383; // pow(trace_generator, 7748). + let pow385 = pow54 * pow384; // pow(trace_generator, 7750). + let pow386 = pow148 * pow385; // pow(trace_generator, 7937). + let pow387 = pow2 * pow386; // pow(trace_generator, 405764). + let pow388 = pow53 * pow386; // pow(trace_generator, 7938). + let pow389 = pow54 * pow388; // pow(trace_generator, 7940). + let pow390 = pow99 * pow385; // pow(trace_generator, 7811). + let pow391 = pow54 * pow389; // pow(trace_generator, 7942). + let pow392 = pow167 * pow391; // pow(trace_generator, 8193). + let pow393 = pow53 * pow392; // pow(trace_generator, 8194). + let pow394 = pow346 * pow393; // pow(trace_generator, 14726). + let pow395 = pow99 * pow391; // pow(trace_generator, 8003). + let pow396 = pow100 * pow395; // pow(trace_generator, 8067). + let pow397 = pow100 * pow396; // pow(trace_generator, 8131). + let pow398 = pow384 * pow393; // pow(trace_generator, 15942). + let pow399 = pow201 * pow397; // pow(trace_generator, 8582). + let pow400 = pow7 * pow392; // pow(trace_generator, 11655). + let pow401 = pow7 * pow367; // pow(trace_generator, 10631). + let pow402 = pow53 * pow393; // pow(trace_generator, 8195). + let pow403 = pow55 * pow402; // pow(trace_generator, 8198). + let pow404 = pow296 * pow403; // pow(trace_generator, 12295). + let pow405 = pow66 * pow404; // pow(trace_generator, 12309). + let pow406 = pow100 * pow405; // pow(trace_generator, 12373). + let pow407 = pow149 * pow406; // pow(trace_generator, 12565). + let pow408 = pow100 * pow407; // pow(trace_generator, 12629). + let pow409 = pow93 * pow408; // pow(trace_generator, 12678). + let pow410 = pow244 * pow394; // pow(trace_generator, 15751). + let pow411 = pow191 * pow410; // pow(trace_generator, 16085). + let pow412 = pow53 * pow394; // pow(trace_generator, 14727). + let pow413 = pow244 * pow409; // pow(trace_generator, 13703). + let pow414 = pow53 * pow409; // pow(trace_generator, 12679). + let pow415 = pow7 * pow358; // pow(trace_generator, 10247). + let pow416 = pow53 * pow403; // pow(trace_generator, 8199). + let pow417 = pow57 * pow416; // pow(trace_generator, 8204). + let pow418 = pow98 * pow411; // pow(trace_generator, 16144). + let pow419 = pow53 * pow418; // pow(trace_generator, 16145). + let pow420 = pow53 * pow419; // pow(trace_generator, 16146). + let pow421 = pow59 * pow417; // pow(trace_generator, 8211). + let pow422 = pow161 * pow421; // pow(trace_generator, 8435). + let pow423 = pow60 * pow422; // pow(trace_generator, 8443). + let pow424 = pow58 * pow423; // pow(trace_generator, 8449). + let pow425 = pow7 * pow312; // pow(trace_generator, 8583). + let pow426 = pow99 * pow398; // pow(trace_generator, 16003). + let pow427 = pow53 * pow420; // pow(trace_generator, 16147). + let pow428 = pow53 * pow427; // pow(trace_generator, 16148). + let pow429 = pow130 * pow399; // pow(trace_generator, 8705). + let pow430 = pow7 * pow330; // pow(trace_generator, 9607). + let pow431 = pow53 * pow428; // pow(trace_generator, 16149). + let pow432 = pow53 * pow431; // pow(trace_generator, 16150). + let pow433 = pow53 * pow432; // pow(trace_generator, 16151). + let pow434 = pow61 * pow433; // pow(trace_generator, 16160). + let pow435 = pow53 * pow434; // pow(trace_generator, 16161). + let pow436 = pow53 * pow435; // pow(trace_generator, 16162). + let pow437 = pow53 * pow436; // pow(trace_generator, 16163). + let pow438 = pow53 * pow437; // pow(trace_generator, 16164). + let pow439 = pow53 * pow438; // pow(trace_generator, 16165). + let pow440 = pow53 * pow439; // pow(trace_generator, 16166). + let pow441 = pow53 * pow440; // pow(trace_generator, 16167). + let pow442 = pow61 * pow441; // pow(trace_generator, 16176). + let pow443 = pow68 * pow442; // pow(trace_generator, 16192). + let pow444 = pow31 * pow100; // pow(trace_generator, 208452). + let pow445 = pow55 * pow443; // pow(trace_generator, 16195). + let pow446 = pow65 * pow445; // pow(trace_generator, 16208). + let pow447 = pow68 * pow446; // pow(trace_generator, 16224). + let pow448 = pow68 * pow447; // pow(trace_generator, 16240). + let pow449 = pow68 * pow448; // pow(trace_generator, 16256). + let pow450 = pow31 * pow131; // pow(trace_generator, 208516). + let pow451 = pow68 * pow449; // pow(trace_generator, 16272). + let pow452 = pow68 * pow451; // pow(trace_generator, 16288). + let pow453 = pow68 * pow452; // pow(trace_generator, 16304). + let pow454 = pow68 * pow453; // pow(trace_generator, 16320). + let pow455 = pow57 * pow454; // pow(trace_generator, 16325). + let pow456 = pow58 * pow455; // pow(trace_generator, 16331). + let pow457 = pow57 * pow456; // pow(trace_generator, 16336). + let pow458 = pow53 * pow457; // pow(trace_generator, 16337). + let pow459 = pow54 * pow458; // pow(trace_generator, 16339). + let pow460 = pow65 * pow459; // pow(trace_generator, 16352). + let pow461 = pow55 * pow460; // pow(trace_generator, 16355). + let pow462 = pow54 * pow461; // pow(trace_generator, 16357). + let pow463 = pow58 * pow462; // pow(trace_generator, 16363). + let pow464 = pow57 * pow463; // pow(trace_generator, 16368). + let pow465 = pow453 * pow463; // pow(trace_generator, 32667). + let pow466 = pow53 * pow464; // pow(trace_generator, 16369). + let pow467 = pow54 * pow466; // pow(trace_generator, 16371). + let pow468 = pow65 * pow467; // pow(trace_generator, 16384). + let pow469 = pow195 * pow468; // pow(trace_generator, 16774). + let pow470 = pow312 * pow469; // pow(trace_generator, 21895). + let pow471 = pow392 * pow468; // pow(trace_generator, 24577). + let pow472 = pow330 * pow468; // pow(trace_generator, 22529). + let pow473 = pow100 * pow472; // pow(trace_generator, 22593). + let pow474 = pow100 * pow473; // pow(trace_generator, 22657). + let pow475 = pow276 * pow468; // pow(trace_generator, 18881). + let pow476 = pow171 * pow475; // pow(trace_generator, 19137). + let pow477 = pow171 * pow476; // pow(trace_generator, 19393). + let pow478 = pow220 * pow468; // pow(trace_generator, 16900). + let pow479 = pow53 * pow468; // pow(trace_generator, 16385). + let pow480 = pow53 * pow471; // pow(trace_generator, 24578). + let pow481 = pow150 * pow473; // pow(trace_generator, 22786). + let pow482 = pow56 * pow480; // pow(trace_generator, 24582). + let pow483 = pow58 * pow482; // pow(trace_generator, 24588). + let pow484 = pow166 * pow483; // pow(trace_generator, 24833). + let pow485 = pow270 * pow481; // pow(trace_generator, 24966). + let pow486 = pow130 * pow485; // pow(trace_generator, 25089). + let pow487 = pow52 * pow308; // pow(trace_generator, 30978). + let pow488 = pow81 * pow479; // pow(trace_generator, 16417). + let pow489 = pow53 * pow469; // pow(trace_generator, 16775). + let pow490 = pow251 * pow472; // pow(trace_generator, 23943). + let pow491 = pow168 * pow490; // pow(trace_generator, 24195). + let pow492 = pow51 * pow239; // pow(trace_generator, 32135). + let pow493 = pow168 * pow492; // pow(trace_generator, 32387). + let pow494 = pow178 * pow493; // pow(trace_generator, 32647). + let pow495 = pow312 * pow485; // pow(trace_generator, 30087). + let pow496 = pow7 * pow471; // pow(trace_generator, 28039). + let pow497 = pow7 * pow472; // pow(trace_generator, 25991). + let pow498 = pow92 * pow465; // pow(trace_generator, 32715). + let pow499 = pow58 * pow498; // pow(trace_generator, 32721). + let pow500 = pow62 * pow499; // pow(trace_generator, 32731). + let pow501 = pow68 * pow500; // pow(trace_generator, 32747). + let pow502 = pow58 * pow501; // pow(trace_generator, 32753). + let pow503 = pow62 * pow502; // pow(trace_generator, 32763). + let pow504 = pow57 * pow503; // pow(trace_generator, 32768). + let pow505 = pow504 * pow504; // pow(trace_generator, 65536). + let pow506 = pow504 * pow505; // pow(trace_generator, 98304). + let pow507 = pow504 * pow506; // pow(trace_generator, 131072). + let pow508 = pow504 * pow507; // pow(trace_generator, 163840). + let pow509 = pow426 * pow508; // pow(trace_generator, 179843). + let pow510 = pow39 * pow402; // pow(trace_generator, 167943). + let pow511 = pow380 * pow508; // pow(trace_generator, 171398). + let pow512 = pow342 * pow508; // pow(trace_generator, 170244). + let pow513 = pow257 * pow508; // pow(trace_generator, 165377). + let pow514 = pow55 * pow513; // pow(trace_generator, 165380). + let pow515 = pow99 * pow267; // pow(trace_generator, 196608). + let pow516 = pow504 * pow515; // pow(trace_generator, 229376). + let pow517 = pow320 * pow516; // pow(trace_generator, 407810). + let pow518 = pow388 * pow517; // pow(trace_generator, 415748). + let pow519 = pow351 * pow516; // pow(trace_generator, 235970). + let pow520 = pow252 * pow516; // pow(trace_generator, 230657). + let pow521 = pow237 * pow519; // pow(trace_generator, 236930). + let pow522 = pow200 * pow521; // pow(trace_generator, 237379). + let pow523 = pow55 * pow520; // pow(trace_generator, 230660). + let pow524 = pow30 * pow506; // pow(trace_generator, 309700). + let pow525 = pow6 * pow256; // pow(trace_generator, 67591). + let pow526 = pow343 * pow505; // pow(trace_generator, 71942). + let pow527 = pow47 * pow55; // pow(trace_generator, 75783). + let pow528 = pow47 * pow100; // pow(trace_generator, 75844). + let pow529 = pow6 * pow312; // pow(trace_generator, 71428). + let pow530 = pow285 * pow505; // pow(trace_generator, 68865). + let pow531 = pow308 * pow530; // pow(trace_generator, 73474). + let pow532 = pow355 * pow531; // pow(trace_generator, 80134). + let pow533 = pow100 * pow532; // pow(trace_generator, 80198). + let pow534 = pow100 * pow533; // pow(trace_generator, 80262). + let pow535 = pow55 * pow528; // pow(trace_generator, 75847). + let pow536 = pow47 * pow131; // pow(trace_generator, 75908). + let pow537 = pow55 * pow536; // pow(trace_generator, 75911). + let pow538 = pow1 * pow505; // pow(trace_generator, 512007). + let pow539 = pow195 * pow504; // pow(trace_generator, 33158). + let pow540 = pow471 * pow504; // pow(trace_generator, 57345). + let pow541 = pow471 * pow506; // pow(trace_generator, 122881). + let pow542 = pow50 * pow314; // pow(trace_generator, 57346). + let pow543 = pow44 * pow367; // pow(trace_generator, 122882). + let pow544 = pow56 * pow542; // pow(trace_generator, 57350). + let pow545 = pow56 * pow543; // pow(trace_generator, 122886). + let pow546 = pow58 * pow544; // pow(trace_generator, 57356). + let pow547 = pow58 * pow545; // pow(trace_generator, 122892). + let pow548 = pow166 * pow546; // pow(trace_generator, 57601). + let pow549 = pow171 * pow548; // pow(trace_generator, 57857). + let pow550 = pow166 * pow547; // pow(trace_generator, 123137). + let pow551 = pow171 * pow550; // pow(trace_generator, 123393). + let pow552 = pow32 * pow542; // pow(trace_generator, 265219). + let pow553 = pow548 * pow552; // pow(trace_generator, 322820). + let pow554 = pow68 * pow552; // pow(trace_generator, 265235). + let pow555 = pow471 * pow516; // pow(trace_generator, 253953). + let pow556 = pow53 * pow555; // pow(trace_generator, 253954). + let pow557 = pow56 * pow556; // pow(trace_generator, 253958). + let pow558 = pow58 * pow557; // pow(trace_generator, 253964). + let pow559 = pow166 * pow558; // pow(trace_generator, 254209). + let pow560 = pow40 * pow559; // pow(trace_generator, 409607). + let pow561 = pow171 * pow559; // pow(trace_generator, 254465). + let pow562 = pow23 * pow504; // pow(trace_generator, 358662). + let pow563 = pow237 * pow562; // pow(trace_generator, 359622). + let pow564 = pow4 * pow504; // pow(trace_generator, 354311). + let pow565 = pow504 * pow516; // pow(trace_generator, 262144). + let pow566 = pow504 * pow565; // pow(trace_generator, 294912). + let pow567 = pow6 * pow523; // pow(trace_generator, 296967). + let pow568 = pow367 * pow566; // pow(trace_generator, 302081). + let pow569 = pow343 * pow566; // pow(trace_generator, 301318). + let pow570 = pow296 * pow566; // pow(trace_generator, 299009). + let pow571 = pow231 * pow566; // pow(trace_generator, 295684). + let pow572 = pow504 * pow566; // pow(trace_generator, 327680). + let pow573 = pow486 * pow572; // pow(trace_generator, 352769). + let pow574 = pow504 * pow572; // pow(trace_generator, 360448). + let pow575 = pow59 * pow574; // pow(trace_generator, 360455). + let pow576 = pow504 * pow574; // pow(trace_generator, 393216). + let pow577 = pow426 * pow576; // pow(trace_generator, 409219). + let pow578 = pow362 * pow577; // pow(trace_generator, 416196). + let pow579 = pow504 * pow576; // pow(trace_generator, 425984). + let pow580 = pow504 * pow579; // pow(trace_generator, 458752). + let pow581 = pow481 * pow580; // pow(trace_generator, 481538). + let pow582 = pow491 * pow580; // pow(trace_generator, 482947). + let pow583 = pow382 * pow580; // pow(trace_generator, 466497). + let pow584 = pow310 * pow580; // pow(trace_generator, 463617). + let pow585 = pow55 * pow584; // pow(trace_generator, 463620). + let pow586 = pow13 * pow393; // pow(trace_generator, 464131). + let pow587 = pow68 * pow586; // pow(trace_generator, 464147). + let pow588 = pow504 * pow580; // pow(trace_generator, 491520). + let pow589 = pow175 * pow334; // pow(trace_generator, 507715). + let pow590 = pow100 * pow538; // pow(trace_generator, 512071). + let pow591 = pow100 * pow590; // pow(trace_generator, 512135). + let pow592 = pow100 * pow365; // pow(trace_generator, 513348). + let pow593 = pow15 * pow505; // pow(trace_generator, 514308). + let pow594 = pow100 * pow592; // pow(trace_generator, 513412). + let pow595 = pow100 * pow593; // pow(trace_generator, 514372). + let pow596 = pow100 * pow595; // pow(trace_generator, 514436). + let pow597 = pow8 * pow171; // pow(trace_generator, 516097). + let pow598 = pow8 * pow175; // pow(trace_generator, 516098). + let pow599 = pow53 * pow598; // pow(trace_generator, 516099). + let pow600 = pow8 * pow176; // pow(trace_generator, 516100). + let pow601 = pow8 * pow201; // pow(trace_generator, 516292). + let pow602 = pow54 * pow600; // pow(trace_generator, 516102). + let pow603 = pow58 * pow602; // pow(trace_generator, 516108). + let pow604 = pow59 * pow580; // pow(trace_generator, 458759). + let pow605 = pow59 * pow603; // pow(trace_generator, 516115). + let pow606 = pow161 * pow605; // pow(trace_generator, 516339). + let pow607 = pow60 * pow606; // pow(trace_generator, 516347). + let pow608 = pow8 * pow214; // pow(trace_generator, 516353). + let pow609 = pow55 * pow608; // pow(trace_generator, 516356). + let pow610 = pow8 * pow228; // pow(trace_generator, 516609). + let pow611 = pow10 * pow443; // pow(trace_generator, 522498). + let pow612 = pow10 * pow468; // pow(trace_generator, 522690). + let pow613 = pow38 * pow574; // pow(trace_generator, 522500). + let pow614 = pow54 * pow612; // pow(trace_generator, 522692). + let pow615 = pow23 * pow515; // pow(trace_generator, 522502). + let pow616 = pow372 * pow574; // pow(trace_generator, 367810). + let pow617 = pow354 * pow574; // pow(trace_generator, 367044). + let pow618 = pow249 * pow586; // pow(trace_generator, 465348). + let pow619 = pow274 * pow574; // pow(trace_generator, 362756). + let pow620 = pow175 * pow574; // pow(trace_generator, 360705). + let pow621 = pow329 * pow491; // pow(trace_generator, 30212). + let pow622 = pow7 * pow479; // pow(trace_generator, 19847). + let pow623 = pow244 * pow469; // pow(trace_generator, 17799). + let pow624 = pow291 * pow327; // pow(trace_generator, 204807). + let pow625 = pow100 * pow624; // pow(trace_generator, 204871). + let pow626 = pow100 * pow625; // pow(trace_generator, 204935). + let pow627 = pow247 * pow568; // pow(trace_generator, 303111). + let pow628 = pow9 * pow370; // pow(trace_generator, 520199). + + // Fetch columns. + let column0 = *column_values[0]; + let column1 = *column_values[1]; + let column2 = *column_values[2]; + let column3 = *column_values[3]; + let column4 = *column_values[4]; + let column5 = *column_values[5]; + let column6 = *column_values[6]; + let column7 = *column_values[7]; + let column8 = *column_values[8]; + let column9 = *column_values[9]; + let column10 = *column_values[10]; + let column11 = *column_values[11]; + let column12 = *column_values[12]; + let column13 = *column_values[13]; + let column14 = *column_values[14]; + + // Sum the OODS constraints on the trace polynomials. + let total_sum = 0; + + let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[0] * value; + + let value = (column0 - *oods_values[1]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[1] * value; + + let value = (column0 - *oods_values[2]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[2] * value; + + let value = (column0 - *oods_values[3]) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients[3] * value; + + let value = (column0 - *oods_values[4]) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients[4] * value; + + let value = (column0 - *oods_values[5]) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients[5] * value; + + let value = (column0 - *oods_values[6]) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients[6] * value; + + let value = (column0 - *oods_values[7]) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients[7] * value; + + let value = (column0 - *oods_values[8]) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients[8] * value; + + let value = (column0 - *oods_values[9]) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients[9] * value; + + let value = (column0 - *oods_values[10]) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients[10] * value; + + let value = (column0 - *oods_values[11]) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients[11] * value; + + let value = (column0 - *oods_values[12]) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients[12] * value; + + let value = (column0 - *oods_values[13]) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients[13] * value; + + let value = (column0 - *oods_values[14]) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients[14] * value; + + let value = (column0 - *oods_values[15]) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients[15] * value; + + let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[16] * value; + + let value = (column1 - *oods_values[17]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[17] * value; + + let value = (column1 - *oods_values[18]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[18] * value; + + let value = (column1 - *oods_values[19]) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients[19] * value; + + let value = (column1 - *oods_values[20]) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients[20] * value; + + let value = (column1 - *oods_values[21]) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients[21] * value; + + let value = (column1 - *oods_values[22]) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients[22] * value; + + let value = (column1 - *oods_values[23]) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients[23] * value; + + let value = (column1 - *oods_values[24]) / (point - pow81 * oods_point); + let total_sum = total_sum + *constraint_coefficients[24] * value; + + let value = (column1 - *oods_values[25]) / (point - pow92 * oods_point); + let total_sum = total_sum + *constraint_coefficients[25] * value; + + let value = (column1 - *oods_values[26]) / (point - pow100 * oods_point); + let total_sum = total_sum + *constraint_coefficients[26] * value; + + let value = (column1 - *oods_values[27]) / (point - pow114 * oods_point); + let total_sum = total_sum + *constraint_coefficients[27] * value; + + let value = (column1 - *oods_values[28]) / (point - pow119 * oods_point); + let total_sum = total_sum + *constraint_coefficients[28] * value; + + let value = (column1 - *oods_values[29]) / (point - pow127 * oods_point); + let total_sum = total_sum + *constraint_coefficients[29] * value; + + let value = (column1 - *oods_values[30]) / (point - pow131 * oods_point); + let total_sum = total_sum + *constraint_coefficients[30] * value; + + let value = (column1 - *oods_values[31]) / (point - pow141 * oods_point); + let total_sum = total_sum + *constraint_coefficients[31] * value; + + let value = (column1 - *oods_values[32]) / (point - pow143 * oods_point); + let total_sum = total_sum + *constraint_coefficients[32] * value; + + let value = (column1 - *oods_values[33]) / (point - pow147 * oods_point); + let total_sum = total_sum + *constraint_coefficients[33] * value; + + let value = (column1 - *oods_values[34]) / (point - pow149 * oods_point); + let total_sum = total_sum + *constraint_coefficients[34] * value; + + let value = (column1 - *oods_values[35]) / (point - pow150 * oods_point); + let total_sum = total_sum + *constraint_coefficients[35] * value; + + let value = (column1 - *oods_values[36]) / (point - pow152 * oods_point); + let total_sum = total_sum + *constraint_coefficients[36] * value; + + let value = (column1 - *oods_values[37]) / (point - pow158 * oods_point); + let total_sum = total_sum + *constraint_coefficients[37] * value; + + let value = (column1 - *oods_values[38]) / (point - pow161 * oods_point); + let total_sum = total_sum + *constraint_coefficients[38] * value; + + let value = (column1 - *oods_values[39]) / (point - pow164 * oods_point); + let total_sum = total_sum + *constraint_coefficients[39] * value; + + let value = (column1 - *oods_values[40]) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients[40] * value; + + let value = (column1 - *oods_values[41]) / (point - pow175 * oods_point); + let total_sum = total_sum + *constraint_coefficients[41] * value; + + let value = (column1 - *oods_values[42]) / (point - pow178 * oods_point); + let total_sum = total_sum + *constraint_coefficients[42] * value; + + let value = (column1 - *oods_values[43]) / (point - pow181 * oods_point); + let total_sum = total_sum + *constraint_coefficients[43] * value; + + let value = (column1 - *oods_values[44]) / (point - pow200 * oods_point); + let total_sum = total_sum + *constraint_coefficients[44] * value; + + let value = (column1 - *oods_values[45]) / (point - pow214 * oods_point); + let total_sum = total_sum + *constraint_coefficients[45] * value; + + let value = (column1 - *oods_values[46]) / (point - pow219 * oods_point); + let total_sum = total_sum + *constraint_coefficients[46] * value; + + let value = (column1 - *oods_values[47]) / (point - pow220 * oods_point); + let total_sum = total_sum + *constraint_coefficients[47] * value; + + let value = (column1 - *oods_values[48]) / (point - pow223 * oods_point); + let total_sum = total_sum + *constraint_coefficients[48] * value; + + let value = (column1 - *oods_values[49]) / (point - pow218 * oods_point); + let total_sum = total_sum + *constraint_coefficients[49] * value; + + let value = (column1 - *oods_values[50]) / (point - pow222 * oods_point); + let total_sum = total_sum + *constraint_coefficients[50] * value; + + let value = (column1 - *oods_values[51]) / (point - pow225 * oods_point); + let total_sum = total_sum + *constraint_coefficients[51] * value; + + let value = (column1 - *oods_values[52]) / (point - pow226 * oods_point); + let total_sum = total_sum + *constraint_coefficients[52] * value; + + let value = (column1 - *oods_values[53]) / (point - pow227 * oods_point); + let total_sum = total_sum + *constraint_coefficients[53] * value; + + let value = (column1 - *oods_values[54]) / (point - pow228 * oods_point); + let total_sum = total_sum + *constraint_coefficients[54] * value; + + let value = (column1 - *oods_values[55]) / (point - pow229 * oods_point); + let total_sum = total_sum + *constraint_coefficients[55] * value; + + let value = (column1 - *oods_values[56]) / (point - pow230 * oods_point); + let total_sum = total_sum + *constraint_coefficients[56] * value; + + let value = (column1 - *oods_values[57]) / (point - pow231 * oods_point); + let total_sum = total_sum + *constraint_coefficients[57] * value; + + let value = (column1 - *oods_values[58]) / (point - pow232 * oods_point); + let total_sum = total_sum + *constraint_coefficients[58] * value; + + let value = (column1 - *oods_values[59]) / (point - pow233 * oods_point); + let total_sum = total_sum + *constraint_coefficients[59] * value; + + let value = (column1 - *oods_values[60]) / (point - pow234 * oods_point); + let total_sum = total_sum + *constraint_coefficients[60] * value; + + let value = (column1 - *oods_values[61]) / (point - pow237 * oods_point); + let total_sum = total_sum + *constraint_coefficients[61] * value; + + let value = (column1 - *oods_values[62]) / (point - pow238 * oods_point); + let total_sum = total_sum + *constraint_coefficients[62] * value; + + let value = (column1 - *oods_values[63]) / (point - pow241 * oods_point); + let total_sum = total_sum + *constraint_coefficients[63] * value; + + let value = (column1 - *oods_values[64]) / (point - pow242 * oods_point); + let total_sum = total_sum + *constraint_coefficients[64] * value; + + let value = (column1 - *oods_values[65]) / (point - pow243 * oods_point); + let total_sum = total_sum + *constraint_coefficients[65] * value; + + let value = (column1 - *oods_values[66]) / (point - pow244 * oods_point); + let total_sum = total_sum + *constraint_coefficients[66] * value; + + let value = (column1 - *oods_values[67]) / (point - pow245 * oods_point); + let total_sum = total_sum + *constraint_coefficients[67] * value; + + let value = (column1 - *oods_values[68]) / (point - pow246 * oods_point); + let total_sum = total_sum + *constraint_coefficients[68] * value; + + let value = (column1 - *oods_values[69]) / (point - pow247 * oods_point); + let total_sum = total_sum + *constraint_coefficients[69] * value; + + let value = (column1 - *oods_values[70]) / (point - pow248 * oods_point); + let total_sum = total_sum + *constraint_coefficients[70] * value; + + let value = (column1 - *oods_values[71]) / (point - pow249 * oods_point); + let total_sum = total_sum + *constraint_coefficients[71] * value; + + let value = (column1 - *oods_values[72]) / (point - pow252 * oods_point); + let total_sum = total_sum + *constraint_coefficients[72] * value; + + let value = (column1 - *oods_values[73]) / (point - pow256 * oods_point); + let total_sum = total_sum + *constraint_coefficients[73] * value; + + let value = (column1 - *oods_values[74]) / (point - pow254 * oods_point); + let total_sum = total_sum + *constraint_coefficients[74] * value; + + let value = (column1 - *oods_values[75]) / (point - pow257 * oods_point); + let total_sum = total_sum + *constraint_coefficients[75] * value; + + let value = (column1 - *oods_values[76]) / (point - pow259 * oods_point); + let total_sum = total_sum + *constraint_coefficients[76] * value; + + let value = (column1 - *oods_values[77]) / (point - pow258 * oods_point); + let total_sum = total_sum + *constraint_coefficients[77] * value; + + let value = (column1 - *oods_values[78]) / (point - pow260 * oods_point); + let total_sum = total_sum + *constraint_coefficients[78] * value; + + let value = (column1 - *oods_values[79]) / (point - pow262 * oods_point); + let total_sum = total_sum + *constraint_coefficients[79] * value; + + let value = (column1 - *oods_values[80]) / (point - pow261 * oods_point); + let total_sum = total_sum + *constraint_coefficients[80] * value; + + let value = (column1 - *oods_values[81]) / (point - pow263 * oods_point); + let total_sum = total_sum + *constraint_coefficients[81] * value; + + let value = (column1 - *oods_values[82]) / (point - pow264 * oods_point); + let total_sum = total_sum + *constraint_coefficients[82] * value; + + let value = (column1 - *oods_values[83]) / (point - pow266 * oods_point); + let total_sum = total_sum + *constraint_coefficients[83] * value; + + let value = (column1 - *oods_values[84]) / (point - pow270 * oods_point); + let total_sum = total_sum + *constraint_coefficients[84] * value; + + let value = (column1 - *oods_values[85]) / (point - pow272 * oods_point); + let total_sum = total_sum + *constraint_coefficients[85] * value; + + let value = (column1 - *oods_values[86]) / (point - pow273 * oods_point); + let total_sum = total_sum + *constraint_coefficients[86] * value; + + let value = (column1 - *oods_values[87]) / (point - pow274 * oods_point); + let total_sum = total_sum + *constraint_coefficients[87] * value; + + let value = (column1 - *oods_values[88]) / (point - pow276 * oods_point); + let total_sum = total_sum + *constraint_coefficients[88] * value; + + let value = (column1 - *oods_values[89]) / (point - pow277 * oods_point); + let total_sum = total_sum + *constraint_coefficients[89] * value; + + let value = (column1 - *oods_values[90]) / (point - pow279 * oods_point); + let total_sum = total_sum + *constraint_coefficients[90] * value; + + let value = (column1 - *oods_values[91]) / (point - pow278 * oods_point); + let total_sum = total_sum + *constraint_coefficients[91] * value; + + let value = (column1 - *oods_values[92]) / (point - pow280 * oods_point); + let total_sum = total_sum + *constraint_coefficients[92] * value; + + let value = (column1 - *oods_values[93]) / (point - pow282 * oods_point); + let total_sum = total_sum + *constraint_coefficients[93] * value; + + let value = (column1 - *oods_values[94]) / (point - pow281 * oods_point); + let total_sum = total_sum + *constraint_coefficients[94] * value; + + let value = (column1 - *oods_values[95]) / (point - pow283 * oods_point); + let total_sum = total_sum + *constraint_coefficients[95] * value; + + let value = (column1 - *oods_values[96]) / (point - pow284 * oods_point); + let total_sum = total_sum + *constraint_coefficients[96] * value; + + let value = (column1 - *oods_values[97]) / (point - pow285 * oods_point); + let total_sum = total_sum + *constraint_coefficients[97] * value; + + let value = (column1 - *oods_values[98]) / (point - pow286 * oods_point); + let total_sum = total_sum + *constraint_coefficients[98] * value; + + let value = (column1 - *oods_values[99]) / (point - pow287 * oods_point); + let total_sum = total_sum + *constraint_coefficients[99] * value; + + let value = (column1 - *oods_values[100]) / (point - pow288 * oods_point); + let total_sum = total_sum + *constraint_coefficients[100] * value; + + let value = (column1 - *oods_values[101]) / (point - pow289 * oods_point); + let total_sum = total_sum + *constraint_coefficients[101] * value; + + let value = (column1 - *oods_values[102]) / (point - pow294 * oods_point); + let total_sum = total_sum + *constraint_coefficients[102] * value; + + let value = (column1 - *oods_values[103]) / (point - pow290 * oods_point); + let total_sum = total_sum + *constraint_coefficients[103] * value; + + let value = (column1 - *oods_values[104]) / (point - pow295 * oods_point); + let total_sum = total_sum + *constraint_coefficients[104] * value; + + let value = (column1 - *oods_values[105]) / (point - pow297 * oods_point); + let total_sum = total_sum + *constraint_coefficients[105] * value; + + let value = (column1 - *oods_values[106]) / (point - pow298 * oods_point); + let total_sum = total_sum + *constraint_coefficients[106] * value; + + let value = (column1 - *oods_values[107]) / (point - pow296 * oods_point); + let total_sum = total_sum + *constraint_coefficients[107] * value; + + let value = (column1 - *oods_values[108]) / (point - pow299 * oods_point); + let total_sum = total_sum + *constraint_coefficients[108] * value; + + let value = (column1 - *oods_values[109]) / (point - pow300 * oods_point); + let total_sum = total_sum + *constraint_coefficients[109] * value; + + let value = (column1 - *oods_values[110]) / (point - pow303 * oods_point); + let total_sum = total_sum + *constraint_coefficients[110] * value; + + let value = (column1 - *oods_values[111]) / (point - pow308 * oods_point); + let total_sum = total_sum + *constraint_coefficients[111] * value; + + let value = (column1 - *oods_values[112]) / (point - pow309 * oods_point); + let total_sum = total_sum + *constraint_coefficients[112] * value; + + let value = (column1 - *oods_values[113]) / (point - pow310 * oods_point); + let total_sum = total_sum + *constraint_coefficients[113] * value; + + let value = (column1 - *oods_values[114]) / (point - pow311 * oods_point); + let total_sum = total_sum + *constraint_coefficients[114] * value; + + let value = (column1 - *oods_values[115]) / (point - pow312 * oods_point); + let total_sum = total_sum + *constraint_coefficients[115] * value; + + let value = (column1 - *oods_values[116]) / (point - pow313 * oods_point); + let total_sum = total_sum + *constraint_coefficients[116] * value; + + let value = (column1 - *oods_values[117]) / (point - pow314 * oods_point); + let total_sum = total_sum + *constraint_coefficients[117] * value; + + let value = (column1 - *oods_values[118]) / (point - pow315 * oods_point); + let total_sum = total_sum + *constraint_coefficients[118] * value; + + let value = (column1 - *oods_values[119]) / (point - pow316 * oods_point); + let total_sum = total_sum + *constraint_coefficients[119] * value; + + let value = (column1 - *oods_values[120]) / (point - pow317 * oods_point); + let total_sum = total_sum + *constraint_coefficients[120] * value; + + let value = (column1 - *oods_values[121]) / (point - pow318 * oods_point); + let total_sum = total_sum + *constraint_coefficients[121] * value; + + let value = (column1 - *oods_values[122]) / (point - pow322 * oods_point); + let total_sum = total_sum + *constraint_coefficients[122] * value; + + let value = (column1 - *oods_values[123]) / (point - pow319 * oods_point); + let total_sum = total_sum + *constraint_coefficients[123] * value; + + let value = (column1 - *oods_values[124]) / (point - pow323 * oods_point); + let total_sum = total_sum + *constraint_coefficients[124] * value; + + let value = (column1 - *oods_values[125]) / (point - pow324 * oods_point); + let total_sum = total_sum + *constraint_coefficients[125] * value; + + let value = (column1 - *oods_values[126]) / (point - pow325 * oods_point); + let total_sum = total_sum + *constraint_coefficients[126] * value; + + let value = (column1 - *oods_values[127]) / (point - pow326 * oods_point); + let total_sum = total_sum + *constraint_coefficients[127] * value; + + let value = (column1 - *oods_values[128]) / (point - pow327 * oods_point); + let total_sum = total_sum + *constraint_coefficients[128] * value; + + let value = (column1 - *oods_values[129]) / (point - pow328 * oods_point); + let total_sum = total_sum + *constraint_coefficients[129] * value; + + let value = (column1 - *oods_values[130]) / (point - pow329 * oods_point); + let total_sum = total_sum + *constraint_coefficients[130] * value; + + let value = (column1 - *oods_values[131]) / (point - pow330 * oods_point); + let total_sum = total_sum + *constraint_coefficients[131] * value; + + let value = (column1 - *oods_values[132]) / (point - pow331 * oods_point); + let total_sum = total_sum + *constraint_coefficients[132] * value; + + let value = (column1 - *oods_values[133]) / (point - pow332 * oods_point); + let total_sum = total_sum + *constraint_coefficients[133] * value; + + let value = (column1 - *oods_values[134]) / (point - pow333 * oods_point); + let total_sum = total_sum + *constraint_coefficients[134] * value; + + let value = (column1 - *oods_values[135]) / (point - pow335 * oods_point); + let total_sum = total_sum + *constraint_coefficients[135] * value; + + let value = (column1 - *oods_values[136]) / (point - pow338 * oods_point); + let total_sum = total_sum + *constraint_coefficients[136] * value; + + let value = (column1 - *oods_values[137]) / (point - pow342 * oods_point); + let total_sum = total_sum + *constraint_coefficients[137] * value; + + let value = (column1 - *oods_values[138]) / (point - pow343 * oods_point); + let total_sum = total_sum + *constraint_coefficients[138] * value; + + let value = (column1 - *oods_values[139]) / (point - pow345 * oods_point); + let total_sum = total_sum + *constraint_coefficients[139] * value; + + let value = (column1 - *oods_values[140]) / (point - pow347 * oods_point); + let total_sum = total_sum + *constraint_coefficients[140] * value; + + let value = (column1 - *oods_values[141]) / (point - pow346 * oods_point); + let total_sum = total_sum + *constraint_coefficients[141] * value; + + let value = (column1 - *oods_values[142]) / (point - pow348 * oods_point); + let total_sum = total_sum + *constraint_coefficients[142] * value; + + let value = (column1 - *oods_values[143]) / (point - pow350 * oods_point); + let total_sum = total_sum + *constraint_coefficients[143] * value; + + let value = (column1 - *oods_values[144]) / (point - pow351 * oods_point); + let total_sum = total_sum + *constraint_coefficients[144] * value; + + let value = (column1 - *oods_values[145]) / (point - pow354 * oods_point); + let total_sum = total_sum + *constraint_coefficients[145] * value; + + let value = (column1 - *oods_values[146]) / (point - pow357 * oods_point); + let total_sum = total_sum + *constraint_coefficients[146] * value; + + let value = (column1 - *oods_values[147]) / (point - pow352 * oods_point); + let total_sum = total_sum + *constraint_coefficients[147] * value; + + let value = (column1 - *oods_values[148]) / (point - pow355 * oods_point); + let total_sum = total_sum + *constraint_coefficients[148] * value; + + let value = (column1 - *oods_values[149]) / (point - pow353 * oods_point); + let total_sum = total_sum + *constraint_coefficients[149] * value; + + let value = (column1 - *oods_values[150]) / (point - pow356 * oods_point); + let total_sum = total_sum + *constraint_coefficients[150] * value; + + let value = (column1 - *oods_values[151]) / (point - pow358 * oods_point); + let total_sum = total_sum + *constraint_coefficients[151] * value; + + let value = (column1 - *oods_values[152]) / (point - pow359 * oods_point); + let total_sum = total_sum + *constraint_coefficients[152] * value; + + let value = (column1 - *oods_values[153]) / (point - pow360 * oods_point); + let total_sum = total_sum + *constraint_coefficients[153] * value; + + let value = (column1 - *oods_values[154]) / (point - pow361 * oods_point); + let total_sum = total_sum + *constraint_coefficients[154] * value; + + let value = (column1 - *oods_values[155]) / (point - pow362 * oods_point); + let total_sum = total_sum + *constraint_coefficients[155] * value; + + let value = (column1 - *oods_values[156]) / (point - pow363 * oods_point); + let total_sum = total_sum + *constraint_coefficients[156] * value; + + let value = (column1 - *oods_values[157]) / (point - pow364 * oods_point); + let total_sum = total_sum + *constraint_coefficients[157] * value; + + let value = (column1 - *oods_values[158]) / (point - pow366 * oods_point); + let total_sum = total_sum + *constraint_coefficients[158] * value; + + let value = (column1 - *oods_values[159]) / (point - pow367 * oods_point); + let total_sum = total_sum + *constraint_coefficients[159] * value; + + let value = (column1 - *oods_values[160]) / (point - pow368 * oods_point); + let total_sum = total_sum + *constraint_coefficients[160] * value; + + let value = (column1 - *oods_values[161]) / (point - pow369 * oods_point); + let total_sum = total_sum + *constraint_coefficients[161] * value; + + let value = (column1 - *oods_values[162]) / (point - pow370 * oods_point); + let total_sum = total_sum + *constraint_coefficients[162] * value; + + let value = (column1 - *oods_values[163]) / (point - pow371 * oods_point); + let total_sum = total_sum + *constraint_coefficients[163] * value; + + let value = (column1 - *oods_values[164]) / (point - pow372 * oods_point); + let total_sum = total_sum + *constraint_coefficients[164] * value; + + let value = (column1 - *oods_values[165]) / (point - pow373 * oods_point); + let total_sum = total_sum + *constraint_coefficients[165] * value; + + let value = (column1 - *oods_values[166]) / (point - pow374 * oods_point); + let total_sum = total_sum + *constraint_coefficients[166] * value; + + let value = (column1 - *oods_values[167]) / (point - pow375 * oods_point); + let total_sum = total_sum + *constraint_coefficients[167] * value; + + let value = (column1 - *oods_values[168]) / (point - pow376 * oods_point); + let total_sum = total_sum + *constraint_coefficients[168] * value; + + let value = (column1 - *oods_values[169]) / (point - pow379 * oods_point); + let total_sum = total_sum + *constraint_coefficients[169] * value; + + let value = (column1 - *oods_values[170]) / (point - pow380 * oods_point); + let total_sum = total_sum + *constraint_coefficients[170] * value; + + let value = (column1 - *oods_values[171]) / (point - pow382 * oods_point); + let total_sum = total_sum + *constraint_coefficients[171] * value; + + let value = (column1 - *oods_values[172]) / (point - pow383 * oods_point); + let total_sum = total_sum + *constraint_coefficients[172] * value; + + let value = (column1 - *oods_values[173]) / (point - pow384 * oods_point); + let total_sum = total_sum + *constraint_coefficients[173] * value; + + let value = (column1 - *oods_values[174]) / (point - pow385 * oods_point); + let total_sum = total_sum + *constraint_coefficients[174] * value; + + let value = (column1 - *oods_values[175]) / (point - pow386 * oods_point); + let total_sum = total_sum + *constraint_coefficients[175] * value; + + let value = (column1 - *oods_values[176]) / (point - pow388 * oods_point); + let total_sum = total_sum + *constraint_coefficients[176] * value; + + let value = (column1 - *oods_values[177]) / (point - pow389 * oods_point); + let total_sum = total_sum + *constraint_coefficients[177] * value; + + let value = (column1 - *oods_values[178]) / (point - pow391 * oods_point); + let total_sum = total_sum + *constraint_coefficients[178] * value; + + let value = (column1 - *oods_values[179]) / (point - pow392 * oods_point); + let total_sum = total_sum + *constraint_coefficients[179] * value; + + let value = (column1 - *oods_values[180]) / (point - pow393 * oods_point); + let total_sum = total_sum + *constraint_coefficients[180] * value; + + let value = (column1 - *oods_values[181]) / (point - pow403 * oods_point); + let total_sum = total_sum + *constraint_coefficients[181] * value; + + let value = (column1 - *oods_values[182]) / (point - pow417 * oods_point); + let total_sum = total_sum + *constraint_coefficients[182] * value; + + let value = (column1 - *oods_values[183]) / (point - pow424 * oods_point); + let total_sum = total_sum + *constraint_coefficients[183] * value; + + let value = (column1 - *oods_values[184]) / (point - pow429 * oods_point); + let total_sum = total_sum + *constraint_coefficients[184] * value; + + let value = (column1 - *oods_values[185]) / (point - pow378 * oods_point); + let total_sum = total_sum + *constraint_coefficients[185] * value; + + let value = (column1 - *oods_values[186]) / (point - pow398 * oods_point); + let total_sum = total_sum + *constraint_coefficients[186] * value; + + let value = (column1 - *oods_values[187]) / (point - pow478 * oods_point); + let total_sum = total_sum + *constraint_coefficients[187] * value; + + let value = (column1 - *oods_values[188]) / (point - pow475 * oods_point); + let total_sum = total_sum + *constraint_coefficients[188] * value; + + let value = (column1 - *oods_values[189]) / (point - pow476 * oods_point); + let total_sum = total_sum + *constraint_coefficients[189] * value; + + let value = (column1 - *oods_values[190]) / (point - pow477 * oods_point); + let total_sum = total_sum + *constraint_coefficients[190] * value; + + let value = (column1 - *oods_values[191]) / (point - pow472 * oods_point); + let total_sum = total_sum + *constraint_coefficients[191] * value; + + let value = (column1 - *oods_values[192]) / (point - pow473 * oods_point); + let total_sum = total_sum + *constraint_coefficients[192] * value; + + let value = (column1 - *oods_values[193]) / (point - pow474 * oods_point); + let total_sum = total_sum + *constraint_coefficients[193] * value; + + let value = (column1 - *oods_values[194]) / (point - pow481 * oods_point); + let total_sum = total_sum + *constraint_coefficients[194] * value; + + let value = (column1 - *oods_values[195]) / (point - pow471 * oods_point); + let total_sum = total_sum + *constraint_coefficients[195] * value; + + let value = (column1 - *oods_values[196]) / (point - pow480 * oods_point); + let total_sum = total_sum + *constraint_coefficients[196] * value; + + let value = (column1 - *oods_values[197]) / (point - pow482 * oods_point); + let total_sum = total_sum + *constraint_coefficients[197] * value; + + let value = (column1 - *oods_values[198]) / (point - pow483 * oods_point); + let total_sum = total_sum + *constraint_coefficients[198] * value; + + let value = (column1 - *oods_values[199]) / (point - pow484 * oods_point); + let total_sum = total_sum + *constraint_coefficients[199] * value; + + let value = (column1 - *oods_values[200]) / (point - pow486 * oods_point); + let total_sum = total_sum + *constraint_coefficients[200] * value; + + let value = (column1 - *oods_values[201]) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients[201] * value; + + let value = (column1 - *oods_values[202]) / (point - pow621 * oods_point); + let total_sum = total_sum + *constraint_coefficients[202] * value; + + let value = (column1 - *oods_values[203]) / (point - pow487 * oods_point); + let total_sum = total_sum + *constraint_coefficients[203] * value; + + let value = (column1 - *oods_values[204]) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients[204] * value; + + let value = (column1 - *oods_values[205]) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients[205] * value; + + let value = (column1 - *oods_values[206]) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients[206] * value; + + let value = (column1 - *oods_values[207]) / (point - pow540 * oods_point); + let total_sum = total_sum + *constraint_coefficients[207] * value; + + let value = (column1 - *oods_values[208]) / (point - pow542 * oods_point); + let total_sum = total_sum + *constraint_coefficients[208] * value; + + let value = (column1 - *oods_values[209]) / (point - pow544 * oods_point); + let total_sum = total_sum + *constraint_coefficients[209] * value; + + let value = (column1 - *oods_values[210]) / (point - pow546 * oods_point); + let total_sum = total_sum + *constraint_coefficients[210] * value; + + let value = (column1 - *oods_values[211]) / (point - pow548 * oods_point); + let total_sum = total_sum + *constraint_coefficients[211] * value; + + let value = (column1 - *oods_values[212]) / (point - pow549 * oods_point); + let total_sum = total_sum + *constraint_coefficients[212] * value; + + let value = (column1 - *oods_values[213]) / (point - pow530 * oods_point); + let total_sum = total_sum + *constraint_coefficients[213] * value; + + let value = (column1 - *oods_values[214]) / (point - pow529 * oods_point); + let total_sum = total_sum + *constraint_coefficients[214] * value; + + let value = (column1 - *oods_values[215]) / (point - pow526 * oods_point); + let total_sum = total_sum + *constraint_coefficients[215] * value; + + let value = (column1 - *oods_values[216]) / (point - pow531 * oods_point); + let total_sum = total_sum + *constraint_coefficients[216] * value; + + let value = (column1 - *oods_values[217]) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients[217] * value; + + let value = (column1 - *oods_values[218]) / (point - pow528 * oods_point); + let total_sum = total_sum + *constraint_coefficients[218] * value; + + let value = (column1 - *oods_values[219]) / (point - pow536 * oods_point); + let total_sum = total_sum + *constraint_coefficients[219] * value; + + let value = (column1 - *oods_values[220]) / (point - pow532 * oods_point); + let total_sum = total_sum + *constraint_coefficients[220] * value; + + let value = (column1 - *oods_values[221]) / (point - pow533 * oods_point); + let total_sum = total_sum + *constraint_coefficients[221] * value; + + let value = (column1 - *oods_values[222]) / (point - pow534 * oods_point); + let total_sum = total_sum + *constraint_coefficients[222] * value; + + let value = (column1 - *oods_values[223]) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients[223] * value; + + let value = (column1 - *oods_values[224]) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients[224] * value; + + let value = (column1 - *oods_values[225]) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients[225] * value; + + let value = (column1 - *oods_values[226]) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients[226] * value; + + let value = (column1 - *oods_values[227]) / (point - pow541 * oods_point); + let total_sum = total_sum + *constraint_coefficients[227] * value; + + let value = (column1 - *oods_values[228]) / (point - pow543 * oods_point); + let total_sum = total_sum + *constraint_coefficients[228] * value; + + let value = (column1 - *oods_values[229]) / (point - pow545 * oods_point); + let total_sum = total_sum + *constraint_coefficients[229] * value; + + let value = (column1 - *oods_values[230]) / (point - pow547 * oods_point); + let total_sum = total_sum + *constraint_coefficients[230] * value; + + let value = (column1 - *oods_values[231]) / (point - pow550 * oods_point); + let total_sum = total_sum + *constraint_coefficients[231] * value; + + let value = (column1 - *oods_values[232]) / (point - pow551 * oods_point); + let total_sum = total_sum + *constraint_coefficients[232] * value; + + let value = (column1 - *oods_values[233]) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients[233] * value; + + let value = (column1 - *oods_values[234]) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients[234] * value; + + let value = (column1 - *oods_values[235]) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients[235] * value; + + let value = (column1 - *oods_values[236]) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients[236] * value; + + let value = (column1 - *oods_values[237]) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients[237] * value; + + let value = (column1 - *oods_values[238]) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients[238] * value; + + let value = (column1 - *oods_values[239]) / (point - pow513 * oods_point); + let total_sum = total_sum + *constraint_coefficients[239] * value; + + let value = (column1 - *oods_values[240]) / (point - pow514 * oods_point); + let total_sum = total_sum + *constraint_coefficients[240] * value; + + let value = (column1 - *oods_values[241]) / (point - pow512 * oods_point); + let total_sum = total_sum + *constraint_coefficients[241] * value; + + let value = (column1 - *oods_values[242]) / (point - pow511 * oods_point); + let total_sum = total_sum + *constraint_coefficients[242] * value; + + let value = (column1 - *oods_values[243]) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients[243] * value; + + let value = (column1 - *oods_values[244]) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients[244] * value; + + let value = (column1 - *oods_values[245]) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients[245] * value; + + let value = (column1 - *oods_values[246]) / (point - pow320 * oods_point); + let total_sum = total_sum + *constraint_coefficients[246] * value; + + let value = (column1 - *oods_values[247]) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients[247] * value; + + let value = (column1 - *oods_values[248]) / (point - pow106 * oods_point); + let total_sum = total_sum + *constraint_coefficients[248] * value; + + let value = (column1 - *oods_values[249]) / (point - pow137 * oods_point); + let total_sum = total_sum + *constraint_coefficients[249] * value; + + let value = (column1 - *oods_values[250]) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients[250] * value; + + let value = (column1 - *oods_values[251]) / (point - pow105 * oods_point); + let total_sum = total_sum + *constraint_coefficients[251] * value; + + let value = (column1 - *oods_values[252]) / (point - pow136 * oods_point); + let total_sum = total_sum + *constraint_coefficients[252] * value; + + let value = (column1 - *oods_values[253]) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients[253] * value; + + let value = (column1 - *oods_values[254]) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients[254] * value; + + let value = (column1 - *oods_values[255]) / (point - pow444 * oods_point); + let total_sum = total_sum + *constraint_coefficients[255] * value; + + let value = (column1 - *oods_values[256]) / (point - pow450 * oods_point); + let total_sum = total_sum + *constraint_coefficients[256] * value; + + let value = (column1 - *oods_values[257]) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients[257] * value; + + let value = (column1 - *oods_values[258]) / (point - pow104 * oods_point); + let total_sum = total_sum + *constraint_coefficients[258] * value; + + let value = (column1 - *oods_values[259]) / (point - pow135 * oods_point); + let total_sum = total_sum + *constraint_coefficients[259] * value; + + let value = (column1 - *oods_values[260]) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients[260] * value; + + let value = (column1 - *oods_values[261]) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients[261] * value; + + let value = (column1 - *oods_values[262]) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients[262] * value; + + let value = (column1 - *oods_values[263]) / (point - pow520 * oods_point); + let total_sum = total_sum + *constraint_coefficients[263] * value; + + let value = (column1 - *oods_values[264]) / (point - pow523 * oods_point); + let total_sum = total_sum + *constraint_coefficients[264] * value; + + let value = (column1 - *oods_values[265]) / (point - pow519 * oods_point); + let total_sum = total_sum + *constraint_coefficients[265] * value; + + let value = (column1 - *oods_values[266]) / (point - pow521 * oods_point); + let total_sum = total_sum + *constraint_coefficients[266] * value; + + let value = (column1 - *oods_values[267]) / (point - pow555 * oods_point); + let total_sum = total_sum + *constraint_coefficients[267] * value; + + let value = (column1 - *oods_values[268]) / (point - pow556 * oods_point); + let total_sum = total_sum + *constraint_coefficients[268] * value; + + let value = (column1 - *oods_values[269]) / (point - pow557 * oods_point); + let total_sum = total_sum + *constraint_coefficients[269] * value; + + let value = (column1 - *oods_values[270]) / (point - pow558 * oods_point); + let total_sum = total_sum + *constraint_coefficients[270] * value; + + let value = (column1 - *oods_values[271]) / (point - pow559 * oods_point); + let total_sum = total_sum + *constraint_coefficients[271] * value; + + let value = (column1 - *oods_values[272]) / (point - pow561 * oods_point); + let total_sum = total_sum + *constraint_coefficients[272] * value; + + let value = (column1 - *oods_values[273]) / (point - pow571 * oods_point); + let total_sum = total_sum + *constraint_coefficients[273] * value; + + let value = (column1 - *oods_values[274]) / (point - pow570 * oods_point); + let total_sum = total_sum + *constraint_coefficients[274] * value; + + let value = (column1 - *oods_values[275]) / (point - pow569 * oods_point); + let total_sum = total_sum + *constraint_coefficients[275] * value; + + let value = (column1 - *oods_values[276]) / (point - pow568 * oods_point); + let total_sum = total_sum + *constraint_coefficients[276] * value; + + let value = (column1 - *oods_values[277]) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients[277] * value; + + let value = (column1 - *oods_values[278]) / (point - pow524 * oods_point); + let total_sum = total_sum + *constraint_coefficients[278] * value; + + let value = (column1 - *oods_values[279]) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients[279] * value; + + let value = (column1 - *oods_values[280]) / (point - pow174 * oods_point); + let total_sum = total_sum + *constraint_coefficients[280] * value; + + let value = (column1 - *oods_values[281]) / (point - pow217 * oods_point); + let total_sum = total_sum + *constraint_coefficients[281] * value; + + let value = (column1 - *oods_values[282]) / (point - pow553 * oods_point); + let total_sum = total_sum + *constraint_coefficients[282] * value; + + let value = (column1 - *oods_values[283]) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients[283] * value; + + let value = (column1 - *oods_values[284]) / (point - pow103 * oods_point); + let total_sum = total_sum + *constraint_coefficients[284] * value; + + let value = (column1 - *oods_values[285]) / (point - pow134 * oods_point); + let total_sum = total_sum + *constraint_coefficients[285] * value; + + let value = (column1 - *oods_values[286]) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients[286] * value; + + let value = (column1 - *oods_values[287]) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients[287] * value; + + let value = (column1 - *oods_values[288]) / (point - pow173 * oods_point); + let total_sum = total_sum + *constraint_coefficients[288] * value; + + let value = (column1 - *oods_values[289]) / (point - pow216 * oods_point); + let total_sum = total_sum + *constraint_coefficients[289] * value; + + let value = (column1 - *oods_values[290]) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients[290] * value; + + let value = (column1 - *oods_values[291]) / (point - pow102 * oods_point); + let total_sum = total_sum + *constraint_coefficients[291] * value; + + let value = (column1 - *oods_values[292]) / (point - pow133 * oods_point); + let total_sum = total_sum + *constraint_coefficients[292] * value; + + let value = (column1 - *oods_values[293]) / (point - pow573 * oods_point); + let total_sum = total_sum + *constraint_coefficients[293] * value; + + let value = (column1 - *oods_values[294]) / (point - pow321 * oods_point); + let total_sum = total_sum + *constraint_coefficients[294] * value; + + let value = (column1 - *oods_values[295]) / (point - pow562 * oods_point); + let total_sum = total_sum + *constraint_coefficients[295] * value; + + let value = (column1 - *oods_values[296]) / (point - pow563 * oods_point); + let total_sum = total_sum + *constraint_coefficients[296] * value; + + let value = (column1 - *oods_values[297]) / (point - pow620 * oods_point); + let total_sum = total_sum + *constraint_coefficients[297] * value; + + let value = (column1 - *oods_values[298]) / (point - pow619 * oods_point); + let total_sum = total_sum + *constraint_coefficients[298] * value; + + let value = (column1 - *oods_values[299]) / (point - pow617 * oods_point); + let total_sum = total_sum + *constraint_coefficients[299] * value; + + let value = (column1 - *oods_values[300]) / (point - pow616 * oods_point); + let total_sum = total_sum + *constraint_coefficients[300] * value; + + let value = (column1 - *oods_values[301]) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients[301] * value; + + let value = (column1 - *oods_values[302]) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients[302] * value; + + let value = (column1 - *oods_values[303]) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients[303] * value; + + let value = (column1 - *oods_values[304]) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients[304] * value; + + let value = (column1 - *oods_values[305]) / (point - pow387 * oods_point); + let total_sum = total_sum + *constraint_coefficients[305] * value; + + let value = (column1 - *oods_values[306]) / (point - pow517 * oods_point); + let total_sum = total_sum + *constraint_coefficients[306] * value; + + let value = (column1 - *oods_values[307]) / (point - pow518 * oods_point); + let total_sum = total_sum + *constraint_coefficients[307] * value; + + let value = (column1 - *oods_values[308]) / (point - pow578 * oods_point); + let total_sum = total_sum + *constraint_coefficients[308] * value; + + let value = (column1 - *oods_values[309]) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients[309] * value; + + let value = (column1 - *oods_values[310]) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients[310] * value; + + let value = (column1 - *oods_values[311]) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients[311] * value; + + let value = (column1 - *oods_values[312]) / (point - pow172 * oods_point); + let total_sum = total_sum + *constraint_coefficients[312] * value; + + let value = (column1 - *oods_values[313]) / (point - pow215 * oods_point); + let total_sum = total_sum + *constraint_coefficients[313] * value; + + let value = (column1 - *oods_values[314]) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients[314] * value; + + let value = (column1 - *oods_values[315]) / (point - pow101 * oods_point); + let total_sum = total_sum + *constraint_coefficients[315] * value; + + let value = (column1 - *oods_values[316]) / (point - pow132 * oods_point); + let total_sum = total_sum + *constraint_coefficients[316] * value; + + let value = (column1 - *oods_values[317]) / (point - pow584 * oods_point); + let total_sum = total_sum + *constraint_coefficients[317] * value; + + let value = (column1 - *oods_values[318]) / (point - pow585 * oods_point); + let total_sum = total_sum + *constraint_coefficients[318] * value; + + let value = (column1 - *oods_values[319]) / (point - pow618 * oods_point); + let total_sum = total_sum + *constraint_coefficients[319] * value; + + let value = (column1 - *oods_values[320]) / (point - pow583 * oods_point); + let total_sum = total_sum + *constraint_coefficients[320] * value; + + let value = (column1 - *oods_values[321]) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients[321] * value; + + let value = (column1 - *oods_values[322]) / (point - pow581 * oods_point); + let total_sum = total_sum + *constraint_coefficients[322] * value; + + let value = (column1 - *oods_values[323]) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients[323] * value; + + let value = (column1 - *oods_values[324]) / (point - pow177 * oods_point); + let total_sum = total_sum + *constraint_coefficients[324] * value; + + let value = (column1 - *oods_values[325]) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients[325] * value; + + let value = (column1 - *oods_values[326]) / (point - pow334 * oods_point); + let total_sum = total_sum + *constraint_coefficients[326] * value; + + let value = (column1 - *oods_values[327]) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients[327] * value; + + let value = (column1 - *oods_values[328]) / (point - pow365 * oods_point); + let total_sum = total_sum + *constraint_coefficients[328] * value; + + let value = (column1 - *oods_values[329]) / (point - pow592 * oods_point); + let total_sum = total_sum + *constraint_coefficients[329] * value; + + let value = (column1 - *oods_values[330]) / (point - pow594 * oods_point); + let total_sum = total_sum + *constraint_coefficients[330] * value; + + let value = (column1 - *oods_values[331]) / (point - pow593 * oods_point); + let total_sum = total_sum + *constraint_coefficients[331] * value; + + let value = (column1 - *oods_values[332]) / (point - pow595 * oods_point); + let total_sum = total_sum + *constraint_coefficients[332] * value; + + let value = (column1 - *oods_values[333]) / (point - pow596 * oods_point); + let total_sum = total_sum + *constraint_coefficients[333] * value; + + let value = (column1 - *oods_values[334]) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients[334] * value; + + let value = (column1 - *oods_values[335]) / (point - pow597 * oods_point); + let total_sum = total_sum + *constraint_coefficients[335] * value; + + let value = (column1 - *oods_values[336]) / (point - pow598 * oods_point); + let total_sum = total_sum + *constraint_coefficients[336] * value; + + let value = (column1 - *oods_values[337]) / (point - pow600 * oods_point); + let total_sum = total_sum + *constraint_coefficients[337] * value; + + let value = (column1 - *oods_values[338]) / (point - pow602 * oods_point); + let total_sum = total_sum + *constraint_coefficients[338] * value; + + let value = (column1 - *oods_values[339]) / (point - pow603 * oods_point); + let total_sum = total_sum + *constraint_coefficients[339] * value; + + let value = (column1 - *oods_values[340]) / (point - pow601 * oods_point); + let total_sum = total_sum + *constraint_coefficients[340] * value; + + let value = (column1 - *oods_values[341]) / (point - pow608 * oods_point); + let total_sum = total_sum + *constraint_coefficients[341] * value; + + let value = (column1 - *oods_values[342]) / (point - pow609 * oods_point); + let total_sum = total_sum + *constraint_coefficients[342] * value; + + let value = (column1 - *oods_values[343]) / (point - pow610 * oods_point); + let total_sum = total_sum + *constraint_coefficients[343] * value; + + let value = (column1 - *oods_values[344]) / (point - pow611 * oods_point); + let total_sum = total_sum + *constraint_coefficients[344] * value; + + let value = (column1 - *oods_values[345]) / (point - pow613 * oods_point); + let total_sum = total_sum + *constraint_coefficients[345] * value; + + let value = (column1 - *oods_values[346]) / (point - pow615 * oods_point); + let total_sum = total_sum + *constraint_coefficients[346] * value; + + let value = (column1 - *oods_values[347]) / (point - pow612 * oods_point); + let total_sum = total_sum + *constraint_coefficients[347] * value; + + let value = (column1 - *oods_values[348]) / (point - pow614 * oods_point); + let total_sum = total_sum + *constraint_coefficients[348] * value; + + let value = (column2 - *oods_values[349]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[349] * value; + + let value = (column2 - *oods_values[350]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[350] * value; + + let value = (column3 - *oods_values[351]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[351] * value; + + let value = (column3 - *oods_values[352]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[352] * value; + + let value = (column3 - *oods_values[353]) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients[353] * value; + + let value = (column3 - *oods_values[354]) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients[354] * value; + + let value = (column3 - *oods_values[355]) / (point - pow213 * oods_point); + let total_sum = total_sum + *constraint_coefficients[355] * value; + + let value = (column4 - *oods_values[356]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[356] * value; + + let value = (column4 - *oods_values[357]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[357] * value; + + let value = (column4 - *oods_values[358]) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients[358] * value; + + let value = (column4 - *oods_values[359]) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients[359] * value; + + let value = (column5 - *oods_values[360]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[360] * value; + + let value = (column5 - *oods_values[361]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[361] * value; + + let value = (column5 - *oods_values[362]) / (point - pow149 * oods_point); + let total_sum = total_sum + *constraint_coefficients[362] * value; + + let value = (column5 - *oods_values[363]) / (point - pow150 * oods_point); + let total_sum = total_sum + *constraint_coefficients[363] * value; + + let value = (column5 - *oods_values[364]) / (point - pow152 * oods_point); + let total_sum = total_sum + *constraint_coefficients[364] * value; + + let value = (column5 - *oods_values[365]) / (point - pow153 * oods_point); + let total_sum = total_sum + *constraint_coefficients[365] * value; + + let value = (column5 - *oods_values[366]) / (point - pow167 * oods_point); + let total_sum = total_sum + *constraint_coefficients[366] * value; + + let value = (column5 - *oods_values[367]) / (point - pow168 * oods_point); + let total_sum = total_sum + *constraint_coefficients[367] * value; + + let value = (column5 - *oods_values[368]) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients[368] * value; + + let value = (column6 - *oods_values[369]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[369] * value; + + let value = (column6 - *oods_values[370]) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients[370] * value; + + let value = (column7 - *oods_values[371]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[371] * value; + + let value = (column7 - *oods_values[372]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[372] * value; + + let value = (column7 - *oods_values[373]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[373] * value; + + let value = (column7 - *oods_values[374]) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients[374] * value; + + let value = (column7 - *oods_values[375]) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients[375] * value; + + let value = (column7 - *oods_values[376]) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients[376] * value; + + let value = (column7 - *oods_values[377]) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients[377] * value; + + let value = (column7 - *oods_values[378]) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients[378] * value; + + let value = (column7 - *oods_values[379]) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients[379] * value; + + let value = (column7 - *oods_values[380]) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients[380] * value; + + let value = (column7 - *oods_values[381]) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients[381] * value; + + let value = (column7 - *oods_values[382]) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients[382] * value; + + let value = (column7 - *oods_values[383]) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients[383] * value; + + let value = (column7 - *oods_values[384]) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients[384] * value; + + let value = (column7 - *oods_values[385]) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients[385] * value; + + let value = (column7 - *oods_values[386]) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients[386] * value; + + let value = (column7 - *oods_values[387]) / (point - pow418 * oods_point); + let total_sum = total_sum + *constraint_coefficients[387] * value; + + let value = (column7 - *oods_values[388]) / (point - pow419 * oods_point); + let total_sum = total_sum + *constraint_coefficients[388] * value; + + let value = (column7 - *oods_values[389]) / (point - pow420 * oods_point); + let total_sum = total_sum + *constraint_coefficients[389] * value; + + let value = (column7 - *oods_values[390]) / (point - pow427 * oods_point); + let total_sum = total_sum + *constraint_coefficients[390] * value; + + let value = (column7 - *oods_values[391]) / (point - pow428 * oods_point); + let total_sum = total_sum + *constraint_coefficients[391] * value; + + let value = (column7 - *oods_values[392]) / (point - pow431 * oods_point); + let total_sum = total_sum + *constraint_coefficients[392] * value; + + let value = (column7 - *oods_values[393]) / (point - pow432 * oods_point); + let total_sum = total_sum + *constraint_coefficients[393] * value; + + let value = (column7 - *oods_values[394]) / (point - pow433 * oods_point); + let total_sum = total_sum + *constraint_coefficients[394] * value; + + let value = (column7 - *oods_values[395]) / (point - pow434 * oods_point); + let total_sum = total_sum + *constraint_coefficients[395] * value; + + let value = (column7 - *oods_values[396]) / (point - pow435 * oods_point); + let total_sum = total_sum + *constraint_coefficients[396] * value; + + let value = (column7 - *oods_values[397]) / (point - pow436 * oods_point); + let total_sum = total_sum + *constraint_coefficients[397] * value; + + let value = (column7 - *oods_values[398]) / (point - pow437 * oods_point); + let total_sum = total_sum + *constraint_coefficients[398] * value; + + let value = (column7 - *oods_values[399]) / (point - pow438 * oods_point); + let total_sum = total_sum + *constraint_coefficients[399] * value; + + let value = (column7 - *oods_values[400]) / (point - pow439 * oods_point); + let total_sum = total_sum + *constraint_coefficients[400] * value; + + let value = (column7 - *oods_values[401]) / (point - pow440 * oods_point); + let total_sum = total_sum + *constraint_coefficients[401] * value; + + let value = (column7 - *oods_values[402]) / (point - pow441 * oods_point); + let total_sum = total_sum + *constraint_coefficients[402] * value; + + let value = (column7 - *oods_values[403]) / (point - pow442 * oods_point); + let total_sum = total_sum + *constraint_coefficients[403] * value; + + let value = (column7 - *oods_values[404]) / (point - pow443 * oods_point); + let total_sum = total_sum + *constraint_coefficients[404] * value; + + let value = (column7 - *oods_values[405]) / (point - pow446 * oods_point); + let total_sum = total_sum + *constraint_coefficients[405] * value; + + let value = (column7 - *oods_values[406]) / (point - pow447 * oods_point); + let total_sum = total_sum + *constraint_coefficients[406] * value; + + let value = (column7 - *oods_values[407]) / (point - pow448 * oods_point); + let total_sum = total_sum + *constraint_coefficients[407] * value; + + let value = (column7 - *oods_values[408]) / (point - pow449 * oods_point); + let total_sum = total_sum + *constraint_coefficients[408] * value; + + let value = (column7 - *oods_values[409]) / (point - pow451 * oods_point); + let total_sum = total_sum + *constraint_coefficients[409] * value; + + let value = (column7 - *oods_values[410]) / (point - pow452 * oods_point); + let total_sum = total_sum + *constraint_coefficients[410] * value; + + let value = (column7 - *oods_values[411]) / (point - pow453 * oods_point); + let total_sum = total_sum + *constraint_coefficients[411] * value; + + let value = (column7 - *oods_values[412]) / (point - pow454 * oods_point); + let total_sum = total_sum + *constraint_coefficients[412] * value; + + let value = (column7 - *oods_values[413]) / (point - pow457 * oods_point); + let total_sum = total_sum + *constraint_coefficients[413] * value; + + let value = (column7 - *oods_values[414]) / (point - pow460 * oods_point); + let total_sum = total_sum + *constraint_coefficients[414] * value; + + let value = (column7 - *oods_values[415]) / (point - pow464 * oods_point); + let total_sum = total_sum + *constraint_coefficients[415] * value; + + let value = (column7 - *oods_values[416]) / (point - pow468 * oods_point); + let total_sum = total_sum + *constraint_coefficients[416] * value; + + let value = (column7 - *oods_values[417]) / (point - pow504 * oods_point); + let total_sum = total_sum + *constraint_coefficients[417] * value; + + let value = (column7 - *oods_values[418]) / (point - pow505 * oods_point); + let total_sum = total_sum + *constraint_coefficients[418] * value; + + let value = (column7 - *oods_values[419]) / (point - pow506 * oods_point); + let total_sum = total_sum + *constraint_coefficients[419] * value; + + let value = (column7 - *oods_values[420]) / (point - pow507 * oods_point); + let total_sum = total_sum + *constraint_coefficients[420] * value; + + let value = (column7 - *oods_values[421]) / (point - pow508 * oods_point); + let total_sum = total_sum + *constraint_coefficients[421] * value; + + let value = (column7 - *oods_values[422]) / (point - pow515 * oods_point); + let total_sum = total_sum + *constraint_coefficients[422] * value; + + let value = (column7 - *oods_values[423]) / (point - pow516 * oods_point); + let total_sum = total_sum + *constraint_coefficients[423] * value; + + let value = (column7 - *oods_values[424]) / (point - pow565 * oods_point); + let total_sum = total_sum + *constraint_coefficients[424] * value; + + let value = (column7 - *oods_values[425]) / (point - pow566 * oods_point); + let total_sum = total_sum + *constraint_coefficients[425] * value; + + let value = (column7 - *oods_values[426]) / (point - pow572 * oods_point); + let total_sum = total_sum + *constraint_coefficients[426] * value; + + let value = (column7 - *oods_values[427]) / (point - pow574 * oods_point); + let total_sum = total_sum + *constraint_coefficients[427] * value; + + let value = (column7 - *oods_values[428]) / (point - pow576 * oods_point); + let total_sum = total_sum + *constraint_coefficients[428] * value; + + let value = (column7 - *oods_values[429]) / (point - pow579 * oods_point); + let total_sum = total_sum + *constraint_coefficients[429] * value; + + let value = (column7 - *oods_values[430]) / (point - pow580 * oods_point); + let total_sum = total_sum + *constraint_coefficients[430] * value; + + let value = (column7 - *oods_values[431]) / (point - pow588 * oods_point); + let total_sum = total_sum + *constraint_coefficients[431] * value; + + let value = (column8 - *oods_values[432]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[432] * value; + + let value = (column8 - *oods_values[433]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[433] * value; + + let value = (column8 - *oods_values[434]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[434] * value; + + let value = (column8 - *oods_values[435]) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients[435] * value; + + let value = (column8 - *oods_values[436]) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients[436] * value; + + let value = (column8 - *oods_values[437]) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients[437] * value; + + let value = (column8 - *oods_values[438]) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients[438] * value; + + let value = (column8 - *oods_values[439]) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients[439] * value; + + let value = (column8 - *oods_values[440]) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients[440] * value; + + let value = (column8 - *oods_values[441]) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients[441] * value; + + let value = (column8 - *oods_values[442]) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients[442] * value; + + let value = (column8 - *oods_values[443]) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients[443] * value; + + let value = (column8 - *oods_values[444]) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients[444] * value; + + let value = (column8 - *oods_values[445]) / (point - pow85 * oods_point); + let total_sum = total_sum + *constraint_coefficients[445] * value; + + let value = (column8 - *oods_values[446]) / (point - pow86 * oods_point); + let total_sum = total_sum + *constraint_coefficients[446] * value; + + let value = (column8 - *oods_values[447]) / (point - pow109 * oods_point); + let total_sum = total_sum + *constraint_coefficients[447] * value; + + let value = (column8 - *oods_values[448]) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients[448] * value; + + let value = (column8 - *oods_values[449]) / (point - pow122 * oods_point); + let total_sum = total_sum + *constraint_coefficients[449] * value; + + let value = (column8 - *oods_values[450]) / (point - pow123 * oods_point); + let total_sum = total_sum + *constraint_coefficients[450] * value; + + let value = (column8 - *oods_values[451]) / (point - pow138 * oods_point); + let total_sum = total_sum + *constraint_coefficients[451] * value; + + let value = (column8 - *oods_values[452]) / (point - pow139 * oods_point); + let total_sum = total_sum + *constraint_coefficients[452] * value; + + let value = (column8 - *oods_values[453]) / (point - pow144 * oods_point); + let total_sum = total_sum + *constraint_coefficients[453] * value; + + let value = (column8 - *oods_values[454]) / (point - pow145 * oods_point); + let total_sum = total_sum + *constraint_coefficients[454] * value; + + let value = (column8 - *oods_values[455]) / (point - pow154 * oods_point); + let total_sum = total_sum + *constraint_coefficients[455] * value; + + let value = (column8 - *oods_values[456]) / (point - pow155 * oods_point); + let total_sum = total_sum + *constraint_coefficients[456] * value; + + let value = (column8 - *oods_values[457]) / (point - pow179 * oods_point); + let total_sum = total_sum + *constraint_coefficients[457] * value; + + let value = (column8 - *oods_values[458]) / (point - pow180 * oods_point); + let total_sum = total_sum + *constraint_coefficients[458] * value; + + let value = (column8 - *oods_values[459]) / (point - pow184 * oods_point); + let total_sum = total_sum + *constraint_coefficients[459] * value; + + let value = (column8 - *oods_values[460]) / (point - pow185 * oods_point); + let total_sum = total_sum + *constraint_coefficients[460] * value; + + let value = (column8 - *oods_values[461]) / (point - pow190 * oods_point); + let total_sum = total_sum + *constraint_coefficients[461] * value; + + let value = (column8 - *oods_values[462]) / (point - pow194 * oods_point); + let total_sum = total_sum + *constraint_coefficients[462] * value; + + let value = (column8 - *oods_values[463]) / (point - pow197 * oods_point); + let total_sum = total_sum + *constraint_coefficients[463] * value; + + let value = (column8 - *oods_values[464]) / (point - pow195 * oods_point); + let total_sum = total_sum + *constraint_coefficients[464] * value; + + let value = (column8 - *oods_values[465]) / (point - pow198 * oods_point); + let total_sum = total_sum + *constraint_coefficients[465] * value; + + let value = (column8 - *oods_values[466]) / (point - pow196 * oods_point); + let total_sum = total_sum + *constraint_coefficients[466] * value; + + let value = (column8 - *oods_values[467]) / (point - pow199 * oods_point); + let total_sum = total_sum + *constraint_coefficients[467] * value; + + let value = (column8 - *oods_values[468]) / (point - pow202 * oods_point); + let total_sum = total_sum + *constraint_coefficients[468] * value; + + let value = (column8 - *oods_values[469]) / (point - pow221 * oods_point); + let total_sum = total_sum + *constraint_coefficients[469] * value; + + let value = (column8 - *oods_values[470]) / (point - pow224 * oods_point); + let total_sum = total_sum + *constraint_coefficients[470] * value; + + let value = (column8 - *oods_values[471]) / (point - pow235 * oods_point); + let total_sum = total_sum + *constraint_coefficients[471] * value; + + let value = (column8 - *oods_values[472]) / (point - pow236 * oods_point); + let total_sum = total_sum + *constraint_coefficients[472] * value; + + let value = (column8 - *oods_values[473]) / (point - pow239 * oods_point); + let total_sum = total_sum + *constraint_coefficients[473] * value; + + let value = (column8 - *oods_values[474]) / (point - pow240 * oods_point); + let total_sum = total_sum + *constraint_coefficients[474] * value; + + let value = (column8 - *oods_values[475]) / (point - pow250 * oods_point); + let total_sum = total_sum + *constraint_coefficients[475] * value; + + let value = (column8 - *oods_values[476]) / (point - pow251 * oods_point); + let total_sum = total_sum + *constraint_coefficients[476] * value; + + let value = (column8 - *oods_values[477]) / (point - pow268 * oods_point); + let total_sum = total_sum + *constraint_coefficients[477] * value; + + let value = (column8 - *oods_values[478]) / (point - pow275 * oods_point); + let total_sum = total_sum + *constraint_coefficients[478] * value; + + let value = (column8 - *oods_values[479]) / (point - pow337 * oods_point); + let total_sum = total_sum + *constraint_coefficients[479] * value; + + let value = (column8 - *oods_values[480]) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients[480] * value; + + let value = (column8 - *oods_values[481]) / (point - pow293 * oods_point); + let total_sum = total_sum + *constraint_coefficients[481] * value; + + let value = (column8 - *oods_values[482]) / (point - pow306 * oods_point); + let total_sum = total_sum + *constraint_coefficients[482] * value; + + let value = (column8 - *oods_values[483]) / (point - pow307 * oods_point); + let total_sum = total_sum + *constraint_coefficients[483] * value; + + let value = (column8 - *oods_values[484]) / (point - pow336 * oods_point); + let total_sum = total_sum + *constraint_coefficients[484] * value; + + let value = (column8 - *oods_values[485]) / (point - pow348 * oods_point); + let total_sum = total_sum + *constraint_coefficients[485] * value; + + let value = (column8 - *oods_values[486]) / (point - pow349 * oods_point); + let total_sum = total_sum + *constraint_coefficients[486] * value; + + let value = (column8 - *oods_values[487]) / (point - pow381 * oods_point); + let total_sum = total_sum + *constraint_coefficients[487] * value; + + let value = (column8 - *oods_values[488]) / (point - pow399 * oods_point); + let total_sum = total_sum + *constraint_coefficients[488] * value; + + let value = (column8 - *oods_values[489]) / (point - pow425 * oods_point); + let total_sum = total_sum + *constraint_coefficients[489] * value; + + let value = (column8 - *oods_values[490]) / (point - pow430 * oods_point); + let total_sum = total_sum + *constraint_coefficients[490] * value; + + let value = (column8 - *oods_values[491]) / (point - pow377 * oods_point); + let total_sum = total_sum + *constraint_coefficients[491] * value; + + let value = (column8 - *oods_values[492]) / (point - pow401 * oods_point); + let total_sum = total_sum + *constraint_coefficients[492] * value; + + let value = (column8 - *oods_values[493]) / (point - pow400 * oods_point); + let total_sum = total_sum + *constraint_coefficients[493] * value; + + let value = (column8 - *oods_values[494]) / (point - pow409 * oods_point); + let total_sum = total_sum + *constraint_coefficients[494] * value; + + let value = (column8 - *oods_values[495]) / (point - pow414 * oods_point); + let total_sum = total_sum + *constraint_coefficients[495] * value; + + let value = (column8 - *oods_values[496]) / (point - pow413 * oods_point); + let total_sum = total_sum + *constraint_coefficients[496] * value; + + let value = (column8 - *oods_values[497]) / (point - pow394 * oods_point); + let total_sum = total_sum + *constraint_coefficients[497] * value; + + let value = (column8 - *oods_values[498]) / (point - pow412 * oods_point); + let total_sum = total_sum + *constraint_coefficients[498] * value; + + let value = (column8 - *oods_values[499]) / (point - pow410 * oods_point); + let total_sum = total_sum + *constraint_coefficients[499] * value; + + let value = (column8 - *oods_values[500]) / (point - pow469 * oods_point); + let total_sum = total_sum + *constraint_coefficients[500] * value; + + let value = (column8 - *oods_values[501]) / (point - pow489 * oods_point); + let total_sum = total_sum + *constraint_coefficients[501] * value; + + let value = (column8 - *oods_values[502]) / (point - pow623 * oods_point); + let total_sum = total_sum + *constraint_coefficients[502] * value; + + let value = (column8 - *oods_values[503]) / (point - pow622 * oods_point); + let total_sum = total_sum + *constraint_coefficients[503] * value; + + let value = (column8 - *oods_values[504]) / (point - pow470 * oods_point); + let total_sum = total_sum + *constraint_coefficients[504] * value; + + let value = (column8 - *oods_values[505]) / (point - pow490 * oods_point); + let total_sum = total_sum + *constraint_coefficients[505] * value; + + let value = (column8 - *oods_values[506]) / (point - pow485 * oods_point); + let total_sum = total_sum + *constraint_coefficients[506] * value; + + let value = (column8 - *oods_values[507]) / (point - pow497 * oods_point); + let total_sum = total_sum + *constraint_coefficients[507] * value; + + let value = (column8 - *oods_values[508]) / (point - pow496 * oods_point); + let total_sum = total_sum + *constraint_coefficients[508] * value; + + let value = (column8 - *oods_values[509]) / (point - pow495 * oods_point); + let total_sum = total_sum + *constraint_coefficients[509] * value; + + let value = (column8 - *oods_values[510]) / (point - pow492 * oods_point); + let total_sum = total_sum + *constraint_coefficients[510] * value; + + let value = (column8 - *oods_values[511]) / (point - pow539 * oods_point); + let total_sum = total_sum + *constraint_coefficients[511] * value; + + let value = (column9 - *oods_values[512]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[512] * value; + + let value = (column9 - *oods_values[513]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[513] * value; + + let value = (column9 - *oods_values[514]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[514] * value; + + let value = (column9 - *oods_values[515]) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients[515] * value; + + let value = (column10 - *oods_values[516]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[516] * value; + + let value = (column10 - *oods_values[517]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[517] * value; + + let value = (column10 - *oods_values[518]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[518] * value; + + let value = (column10 - *oods_values[519]) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients[519] * value; + + let value = (column10 - *oods_values[520]) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients[520] * value; + + let value = (column10 - *oods_values[521]) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients[521] * value; + + let value = (column10 - *oods_values[522]) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients[522] * value; + + let value = (column10 - *oods_values[523]) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients[523] * value; + + let value = (column10 - *oods_values[524]) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients[524] * value; + + let value = (column10 - *oods_values[525]) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients[525] * value; + + let value = (column10 - *oods_values[526]) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients[526] * value; + + let value = (column10 - *oods_values[527]) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients[527] * value; + + let value = (column10 - *oods_values[528]) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients[528] * value; + + let value = (column10 - *oods_values[529]) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients[529] * value; + + let value = (column10 - *oods_values[530]) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients[530] * value; + + let value = (column10 - *oods_values[531]) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients[531] * value; + + let value = (column10 - *oods_values[532]) / (point - pow89 * oods_point); + let total_sum = total_sum + *constraint_coefficients[532] * value; + + let value = (column10 - *oods_values[533]) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients[533] * value; + + let value = (column10 - *oods_values[534]) / (point - pow112 * oods_point); + let total_sum = total_sum + *constraint_coefficients[534] * value; + + let value = (column10 - *oods_values[535]) / (point - pow125 * oods_point); + let total_sum = total_sum + *constraint_coefficients[535] * value; + + let value = (column10 - *oods_values[536]) / (point - pow139 * oods_point); + let total_sum = total_sum + *constraint_coefficients[536] * value; + + let value = (column10 - *oods_values[537]) / (point - pow140 * oods_point); + let total_sum = total_sum + *constraint_coefficients[537] * value; + + let value = (column10 - *oods_values[538]) / (point - pow146 * oods_point); + let total_sum = total_sum + *constraint_coefficients[538] * value; + + let value = (column10 - *oods_values[539]) / (point - pow156 * oods_point); + let total_sum = total_sum + *constraint_coefficients[539] * value; + + let value = (column10 - *oods_values[540]) / (point - pow162 * oods_point); + let total_sum = total_sum + *constraint_coefficients[540] * value; + + let value = (column10 - *oods_values[541]) / (point - pow165 * oods_point); + let total_sum = total_sum + *constraint_coefficients[541] * value; + + let value = (column10 - *oods_values[542]) / (point - pow167 * oods_point); + let total_sum = total_sum + *constraint_coefficients[542] * value; + + let value = (column10 - *oods_values[543]) / (point - pow176 * oods_point); + let total_sum = total_sum + *constraint_coefficients[543] * value; + + let value = (column10 - *oods_values[544]) / (point - pow183 * oods_point); + let total_sum = total_sum + *constraint_coefficients[544] * value; + + let value = (column10 - *oods_values[545]) / (point - pow205 * oods_point); + let total_sum = total_sum + *constraint_coefficients[545] * value; + + let value = (column10 - *oods_values[546]) / (point - pow207 * oods_point); + let total_sum = total_sum + *constraint_coefficients[546] * value; + + let value = (column10 - *oods_values[547]) / (point - pow208 * oods_point); + let total_sum = total_sum + *constraint_coefficients[547] * value; + + let value = (column10 - *oods_values[548]) / (point - pow210 * oods_point); + let total_sum = total_sum + *constraint_coefficients[548] * value; + + let value = (column10 - *oods_values[549]) / (point - pow211 * oods_point); + let total_sum = total_sum + *constraint_coefficients[549] * value; + + let value = (column10 - *oods_values[550]) / (point - pow265 * oods_point); + let total_sum = total_sum + *constraint_coefficients[550] * value; + + let value = (column10 - *oods_values[551]) / (point - pow269 * oods_point); + let total_sum = total_sum + *constraint_coefficients[551] * value; + + let value = (column10 - *oods_values[552]) / (point - pow271 * oods_point); + let total_sum = total_sum + *constraint_coefficients[552] * value; + + let value = (column10 - *oods_values[553]) / (point - pow302 * oods_point); + let total_sum = total_sum + *constraint_coefficients[553] * value; + + let value = (column10 - *oods_values[554]) / (point - pow304 * oods_point); + let total_sum = total_sum + *constraint_coefficients[554] * value; + + let value = (column10 - *oods_values[555]) / (point - pow305 * oods_point); + let total_sum = total_sum + *constraint_coefficients[555] * value; + + let value = (column10 - *oods_values[556]) / (point - pow339 * oods_point); + let total_sum = total_sum + *constraint_coefficients[556] * value; + + let value = (column10 - *oods_values[557]) / (point - pow344 * oods_point); + let total_sum = total_sum + *constraint_coefficients[557] * value; + + let value = (column10 - *oods_values[558]) / (point - pow390 * oods_point); + let total_sum = total_sum + *constraint_coefficients[558] * value; + + let value = (column10 - *oods_values[559]) / (point - pow395 * oods_point); + let total_sum = total_sum + *constraint_coefficients[559] * value; + + let value = (column10 - *oods_values[560]) / (point - pow396 * oods_point); + let total_sum = total_sum + *constraint_coefficients[560] * value; + + let value = (column10 - *oods_values[561]) / (point - pow397 * oods_point); + let total_sum = total_sum + *constraint_coefficients[561] * value; + + let value = (column10 - *oods_values[562]) / (point - pow402 * oods_point); + let total_sum = total_sum + *constraint_coefficients[562] * value; + + let value = (column10 - *oods_values[563]) / (point - pow416 * oods_point); + let total_sum = total_sum + *constraint_coefficients[563] * value; + + let value = (column10 - *oods_values[564]) / (point - pow421 * oods_point); + let total_sum = total_sum + *constraint_coefficients[564] * value; + + let value = (column10 - *oods_values[565]) / (point - pow422 * oods_point); + let total_sum = total_sum + *constraint_coefficients[565] * value; + + let value = (column10 - *oods_values[566]) / (point - pow423 * oods_point); + let total_sum = total_sum + *constraint_coefficients[566] * value; + + let value = (column10 - *oods_values[567]) / (point - pow415 * oods_point); + let total_sum = total_sum + *constraint_coefficients[567] * value; + + let value = (column10 - *oods_values[568]) / (point - pow404 * oods_point); + let total_sum = total_sum + *constraint_coefficients[568] * value; + + let value = (column10 - *oods_values[569]) / (point - pow426 * oods_point); + let total_sum = total_sum + *constraint_coefficients[569] * value; + + let value = (column10 - *oods_values[570]) / (point - pow445 * oods_point); + let total_sum = total_sum + *constraint_coefficients[570] * value; + + let value = (column10 - *oods_values[571]) / (point - pow491 * oods_point); + let total_sum = total_sum + *constraint_coefficients[571] * value; + + let value = (column10 - *oods_values[572]) / (point - pow493 * oods_point); + let total_sum = total_sum + *constraint_coefficients[572] * value; + + let value = (column10 - *oods_values[573]) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients[573] * value; + + let value = (column10 - *oods_values[574]) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients[574] * value; + + let value = (column10 - *oods_values[575]) / (point - pow525 * oods_point); + let total_sum = total_sum + *constraint_coefficients[575] * value; + + let value = (column10 - *oods_values[576]) / (point - pow527 * oods_point); + let total_sum = total_sum + *constraint_coefficients[576] * value; + + let value = (column10 - *oods_values[577]) / (point - pow535 * oods_point); + let total_sum = total_sum + *constraint_coefficients[577] * value; + + let value = (column10 - *oods_values[578]) / (point - pow537 * oods_point); + let total_sum = total_sum + *constraint_coefficients[578] * value; + + let value = (column10 - *oods_values[579]) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients[579] * value; + + let value = (column10 - *oods_values[580]) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients[580] * value; + + let value = (column10 - *oods_values[581]) / (point - pow301 * oods_point); + let total_sum = total_sum + *constraint_coefficients[581] * value; + + let value = (column10 - *oods_values[582]) / (point - pow510 * oods_point); + let total_sum = total_sum + *constraint_coefficients[582] * value; + + let value = (column10 - *oods_values[583]) / (point - pow509 * oods_point); + let total_sum = total_sum + *constraint_coefficients[583] * value; + + let value = (column10 - *oods_values[584]) / (point - pow253 * oods_point); + let total_sum = total_sum + *constraint_coefficients[584] * value; + + let value = (column10 - *oods_values[585]) / (point - pow255 * oods_point); + let total_sum = total_sum + *constraint_coefficients[585] * value; + + let value = (column10 - *oods_values[586]) / (point - pow267 * oods_point); + let total_sum = total_sum + *constraint_coefficients[586] * value; + + let value = (column10 - *oods_values[587]) / (point - pow291 * oods_point); + let total_sum = total_sum + *constraint_coefficients[587] * value; + + let value = (column10 - *oods_values[588]) / (point - pow292 * oods_point); + let total_sum = total_sum + *constraint_coefficients[588] * value; + + let value = (column10 - *oods_values[589]) / (point - pow624 * oods_point); + let total_sum = total_sum + *constraint_coefficients[589] * value; + + let value = (column10 - *oods_values[590]) / (point - pow625 * oods_point); + let total_sum = total_sum + *constraint_coefficients[590] * value; + + let value = (column10 - *oods_values[591]) / (point - pow626 * oods_point); + let total_sum = total_sum + *constraint_coefficients[591] * value; + + let value = (column10 - *oods_values[592]) / (point - pow522 * oods_point); + let total_sum = total_sum + *constraint_coefficients[592] * value; + + let value = (column10 - *oods_values[593]) / (point - pow552 * oods_point); + let total_sum = total_sum + *constraint_coefficients[593] * value; + + let value = (column10 - *oods_values[594]) / (point - pow554 * oods_point); + let total_sum = total_sum + *constraint_coefficients[594] * value; + + let value = (column10 - *oods_values[595]) / (point - pow567 * oods_point); + let total_sum = total_sum + *constraint_coefficients[595] * value; + + let value = (column10 - *oods_values[596]) / (point - pow627 * oods_point); + let total_sum = total_sum + *constraint_coefficients[596] * value; + + let value = (column10 - *oods_values[597]) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients[597] * value; + + let value = (column10 - *oods_values[598]) / (point - pow340 * oods_point); + let total_sum = total_sum + *constraint_coefficients[598] * value; + + let value = (column10 - *oods_values[599]) / (point - pow341 * oods_point); + let total_sum = total_sum + *constraint_coefficients[599] * value; + + let value = (column10 - *oods_values[600]) / (point - pow564 * oods_point); + let total_sum = total_sum + *constraint_coefficients[600] * value; + + let value = (column10 - *oods_values[601]) / (point - pow575 * oods_point); + let total_sum = total_sum + *constraint_coefficients[601] * value; + + let value = (column10 - *oods_values[602]) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients[602] * value; + + let value = (column10 - *oods_values[603]) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients[603] * value; + + let value = (column10 - *oods_values[604]) / (point - pow80 * oods_point); + let total_sum = total_sum + *constraint_coefficients[604] * value; + + let value = (column10 - *oods_values[605]) / (point - pow577 * oods_point); + let total_sum = total_sum + *constraint_coefficients[605] * value; + + let value = (column10 - *oods_values[606]) / (point - pow560 * oods_point); + let total_sum = total_sum + *constraint_coefficients[606] * value; + + let value = (column10 - *oods_values[607]) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients[607] * value; + + let value = (column10 - *oods_values[608]) / (point - pow604 * oods_point); + let total_sum = total_sum + *constraint_coefficients[608] * value; + + let value = (column10 - *oods_values[609]) / (point - pow586 * oods_point); + let total_sum = total_sum + *constraint_coefficients[609] * value; + + let value = (column10 - *oods_values[610]) / (point - pow587 * oods_point); + let total_sum = total_sum + *constraint_coefficients[610] * value; + + let value = (column10 - *oods_values[611]) / (point - pow582 * oods_point); + let total_sum = total_sum + *constraint_coefficients[611] * value; + + let value = (column10 - *oods_values[612]) / (point - pow589 * oods_point); + let total_sum = total_sum + *constraint_coefficients[612] * value; + + let value = (column10 - *oods_values[613]) / (point - pow538 * oods_point); + let total_sum = total_sum + *constraint_coefficients[613] * value; + + let value = (column10 - *oods_values[614]) / (point - pow590 * oods_point); + let total_sum = total_sum + *constraint_coefficients[614] * value; + + let value = (column10 - *oods_values[615]) / (point - pow591 * oods_point); + let total_sum = total_sum + *constraint_coefficients[615] * value; + + let value = (column10 - *oods_values[616]) / (point - pow599 * oods_point); + let total_sum = total_sum + *constraint_coefficients[616] * value; + + let value = (column10 - *oods_values[617]) / (point - pow605 * oods_point); + let total_sum = total_sum + *constraint_coefficients[617] * value; + + let value = (column10 - *oods_values[618]) / (point - pow606 * oods_point); + let total_sum = total_sum + *constraint_coefficients[618] * value; + + let value = (column10 - *oods_values[619]) / (point - pow607 * oods_point); + let total_sum = total_sum + *constraint_coefficients[619] * value; + + let value = (column10 - *oods_values[620]) / (point - pow628 * oods_point); + let total_sum = total_sum + *constraint_coefficients[620] * value; + + let value = (column11 - *oods_values[621]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[621] * value; + + let value = (column11 - *oods_values[622]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[622] * value; + + let value = (column11 - *oods_values[623]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[623] * value; + + let value = (column11 - *oods_values[624]) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients[624] * value; + + let value = (column11 - *oods_values[625]) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients[625] * value; + + let value = (column11 - *oods_values[626]) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients[626] * value; + + let value = (column11 - *oods_values[627]) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients[627] * value; + + let value = (column11 - *oods_values[628]) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients[628] * value; + + let value = (column11 - *oods_values[629]) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients[629] * value; + + let value = (column11 - *oods_values[630]) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients[630] * value; + + let value = (column11 - *oods_values[631]) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients[631] * value; + + let value = (column11 - *oods_values[632]) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients[632] * value; + + let value = (column11 - *oods_values[633]) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients[633] * value; + + let value = (column11 - *oods_values[634]) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients[634] * value; + + let value = (column11 - *oods_values[635]) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients[635] * value; + + let value = (column11 - *oods_values[636]) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients[636] * value; + + let value = (column11 - *oods_values[637]) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients[637] * value; + + let value = (column11 - *oods_values[638]) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients[638] * value; + + let value = (column11 - *oods_values[639]) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients[639] * value; + + let value = (column11 - *oods_values[640]) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients[640] * value; + + let value = (column11 - *oods_values[641]) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients[641] * value; + + let value = (column11 - *oods_values[642]) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients[642] * value; + + let value = (column11 - *oods_values[643]) / (point - pow77 * oods_point); + let total_sum = total_sum + *constraint_coefficients[643] * value; + + let value = (column11 - *oods_values[644]) / (point - pow78 * oods_point); + let total_sum = total_sum + *constraint_coefficients[644] * value; + + let value = (column11 - *oods_values[645]) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients[645] * value; + + let value = (column11 - *oods_values[646]) / (point - pow82 * oods_point); + let total_sum = total_sum + *constraint_coefficients[646] * value; + + let value = (column11 - *oods_values[647]) / (point - pow83 * oods_point); + let total_sum = total_sum + *constraint_coefficients[647] * value; + + let value = (column11 - *oods_values[648]) / (point - pow84 * oods_point); + let total_sum = total_sum + *constraint_coefficients[648] * value; + + let value = (column11 - *oods_values[649]) / (point - pow85 * oods_point); + let total_sum = total_sum + *constraint_coefficients[649] * value; + + let value = (column11 - *oods_values[650]) / (point - pow87 * oods_point); + let total_sum = total_sum + *constraint_coefficients[650] * value; + + let value = (column11 - *oods_values[651]) / (point - pow88 * oods_point); + let total_sum = total_sum + *constraint_coefficients[651] * value; + + let value = (column11 - *oods_values[652]) / (point - pow90 * oods_point); + let total_sum = total_sum + *constraint_coefficients[652] * value; + + let value = (column11 - *oods_values[653]) / (point - pow91 * oods_point); + let total_sum = total_sum + *constraint_coefficients[653] * value; + + let value = (column11 - *oods_values[654]) / (point - pow93 * oods_point); + let total_sum = total_sum + *constraint_coefficients[654] * value; + + let value = (column11 - *oods_values[655]) / (point - pow94 * oods_point); + let total_sum = total_sum + *constraint_coefficients[655] * value; + + let value = (column11 - *oods_values[656]) / (point - pow95 * oods_point); + let total_sum = total_sum + *constraint_coefficients[656] * value; + + let value = (column11 - *oods_values[657]) / (point - pow96 * oods_point); + let total_sum = total_sum + *constraint_coefficients[657] * value; + + let value = (column11 - *oods_values[658]) / (point - pow97 * oods_point); + let total_sum = total_sum + *constraint_coefficients[658] * value; + + let value = (column11 - *oods_values[659]) / (point - pow98 * oods_point); + let total_sum = total_sum + *constraint_coefficients[659] * value; + + let value = (column11 - *oods_values[660]) / (point - pow99 * oods_point); + let total_sum = total_sum + *constraint_coefficients[660] * value; + + let value = (column11 - *oods_values[661]) / (point - pow107 * oods_point); + let total_sum = total_sum + *constraint_coefficients[661] * value; + + let value = (column11 - *oods_values[662]) / (point - pow108 * oods_point); + let total_sum = total_sum + *constraint_coefficients[662] * value; + + let value = (column11 - *oods_values[663]) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients[663] * value; + + let value = (column11 - *oods_values[664]) / (point - pow111 * oods_point); + let total_sum = total_sum + *constraint_coefficients[664] * value; + + let value = (column11 - *oods_values[665]) / (point - pow113 * oods_point); + let total_sum = total_sum + *constraint_coefficients[665] * value; + + let value = (column11 - *oods_values[666]) / (point - pow115 * oods_point); + let total_sum = total_sum + *constraint_coefficients[666] * value; + + let value = (column11 - *oods_values[667]) / (point - pow116 * oods_point); + let total_sum = total_sum + *constraint_coefficients[667] * value; + + let value = (column11 - *oods_values[668]) / (point - pow117 * oods_point); + let total_sum = total_sum + *constraint_coefficients[668] * value; + + let value = (column11 - *oods_values[669]) / (point - pow118 * oods_point); + let total_sum = total_sum + *constraint_coefficients[669] * value; + + let value = (column11 - *oods_values[670]) / (point - pow120 * oods_point); + let total_sum = total_sum + *constraint_coefficients[670] * value; + + let value = (column11 - *oods_values[671]) / (point - pow121 * oods_point); + let total_sum = total_sum + *constraint_coefficients[671] * value; + + let value = (column11 - *oods_values[672]) / (point - pow124 * oods_point); + let total_sum = total_sum + *constraint_coefficients[672] * value; + + let value = (column11 - *oods_values[673]) / (point - pow126 * oods_point); + let total_sum = total_sum + *constraint_coefficients[673] * value; + + let value = (column11 - *oods_values[674]) / (point - pow128 * oods_point); + let total_sum = total_sum + *constraint_coefficients[674] * value; + + let value = (column11 - *oods_values[675]) / (point - pow129 * oods_point); + let total_sum = total_sum + *constraint_coefficients[675] * value; + + let value = (column11 - *oods_values[676]) / (point - pow130 * oods_point); + let total_sum = total_sum + *constraint_coefficients[676] * value; + + let value = (column11 - *oods_values[677]) / (point - pow142 * oods_point); + let total_sum = total_sum + *constraint_coefficients[677] * value; + + let value = (column11 - *oods_values[678]) / (point - pow148 * oods_point); + let total_sum = total_sum + *constraint_coefficients[678] * value; + + let value = (column11 - *oods_values[679]) / (point - pow151 * oods_point); + let total_sum = total_sum + *constraint_coefficients[679] * value; + + let value = (column11 - *oods_values[680]) / (point - pow157 * oods_point); + let total_sum = total_sum + *constraint_coefficients[680] * value; + + let value = (column11 - *oods_values[681]) / (point - pow159 * oods_point); + let total_sum = total_sum + *constraint_coefficients[681] * value; + + let value = (column11 - *oods_values[682]) / (point - pow160 * oods_point); + let total_sum = total_sum + *constraint_coefficients[682] * value; + + let value = (column11 - *oods_values[683]) / (point - pow163 * oods_point); + let total_sum = total_sum + *constraint_coefficients[683] * value; + + let value = (column11 - *oods_values[684]) / (point - pow166 * oods_point); + let total_sum = total_sum + *constraint_coefficients[684] * value; + + let value = (column11 - *oods_values[685]) / (point - pow169 * oods_point); + let total_sum = total_sum + *constraint_coefficients[685] * value; + + let value = (column11 - *oods_values[686]) / (point - pow182 * oods_point); + let total_sum = total_sum + *constraint_coefficients[686] * value; + + let value = (column11 - *oods_values[687]) / (point - pow186 * oods_point); + let total_sum = total_sum + *constraint_coefficients[687] * value; + + let value = (column11 - *oods_values[688]) / (point - pow187 * oods_point); + let total_sum = total_sum + *constraint_coefficients[688] * value; + + let value = (column11 - *oods_values[689]) / (point - pow188 * oods_point); + let total_sum = total_sum + *constraint_coefficients[689] * value; + + let value = (column11 - *oods_values[690]) / (point - pow189 * oods_point); + let total_sum = total_sum + *constraint_coefficients[690] * value; + + let value = (column11 - *oods_values[691]) / (point - pow190 * oods_point); + let total_sum = total_sum + *constraint_coefficients[691] * value; + + let value = (column11 - *oods_values[692]) / (point - pow191 * oods_point); + let total_sum = total_sum + *constraint_coefficients[692] * value; + + let value = (column11 - *oods_values[693]) / (point - pow192 * oods_point); + let total_sum = total_sum + *constraint_coefficients[693] * value; + + let value = (column11 - *oods_values[694]) / (point - pow193 * oods_point); + let total_sum = total_sum + *constraint_coefficients[694] * value; + + let value = (column11 - *oods_values[695]) / (point - pow201 * oods_point); + let total_sum = total_sum + *constraint_coefficients[695] * value; + + let value = (column11 - *oods_values[696]) / (point - pow203 * oods_point); + let total_sum = total_sum + *constraint_coefficients[696] * value; + + let value = (column11 - *oods_values[697]) / (point - pow204 * oods_point); + let total_sum = total_sum + *constraint_coefficients[697] * value; + + let value = (column11 - *oods_values[698]) / (point - pow206 * oods_point); + let total_sum = total_sum + *constraint_coefficients[698] * value; + + let value = (column11 - *oods_values[699]) / (point - pow209 * oods_point); + let total_sum = total_sum + *constraint_coefficients[699] * value; + + let value = (column11 - *oods_values[700]) / (point - pow212 * oods_point); + let total_sum = total_sum + *constraint_coefficients[700] * value; + + let value = (column11 - *oods_values[701]) / (point - pow405 * oods_point); + let total_sum = total_sum + *constraint_coefficients[701] * value; + + let value = (column11 - *oods_values[702]) / (point - pow406 * oods_point); + let total_sum = total_sum + *constraint_coefficients[702] * value; + + let value = (column11 - *oods_values[703]) / (point - pow407 * oods_point); + let total_sum = total_sum + *constraint_coefficients[703] * value; + + let value = (column11 - *oods_values[704]) / (point - pow408 * oods_point); + let total_sum = total_sum + *constraint_coefficients[704] * value; + + let value = (column11 - *oods_values[705]) / (point - pow411 * oods_point); + let total_sum = total_sum + *constraint_coefficients[705] * value; + + let value = (column11 - *oods_values[706]) / (point - pow431 * oods_point); + let total_sum = total_sum + *constraint_coefficients[706] * value; + + let value = (column11 - *oods_values[707]) / (point - pow455 * oods_point); + let total_sum = total_sum + *constraint_coefficients[707] * value; + + let value = (column11 - *oods_values[708]) / (point - pow456 * oods_point); + let total_sum = total_sum + *constraint_coefficients[708] * value; + + let value = (column11 - *oods_values[709]) / (point - pow458 * oods_point); + let total_sum = total_sum + *constraint_coefficients[709] * value; + + let value = (column11 - *oods_values[710]) / (point - pow459 * oods_point); + let total_sum = total_sum + *constraint_coefficients[710] * value; + + let value = (column11 - *oods_values[711]) / (point - pow461 * oods_point); + let total_sum = total_sum + *constraint_coefficients[711] * value; + + let value = (column11 - *oods_values[712]) / (point - pow462 * oods_point); + let total_sum = total_sum + *constraint_coefficients[712] * value; + + let value = (column11 - *oods_values[713]) / (point - pow463 * oods_point); + let total_sum = total_sum + *constraint_coefficients[713] * value; + + let value = (column11 - *oods_values[714]) / (point - pow466 * oods_point); + let total_sum = total_sum + *constraint_coefficients[714] * value; + + let value = (column11 - *oods_values[715]) / (point - pow467 * oods_point); + let total_sum = total_sum + *constraint_coefficients[715] * value; + + let value = (column11 - *oods_values[716]) / (point - pow479 * oods_point); + let total_sum = total_sum + *constraint_coefficients[716] * value; + + let value = (column11 - *oods_values[717]) / (point - pow488 * oods_point); + let total_sum = total_sum + *constraint_coefficients[717] * value; + + let value = (column11 - *oods_values[718]) / (point - pow494 * oods_point); + let total_sum = total_sum + *constraint_coefficients[718] * value; + + let value = (column11 - *oods_values[719]) / (point - pow465 * oods_point); + let total_sum = total_sum + *constraint_coefficients[719] * value; + + let value = (column11 - *oods_values[720]) / (point - pow498 * oods_point); + let total_sum = total_sum + *constraint_coefficients[720] * value; + + let value = (column11 - *oods_values[721]) / (point - pow499 * oods_point); + let total_sum = total_sum + *constraint_coefficients[721] * value; + + let value = (column11 - *oods_values[722]) / (point - pow500 * oods_point); + let total_sum = total_sum + *constraint_coefficients[722] * value; + + let value = (column11 - *oods_values[723]) / (point - pow501 * oods_point); + let total_sum = total_sum + *constraint_coefficients[723] * value; + + let value = (column11 - *oods_values[724]) / (point - pow502 * oods_point); + let total_sum = total_sum + *constraint_coefficients[724] * value; + + let value = (column11 - *oods_values[725]) / (point - pow503 * oods_point); + let total_sum = total_sum + *constraint_coefficients[725] * value; + + let value = (column12 - *oods_values[726]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[726] * value; + + let value = (column12 - *oods_values[727]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[727] * value; + + let value = (column13 - *oods_values[728]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[728] * value; + + let value = (column13 - *oods_values[729]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[729] * value; + + let value = (column14 - *oods_values[730]) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients[730] * value; + + let value = (column14 - *oods_values[731]) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients[731] * value; + + let value = (column14 - *oods_values[732]) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients[732] * value; + + let value = (column14 - *oods_values[733]) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients[733] * value; + + // Sum the OODS boundary constraints on the composition polynomials. + let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); + + let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[734]) + / (point - oods_point_to_deg); + let total_sum = total_sum + *constraint_coefficients[734] * value; + + let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[735]) + / (point - oods_point_to_deg); + let total_sum = total_sum + *constraint_coefficients[735] * value; + + assert(736 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); + total_sum +} diff --git a/src/air/layouts/starknet_with_keccak/constants.cairo b/src/air/layouts/starknet_with_keccak/constants.cairo new file mode 100644 index 000000000..bd8702548 --- /dev/null +++ b/src/air/layouts/starknet_with_keccak/constants.cairo @@ -0,0 +1,68 @@ +// Starknet with keccak layout +const BITWISE_RATIO: felt252 = 64; +const BITWISE_ROW_RATIO: felt252 = 1024; +const BITWISE_TOTAL_N_BITS: felt252 = 251; +const CONSTRAINT_DEGREE: u32 = 2; +const CPU_COMPONENT_HEIGHT: felt252 = 16; +const CPU_COMPONENT_STEP: felt252 = 1; +const DILUTED_N_BITS: felt252 = 16; +const DILUTED_SPACING: felt252 = 4; +const EC_OP_BUILTIN_RATIO: felt252 = 1024; +const EC_OP_BUILTIN_ROW_RATIO: felt252 = 16384; +const EC_OP_N_BITS: felt252 = 252; +const EC_OP_SCALAR_HEIGHT: felt252 = 256; +const ECDSA_BUILTIN_RATIO: felt252 = 2048; +const ECDSA_BUILTIN_REPETITIONS: felt252 = 1; +const ECDSA_BUILTIN_ROW_RATIO: felt252 = 32768; +const ECDSA_ELEMENT_BITS: felt252 = 251; +const ECDSA_ELEMENT_HEIGHT: felt252 = 256; +const HAS_BITWISE_BUILTIN: felt252 = 1; +const HAS_DILUTED_POOL: felt252 = 1; +const HAS_EC_OP_BUILTIN: felt252 = 1; +const HAS_ECDSA_BUILTIN: felt252 = 1; +const HAS_KECCAK_BUILTIN: felt252 = 1; +const HAS_OUTPUT_BUILTIN: felt252 = 1; +const HAS_PEDERSEN_BUILTIN: felt252 = 1; +const HAS_POSEIDON_BUILTIN: felt252 = 1; +const HAS_RANGE_CHECK_BUILTIN: felt252 = 1; +const HAS_RANGE_CHECK96_BUILTIN: felt252 = 0; +const IS_DYNAMIC_AIR: felt252 = 0; +const KECCAK_RATIO: felt252 = 2048; +const KECCAK_ROW_RATIO: felt252 = 32768; +const LAYOUT_CODE: felt252 = 0x737461726b6e65745f776974685f6b656363616b; +const LOG_CPU_COMPONENT_HEIGHT: felt252 = 4; +const MASK_SIZE: u32 = 734; +const N_CONSTRAINTS: u32 = 347; +const N_DYNAMIC_PARAMS: felt252 = 0; +const NUM_COLUMNS_FIRST: u32 = 12; +const NUM_COLUMNS_SECOND: u32 = 3; +const PEDERSEN_BUILTIN_RATIO: felt252 = 32; +const PEDERSEN_BUILTIN_REPETITIONS: felt252 = 1; +const PEDERSEN_BUILTIN_ROW_RATIO: felt252 = 512; +const POSEIDON_M: felt252 = 3; +const POSEIDON_RATIO: felt252 = 32; +const POSEIDON_ROUNDS_FULL: felt252 = 8; +const POSEIDON_ROUNDS_PARTIAL: felt252 = 83; +const POSEIDON_ROW_RATIO: felt252 = 512; +const PUBLIC_MEMORY_STEP: felt252 = 8; +const RANGE_CHECK_BUILTIN_RATIO: felt252 = 16; +const RANGE_CHECK_BUILTIN_ROW_RATIO: felt252 = 256; +const RANGE_CHECK_N_PARTS: felt252 = 8; + +mod segments { + const BITWISE: usize = 6; + const EC_OP: usize = 7; + const ECDSA: usize = 5; + const EXECUTION: usize = 1; + const KECCAK: usize = 8; + const N_SEGMENTS: usize = 10; + const OUTPUT: usize = 2; + const PEDERSEN: usize = 3; + const POSEIDON: usize = 9; + const PROGRAM: usize = 0; + const RANGE_CHECK: usize = 4; +} + +fn get_builtins() -> Array { + array!['output', 'pedersen', 'range_check', 'ecdsa', 'bitwise', 'ec_op', 'keccak', 'poseidon'] +} diff --git a/src/air/layouts/starknet_with_keccak/global_values.cairo b/src/air/layouts/starknet_with_keccak/global_values.cairo new file mode 100644 index 000000000..a6821891f --- /dev/null +++ b/src/air/layouts/starknet_with_keccak/global_values.cairo @@ -0,0 +1,86 @@ +#[derive(Drop, Copy, Serde)] +struct EcPoint { + x: felt252, + y: felt252, +} + +#[derive(Drop, Copy, Serde)] +struct CurveConfig { + alpha: felt252, + beta: felt252, +} + +#[derive(Drop, Copy, Serde)] +struct EcdsaSigConfig { + alpha: felt252, + beta: felt252, + shift_point: EcPoint, +} + +// Accumulation of member expressions for auto generated composition polynomial code. +#[derive(Drop, Copy, Serde)] +struct GlobalValues { + // Public input. + trace_length: felt252, + initial_pc: felt252, + final_pc: felt252, + initial_ap: felt252, + final_ap: felt252, + initial_pedersen_addr: felt252, + initial_range_check_addr: felt252, + initial_ecdsa_addr: felt252, + initial_bitwise_addr: felt252, + initial_ec_op_addr: felt252, + initial_keccak_addr: felt252, + initial_poseidon_addr: felt252, + range_check_min: felt252, + range_check_max: felt252, + // Constants. + offset_size: felt252, + half_offset_size: felt252, + pedersen_shift_point: EcPoint, + ecdsa_sig_config: EcdsaSigConfig, + ec_op_curve_config: CurveConfig, + // Periodic columns. + pedersen_points_x: felt252, + pedersen_points_y: felt252, + ecdsa_generator_points_x: felt252, + ecdsa_generator_points_y: felt252, + keccak_keccak_keccak_round_key0: felt252, + keccak_keccak_keccak_round_key1: felt252, + keccak_keccak_keccak_round_key3: felt252, + keccak_keccak_keccak_round_key7: felt252, + keccak_keccak_keccak_round_key15: felt252, + keccak_keccak_keccak_round_key31: felt252, + keccak_keccak_keccak_round_key63: felt252, + poseidon_poseidon_full_round_key0: felt252, + poseidon_poseidon_full_round_key1: felt252, + poseidon_poseidon_full_round_key2: felt252, + poseidon_poseidon_partial_round_key0: felt252, + poseidon_poseidon_partial_round_key1: felt252, + // Interaction elements. + memory_multi_column_perm_perm_interaction_elm: felt252, + memory_multi_column_perm_hash_interaction_elm0: felt252, + range_check16_perm_interaction_elm: felt252, + diluted_check_permutation_interaction_elm: felt252, + diluted_check_interaction_z: felt252, + diluted_check_interaction_alpha: felt252, + // Permutation products. + memory_multi_column_perm_perm_public_memory_prod: felt252, + range_check16_perm_public_memory_prod: felt252, + diluted_check_first_elm: felt252, + diluted_check_permutation_public_memory_prod: felt252, + diluted_check_final_cum_val: felt252, +} + +// Elements that are sent from the prover after the commitment on the original trace. +// Used for components after the first interaction, e.g., memory and range check. +#[derive(Drop, Copy, PartialEq, Serde)] +struct InteractionElements { + memory_multi_column_perm_perm_interaction_elm: felt252, + memory_multi_column_perm_hash_interaction_elm0: felt252, + range_check16_perm_interaction_elm: felt252, + diluted_check_permutation_interaction_elm: felt252, + diluted_check_interaction_z: felt252, + diluted_check_interaction_alpha: felt252 +} diff --git a/src/air/layouts/starknet_with_keccak/public_input.cairo b/src/air/layouts/starknet_with_keccak/public_input.cairo new file mode 100644 index 000000000..bfcc61108 --- /dev/null +++ b/src/air/layouts/starknet_with_keccak/public_input.cairo @@ -0,0 +1,178 @@ +use cairo_verifier::{ + common::{ + math::{pow, Felt252PartialOrd, Felt252Div}, + asserts::{assert_range_u128_le, assert_range_u128}, + }, + air::{ + public_memory::{Page, PageTrait}, + constants::{MAX_ADDRESS, INITIAL_PC, MAX_LOG_N_STEPS, MAX_RANGE_CHECK}, + layouts::starknet_with_keccak::constants::{ + segments, get_builtins, CPU_COMPONENT_HEIGHT, CPU_COMPONENT_STEP, LAYOUT_CODE, + PEDERSEN_BUILTIN_ROW_RATIO, RANGE_CHECK_BUILTIN_ROW_RATIO, BITWISE_ROW_RATIO, + ECDSA_BUILTIN_ROW_RATIO, EC_OP_BUILTIN_ROW_RATIO, POSEIDON_ROW_RATIO, KECCAK_ROW_RATIO + }, + public_input::{PublicInput, PublicInputTrait} + }, + domains::StarkDomains +}; + +use core::{pedersen::PedersenTrait, hash::{HashStateTrait, HashStateExTrait, Hash}}; +use poseidon::poseidon_hash_span; + +impl StarknetWithKeccakPublicInputImpl of PublicInputTrait { + fn verify(self: @PublicInput) -> (felt252, felt252) { + let public_segments = self.segments; + + let initial_pc = *public_segments.at(segments::PROGRAM).begin_addr; + let final_pc = *public_segments.at(segments::PROGRAM).stop_ptr; + let initial_ap = *public_segments.at(segments::EXECUTION).begin_addr; + let initial_fp = initial_ap; + let final_ap = *public_segments.at(segments::EXECUTION).stop_ptr; + let output_start = *public_segments.at(segments::OUTPUT).begin_addr; + let output_stop = *public_segments.at(segments::OUTPUT).stop_ptr; + + assert(initial_ap < MAX_ADDRESS, 'Invalid initial_ap'); + assert(final_ap < MAX_ADDRESS, 'Invalid final_ap'); + + // TODO support more pages? + assert(self.continuous_page_headers.len() == 0, 'Invalid continuous_page_headers'); + + let builtins = get_builtins(); + let memory = self.main_page; + + // 1. Program segment + assert(initial_pc == INITIAL_PC, 'Invalid initial_pc'); + assert(final_pc == INITIAL_PC + 4, 'Invalid final_pc'); + + let mut memory_index: usize = 0; + + let program_end_pc = initial_fp - 2; + let program_len = program_end_pc - initial_pc; + let program = memory + .extract_range( + initial_pc.try_into().unwrap(), program_len.try_into().unwrap(), ref memory_index + ); + + assert( + *program[0] == 0x40780017fff7fff, 'Invalid program' + ); // Instruction: ap += N_BUILTINS. + assert(*program[1] == builtins.len().into(), 'Invalid program'); + assert(*program[2] == 0x1104800180018000, 'Invalid program'); // Instruction: call rel ?. + assert(*program[4] == 0x10780017fff7fff, 'Invalid program'); // Instruction: jmp rel 0. + assert(*program[5] == 0x0, 'Invalid program'); + + let program_hash = poseidon_hash_span(program); + + // 2. Execution segment + // 2.1 Initial_fp, initial_pc + let fp2 = *memory.at(memory_index); + assert(fp2.address == initial_fp - 2, 'Invalid fp2 addr'); + assert(fp2.value == initial_fp, 'Invalid fp2 val'); + + let fp1 = *memory.at(memory_index + 1); + assert(fp1.address == initial_fp - 1, 'Invalid fp1 addr'); + assert(fp1.value == 0, 'Invalid fp1 val'); + memory_index += 2; + + // 2.2 Main arguments and return values + let mut begin_addresses = ArrayTrait::new(); + let mut stop_addresses = ArrayTrait::new(); + let mut i = 0; + let builtins_len = builtins.len(); + loop { + if i == builtins_len { + break; + } + + begin_addresses.append(*public_segments.at(2 + i).begin_addr); + stop_addresses.append(*public_segments.at(2 + i).stop_ptr); + + i += 1; + }; + memory.verify_stack(initial_ap, begin_addresses.span(), builtins_len, ref memory_index); + memory + .verify_stack( + final_ap - builtins_len.into(), + stop_addresses.span(), + builtins_len, + ref memory_index + ); + + // 3. Output segment + let output_len = output_stop - output_start; + let output = memory + .extract_range( + output_start.try_into().unwrap(), output_len.try_into().unwrap(), ref memory_index + ); + let output_hash = poseidon_hash_span(output); + + // Check main page len + assert( + *memory.at(memory_index - 1) == *self.main_page.at(self.main_page.len() - 1), + 'Invalid main page len' + ); + + (program_hash, output_hash) + } + + fn validate(self: @PublicInput, stark_domains: @StarkDomains) { + assert_range_u128_le(*self.log_n_steps, MAX_LOG_N_STEPS); + let n_steps = pow(2, *self.log_n_steps); + let trace_length = *stark_domains.trace_domain_size; + assert( + n_steps * CPU_COMPONENT_HEIGHT * CPU_COMPONENT_STEP == trace_length, 'Wrong trace size' + ); + + assert(0 <= *self.range_check_min, 'wrong rc_min'); + assert(*self.range_check_min < *self.range_check_max, 'wrong rc range'); + assert(*self.range_check_max <= MAX_RANGE_CHECK, 'wrong rc_max'); + + assert(*self.layout == LAYOUT_CODE, 'wrong layout code'); + + let output_uses = (*self.segments.at(segments::OUTPUT).stop_ptr + - *self.segments.at(segments::OUTPUT).begin_addr); + assert_range_u128(output_uses); + + let pedersen_copies = trace_length / PEDERSEN_BUILTIN_ROW_RATIO; + let pedersen_uses = (*self.segments.at(segments::PEDERSEN).stop_ptr + - *self.segments.at(segments::PEDERSEN).begin_addr) + / 3; + assert_range_u128_le(pedersen_uses, pedersen_copies); + + let range_check_copies = trace_length / RANGE_CHECK_BUILTIN_ROW_RATIO; + let range_check_uses = *self.segments.at(segments::RANGE_CHECK).stop_ptr + - *self.segments.at(segments::RANGE_CHECK).begin_addr; + assert_range_u128_le(range_check_uses, range_check_copies); + + let ecdsa_copies = trace_length / ECDSA_BUILTIN_ROW_RATIO; + let ecdsa_uses = (*self.segments.at(segments::ECDSA).stop_ptr + - *self.segments.at(segments::ECDSA).begin_addr) + / 2; + assert_range_u128_le(ecdsa_uses, ecdsa_copies); + + let bitwise_copies = trace_length / BITWISE_ROW_RATIO; + let bitwise_uses = (*self.segments.at(segments::BITWISE).stop_ptr + - *self.segments.at(segments::BITWISE).begin_addr) + / 5; + assert_range_u128_le(bitwise_uses, bitwise_copies); + + let ec_op_copies = trace_length / EC_OP_BUILTIN_ROW_RATIO; + let ec_op_uses = (*self.segments.at(segments::EC_OP).stop_ptr + - *self.segments.at(segments::EC_OP).begin_addr) + / 7; + assert_range_u128_le(ec_op_uses, ec_op_copies); + + let keccak_copies = trace_length / KECCAK_ROW_RATIO; + let keccak_uses = (*self.segments.at(segments::KECCAK).stop_ptr + - *self.segments.at(segments::KECCAK).begin_addr) + / 16; + assert_range_u128_le(keccak_uses, keccak_copies); + + let poseidon_copies = trace_length / POSEIDON_ROW_RATIO; + let poseidon_uses = (*self.segments.at(segments::POSEIDON).stop_ptr + - *self.segments.at(segments::POSEIDON).begin_addr) + / 6; + assert_range_u128_le(poseidon_uses, poseidon_copies); + } +} + diff --git a/src/air/layouts/starknet_with_keccak/traces.cairo b/src/air/layouts/starknet_with_keccak/traces.cairo new file mode 100644 index 000000000..d1106d12c --- /dev/null +++ b/src/air/layouts/starknet_with_keccak/traces.cairo @@ -0,0 +1,129 @@ +use cairo_verifier::{ + air::layouts::starknet_with_keccak::{ + constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND}, global_values::InteractionElements, + }, + channel::channel::{Channel, ChannelTrait}, + table_commitment::table_commitment::{ + TableCommitment, TableDecommitment, TableCommitmentWitness, table_commit, table_decommit, + TableCommitmentConfig + }, + vector_commitment::vector_commitment::VectorCommitmentConfigTrait, + common::asserts::assert_in_range +}; + +// A protocol component (see stark.cairo for details about protocol components) for the traces +// of the CPU AIR. +// This component is commonly right before the FRI component. +// In this case: +// n_queries = n_fri_queries * 2^first_fri_step. +// decommitment.original.n_queries = n_original_columns * n_queries. +// decommitment.interaction.n_queries = n_interaction_columns * n_queries. + +// Commitment values for the Traces component. Used to generate a commitment by "reading" these +// values from the channel. +#[derive(Drop, Copy, Serde)] +struct TracesUnsentCommitment { + original: felt252, + interaction: felt252, +} + +// Commitment for the Traces component. +#[derive(Drop, PartialEq, Serde)] +struct TracesCommitment { + // Commitment to the first trace. + original: TableCommitment, + // The interaction elements that were sent to the prover after the first trace commitment (e.g. + // memory interaction). + interaction_elements: InteractionElements, + // Commitment to the second (interaction) trace. + interaction: TableCommitment, +} + +// Responses for queries to the AIR commitment. +// The queries are usually generated by the next component down the line (e.g. FRI). +#[derive(Drop, Copy, Serde)] +struct TracesDecommitment { + // Responses for queries to the original trace. + original: TableDecommitment, + // Responses for queries to the interaction trace. + interaction: TableDecommitment, +} + +// A witness for a decommitment of the AIR traces over queries. +#[derive(Drop, Copy, Serde)] +struct TracesWitness { + original: TableCommitmentWitness, + interaction: TableCommitmentWitness, +} + +const MAX_N_COLUMNS: felt252 = 128; + +// Configuration for the Traces component. +#[derive(Drop, Copy, Serde)] +struct TracesConfig { + original: TableCommitmentConfig, + interaction: TableCommitmentConfig, +} + +#[generate_trait] +impl TracesConfigImpl of TracesConfigTrait { + fn validate( + self: @TracesConfig, + log_eval_domain_size: felt252, + n_verifier_friendly_commitment_layers: felt252, + ) { + assert_in_range(*self.original.n_columns, 1, MAX_N_COLUMNS + 1); + assert_in_range(*self.interaction.n_columns, 1, MAX_N_COLUMNS + 1); + assert(*self.original.n_columns == NUM_COLUMNS_FIRST.into(), 'Wrong number of columns'); + assert(*self.interaction.n_columns == NUM_COLUMNS_SECOND.into(), 'Wrong number of columns'); + + self.original.vector.validate(log_eval_domain_size, n_verifier_friendly_commitment_layers); + + self + .interaction + .vector + .validate(log_eval_domain_size, n_verifier_friendly_commitment_layers); + } +} + +// Reads the traces commitment from the channel. +// Returns the commitment, along with GlobalValue required to evaluate the constraint polynomial. +fn traces_commit( + ref channel: Channel, unsent_commitment: TracesUnsentCommitment, config: TracesConfig +) -> TracesCommitment { + // Read original commitment. + let original_commitment = table_commit( + ref channel, unsent_commitment.original, config.original + ); + // Generate interaction elements for the first interaction. + let interaction_elements = InteractionElements { + memory_multi_column_perm_perm_interaction_elm: channel.random_felt_to_prover(), + memory_multi_column_perm_hash_interaction_elm0: channel.random_felt_to_prover(), + range_check16_perm_interaction_elm: channel.random_felt_to_prover(), + diluted_check_permutation_interaction_elm: channel.random_felt_to_prover(), + diluted_check_interaction_z: channel.random_felt_to_prover(), + diluted_check_interaction_alpha: channel.random_felt_to_prover(), + }; + // Read interaction commitment. + let interaction_commitment = table_commit( + ref channel, unsent_commitment.interaction, config.interaction + ); + + TracesCommitment { + original: original_commitment, + interaction_elements: interaction_elements, + interaction: interaction_commitment, + } +} + +// Verifies a decommitment for the traces at the query indices. +// decommitment - holds the commited values of the leaves at the query_indices. +fn traces_decommit( + queries: Span, + commitment: TracesCommitment, + decommitment: TracesDecommitment, + witness: TracesWitness, +) { + table_decommit(commitment.original, queries, decommitment.original, witness.original); + table_decommit(commitment.interaction, queries, decommitment.interaction, witness.interaction) +} diff --git a/src/air/periodic_columns.cairo b/src/air/periodic_columns.cairo index 4f894ef5f..0133798fa 100644 --- a/src/air/periodic_columns.cairo +++ b/src/air/periodic_columns.cairo @@ -1570,6 +1570,293 @@ fn eval_ecdsa_y(point: felt252) -> felt252 { res } +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key0(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x25257ecfcf301b18da64254e59b151a549668b8c150b39f71eb3e3508224fbb); + let res = res * point + (0x13342c1639906e1ef17847fdf16d032ea663fdc4fed28da92f88381ebfa626b); + let res = res * point + (0x12125a111c43e7a0819677f13fcfb3d15bf9921cb098a11db3cac22813437ce); + let res = res * point + (0x15c58abecd948a965601dc451075b0c1dcbfe1ad91c086e0f43865ebfeca111); + let res = res * point + (0x73960e722af010fc2cbc3012de9ae4bc357e8728e7d6a15b0cb10b12bbebeeb); + let res = res * point + (0x5cb77e4fe2751fb9cf145aea5d07503c518440d7bc7b85c91b6799f14fa0b82); + let res = res * point + (0x624263f4821e9fd3af946554a890b0e20ee21c5db0eb4742f547f049d7265a5); + let res = res * point + (0x601b3d8d8eeed4743cab5f121b1c30874e95ad5883c331aa0fef0b8d9c4b17a); + let res = res * point + (0x50e3e5f09b36a9055c9992f6b89471bd122b785b6071483279bf6c45263f18b); + let res = res * point + (0x6687d6c2e62115cff5db20d04e5fbcdf28e85d6acfab9e7b8869f46f388b16d); + let res = res * point + (0x3fb1f146e0af9750e5d66c46244aa96306b4c4518e6311ccc4a730f289d4493); + let res = res * point + (0x4ea9551cbcfe5f18614ae86e485adba9f70255f312eb4386020432c1169a03b); + let res = res * point + (0x1cae942c39310c3913c33d6e0c10c4db313621d4e70baf4ab17a4b71a0a2336); + let res = res * point + (0x186c97cc34ee93808f32336d2afe9ca74ce30b932b416ed662b0287c7db52eb); + let res = res * point + (0x754e8d183db530c59c19c447e1b0fa66cac465db9ed0bec3576fe8723a88d5); + let res = res * point + (0x70000000000000ee00000000000000000000000000000000222222222222223); + let res = res * point + (0x5bbf43b8bcde1f233ee3b725e768ddbef1d6ee4e272c2cc365cf9d58b2cec06); + let res = res * point + (0x322981f5cfa5a7aac59428b3062bad8dc08145c68082d791cce8fdf2287fbd2); + let res = res * point + (0x3318691be977dcb75f1fac814c8d42814e8fae2640bb483f5ce5fab2fa9f063); + let res = res * point + (0x3a70f05c50491d642354e1df25c2b04cc06b790375c5dc7309838f0d17a9fc0); + let res = res * point + (0x5d870d9e97b879e273beec4b5ea076338bebca91d4104ff4a5fa8a51cab1348); + let res = res * point + (0x3fb0c6c8b229297ff6644fdf9bb36a659c4a91dd060d65f243d23308fd2765a); + let res = res * point + (0x749e7d5e4eee9f1220ed1c8991d70dae19b3f742417b23c5acec221e971ff46); + let res = res * point + (0x2fe4c27271112cbdc354a0ede4e3cf78b16a52a77c3cce55cdeed2504192c65); + let res = res * point + (0x3a3cd9702057cb220459e07f39c2db92ef07599d1016c02a8f028c6a13572ab); + let res = res * point + (0x53ad84fad4ed87e5606af2364d96d04735dba9a7a1f235a13b68a7496e22a73); + let res = res * point + (0x2b91e359964f3f5cc62de8673b400cd968e983184fccf3d2f71da3d4a0f442b); + let res = res * point + (0x21202fc82523fa85255e596d816cc3476bd24f5be58e592577b74fbd4a6966d); + let res = res * point + (0x462ecdd9bc89bf4cd186564983426380d0ef409db04df04e971d2e59f2bf32d); + let res = res * point + (0xb981951722e737e9e029e1148b76ad3ffa4d71a21426c17065ac1482f379a8); + let res = res * point + (0x315b9e0e2e5cd6c0490268bd5b95853a50961e5584289a0ee467e5f6bdee9dd); + let res = res * point + (0x1111111111111111); + res +} + +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key1(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x46c20a61e3dd5f8e8d4085bfcf8e52c9c50152285742b9ba783a4edb6608353); + let res = res * point + (0x62db2649e22e5c49b68354e9a3801a9b695f7d1c8d03854b1edfa0e322ef902); + let res = res * point + (0x3420050a4dc6c773aa43eb3a5c8b2b88b3e33bc739775bc375933e2ff8e3846); + let res = res * point + (0x4bc9ed4ab2622c0cad2c8111a9a5598ddac8d9e1a89766c0bf0bfd7b750538c); + let res = res * point + (0x2df8e6211399d12f3d33874172e235e92aae15d062516b5c1641ce309354f2); + let res = res * point + (0xb63ac706fb9d207b59fa7456f07c71fb193932810c68fd454a98d89d96e97a); + let res = res * point + (0x523ed890c4e0e53b280afa7ecfc9d32182829c79f4f90ee5352b2b1671933a8); + let res = res * point + (0x401b3d8d8eeed4303cab5f121b1c30874e95ad5883c331aa54334fd1e08f5be); + let res = res * point + (0x44670acb048727d509f4189ff2322439252d747f2a78570bb8c20b28f8e8c1b); + let res = res * point + (0x5c6bd13190fe93c3c7535bade15bf685833e3f846aafbe531aedf5e448bf4f6); + let res = res * point + (0x4e9d1c063aa65b8d301ab440c23f7489eddf4d4d1d049fd6f817fbea9b9b843); + let res = res * point + (0x73531922feb3a6f79490f130de30f0c2fadd1afe367970c43540a32112a5e8c); + let res = res * point + (0x40dfd1db116746967a4792685c8eb61ea90a2de3f9aa80975d4c6dc52e7025b); + let res = res * point + (0x1a3b463bdc8408051f1aac5b7c31cecefcd32c6a6dc13b9b9cfee72fb3dad69); + let res = res * point + (0xadc55da564cf8859d120b02ab9fb09ed6ae934330c42084a392a9688723630); + let res = res * point + (0x70000000000000ee00000000000000000000000000000000222222222222223); + let res = res * point + (0x4481ca3e932177631ec3ceed8ffc6372aa9cf54186ed4be4ff4641a7807c127); + let res = res * point + (0x592a0b7fa0c98ab8930a5ca88ac1cbac0dfa16ae244d58745171ce70fda046); + let res = res * point + (0x6cc4bd7e3e47730c6f03f139e48f03db875a3e1302c00af6caabfe34f7cbf37); + let res = res * point + (0x2392a163f404deefe6cf4481b3b183464db5160b40d56f427af356cc7ad1d37); + let res = res * point + (0x740152f0bfd3a106dcae496a23399b3195eb3242ec4154529c8bb14120ccbb4); + let res = res * point + (0x2a6899691636dd2f8e27428b7478962bcf7938103e12c462ebb4b1a0bed9d28); + let res = res * point + (0x309e897530d9e68ebd3e9938bf89553a7fa2c5f8a26090b3cf280a70dd89e77); + let res = res * point + (0xfe4c27271112c79c354a0ede4e3cf78b16a52a77c3cce561233169485d70a9); + let res = res * point + (0x20c3b86201349cc6d6c20bd29a2ad219855bcbc3c6db925113aa6d6dd0b57d2); + let res = res * point + (0x3b935e02ce81c807eba625e65ee894418cd957563514ad82c0d77a87f5a37a9); + let res = res * point + (0x5c83a35a80e818de30d8bf353017d8c6135384ab53836885cc65b88059b67af); + let res = res * point + (0x1d50582e5ae5502bd773493bc4783268dca4f514e019b93890c00896fd830b3); + let res = res * point + (0x17d0b504a0d0e37a287c72997d21dec2143836cf446b2563784e32746ee2c13); + let res = res * point + (0x6f8b7db461cffbbaaa70ed8b33dd11c847c952fb3458a9845a5e22e6ba27d89); + let res = res * point + (0x6640c6366c5b918d0369115b919baa50eabbbe778b22d0cacad4a7b7bb357be); + let res = res * point + (0x1111111111111111); + res +} + +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key3(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x4a025b231a318123295e4fc2ad69f9552eec69c64066fac264b1cfcdd7d3158); + let res = res * point + (0x5460b40a6b82eea400c5f65223403b791182933281ab2654f3762718ea7272a); + let res = res * point + (0x577c87daa8b61681534eabd0626b9e6b73e5152876c214cd16515b620f42de); + let res = res * point + (0x42cae55f34098448653815d656a3fe1e71f0b843a3a978717f2f02f69ec80c7); + let res = res * point + (0x54dbe71eb9ae525a52abca43b7aadeeac9664a351d711d8d43ed87957535f19); + let res = res * point + (0x57276cf88395452ddfb9ecf810e6b6407e3f757e0186097c3484de9195304d7); + let res = res * point + (0x1ea216e7fa1188997bf294ce196ff23a97bed74a3a74820555d2aee1819c839); + let res = res * point + (0x601b3d8d8eeed4743cab5f121b1c30874e95ad5883c331aa0fef0b8d9c4b17a); + let res = res * point + (0x75d25626915653ec90adc5178d4a32f65ed1857d70c0a737b9fb5535837c9d0); + let res = res * point + (0x559b4e49955b69058393ead11679baa4ceebadafcd17d1214cd1fb92c9a67de); + let res = res * point + (0x844af79594ffe6ea50d5c9e6ee3287cd7871390cca63a0797c3f2d2d3f53f3); + let res = res * point + (0xc52210e7d0c4dcddc855c6c31324c3263b53c9c3b675f1352fb7b83c6c0f2e); + let res = res * point + (0x4fdd57886595821090659b2a53a9dc377a2a90315c901d58677c17a0a4cfb60); + let res = res * point + (0x77b6d8762a4c0870d48f1bf7d4ef0674e1b51ca1a5f23186babfc02837bbac0); + let res = res * point + (0x71b4d4ca13e1018d2b54993a3950f29b7ffbd7f317e8186338bf32e552c2ae2); + let res = res * point + (0x1000000000000021ffffffffffffffffffffffffffffffffdddddddddddddde); + let res = res * point + (0x6bd6af7759bad5fe5748f2ffe9d4cb5319aef5a5e59df200aa3df034cc06941); + let res = res * point + (0xdd3d6e7af0c08df08799e48b8fadc745d590aba8fb7199d89ffc2e9d87bf31); + let res = res * point + (0x1b0a352b349c7cf1a5cb6b4faec5eaca91a91b99e1f633c145c994cd3cf8a58); + let res = res * point + (0x6cc8246a903b2e8ca81a6de13ceb3fc453b8925a4d49c0e5daae686c89a52ef); + let res = res * point + (0x24bb40b69d54b9ce773c98f82908afd7181b1187d5051669025874cb5401c72); + let res = res * point + (0x66a4081561dbc5b317067e6d12de31d212e4ec94ed17b69109c0f327639d08c); + let res = res * point + (0x59926196b781e5f56e60c792946b8853ef6ce8c17b5f3da6fcc8ede489bafb3); + let res = res * point + (0x2fe4c27271112cbdc354a0ede4e3cf78b16a52a77c3cce55cdeed2504192c65); + let res = res * point + (0x705bc2bf83594f7602f344e78e5f6f8774d43933d67103708446fabf41e59cb); + let res = res * point + (0x683026c45015a1db732c80940d4b2d6dc238b4632185eeebf173d6262f26d85); + let res = res * point + (0x341a62cac79ab855999592a767fa1e3270800864554795a6a6405796a23b15b); + let res = res * point + (0x641ad527beaf01c116281fdc3b3e75ead6a178c5d3a567950ee2d4d4cc8d8da); + let res = res * point + (0x59aa70b54354dfd8ac0ebc473fd8a9a613658b3025a989f4fd0af711bddb694); + let res = res * point + (0x6a7db27bf042f02234b078a3074c11788d26814b6b700e6bc2b629da8b32b9c); + let res = res * point + (0x7a0f8f36b1ef9bbfd60fbda365eb2bafdc9749e3c50d90852773205d38a9f04); + let res = res * point + (0x1111111111111111); + res +} + +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key7(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x279b1137fbe58a227ed345e6b3136ea36aa5eabb7ebaac5f226c318ef599e60); + let res = res * point + (0x63355b4be0dccf93a1fa0f44f29a9ddd83c010b942d979a530cecd6c74ba8c8); + let res = res * point + (0x2a1210c6928cd6a942ae59da3af2423896f30acfc1174f1611cd90922303f40); + let res = res * point + (0x2950c0942b252300fdf68871a455ed05549929a79037834d6faa1d2dab1e731); + let res = res * point + (0x5b2ede5b73c60003b027071c1f36a59ff339069eccddc28f143ad374c13c67a); + let res = res * point + (0x2bfbed668244b9211d0023eaf227f0a8a9a8aea53ba93b84d35be4acaf5e0b7); + let res = res * point + (0x6d8c656cba303fd802db54d6b43bfcec1e4db34d0ee27d5bdd23686e5f50760); + let res = res * point + (0xf9309c9c444b1810d5283b7938f3de2c5a94a9df0f339579e21afa76cb17f9); + let res = res * point + (0x5b5d5cc26ebb21f4a1851a39f0e5f5df99c9304ceacdb7f10d81344a3d781dd); + let res = res * point + (0x21cf87a7632c50d1d9c0477a319cf769e77bb36db2f4848848c7caea274d289); + let res = res * point + (0x734b0fdf3a990e5ccec5ff6f72d41000033dfbd57586901e7ce5a9ce071992); + let res = res * point + (0x76af3f6bd4dade530209778e5baa12faab66d6586fc87cb24c119e8e109d48c); + let res = res * point + (0x48639d021d476bb451319356bf88a82456f69947e4f11c446d5e847136e5ad8); + let res = res * point + (0xeff2fa639b2281167458555e9a07a0feb1b8d33ce88c64d2a84fa742c11b71); + let res = res * point + (0x493fd6f738b14dbb2866f8dfb966aa9963463ab1edfae1b39749c44b8713519); + let res = res * point + (0x60000000000000cc00000000000000000000000000000000444444444444445); + let res = res * point + (0x1e9cf906f9fbdf8e75a43cdad43c3f7e2aa6645eedb45f02d6c87332ca5b8a4); + let res = res * point + (0xeff2fa639b2281167458555e9a07a0feb1b8d33ce88c64d2a84fa742c11b71); + let res = res * point + (0x7df59f05447f800e840bac0aeba642399305955df706f73e5f11e645104258d); + let res = res * point + (0x571c35a210962caff4b6f3d6c81ad517e5bd8bba7ed5435ad0121108c60deb5); + let res = res * point + (0x16e29756eb5894d70e07ac474fd109610d3721dcd6dc8020d85a5c9832a1d7b); + let res = res * point + (0x21cf87a7632c50d1d9c0477a319cf769e77bb36db2f4848848c7caea274d289); + let res = res * point + (0x7a49136d756e1c2773a7c78b098e94291c2d1d10608723b18b334f988feb421); + let res = res * point + (0x506cf6363bbb4f4af2ad7c486c70c21d3a56b5620f0cc6a8a622949cd792c4c); + let res = res * point + (0x5e6a98fe9b63767a6a03630487ca5bfed0ea8098a8c33cacf94a26f40292721); + let res = res * point + (0x2bfbed668244b9211d0023eaf227f0a8a9a8aea53ba93b84d35be4acaf5e0b7); + let res = res * point + (0x50c39f36354a1a826c599a23e23a3a8dd5d38014f08950a9a7522e8bec481a3); + let res = res * point + (0x48e3ca5def69d4a40b490c2937e52ae81a427445812abca4eba9aab2f5add08); + let res = res * point + (0x458aed4b839a0190f09fb945d16fa8daa8993e3c7754a10ba60c4b81d53c135); + let res = res * point + (0x63355b4be0dccf93a1fa0f44f29a9ddd83c010b942d979a530cecd6c74ba8c8); + let res = res * point + (0x4eeab02e97b059756115eabe88cec451623ef4f0a29b7d3f005f83ad89b0f69); + let res = res * point + (0x1111111111111111); + res +} + +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key15(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x24ec7e1a7b8bcb5b138102f4131d7fa12dd5fc5278251892aa929a46b50dec4); + let res = res * point + (0x6fab9476126a16ec91fb0071a673f7c8b65b1dbd3d04502cbc915a3db9e8a1f); + let res = res * point + (0x12f9d780e40408e85cfd757fc76df0883a6aeb39adb7626b2ff9b582c551d3e); + let res = res * point + (0x76e0a1037b5bac3527a824fe3e4eb1f1841619c97aad3b04461cd97010cd690); + let res = res * point + (0x51d69b95d84bf6cb03ae28cd575fd8b1c2fde0263a9cbb33b0c2d281d6593e5); + let res = res * point + (0x637549dd8a31e6eb931f74c374ae94c1344727397e1baa82702b01ca6765a5f); + let res = res * point + (0x259a0178365605d693f8d60441444981aa3782845295b3c795504192c100bd5); + let res = res * point + (0x501b3d8d8eeed4523cab5f121b1c30874e95ad5883c331aa32112dafbe6d39c); + let res = res * point + (0x4cf3d65c0b542463ffbade568e57a5562c15810c7050d7fa1cffd718c535167); + let res = res * point + (0xe735942acb168306ebc477871555c572af3741c59332ca97f034aaa040eef3); + let res = res * point + (0x231af732a4a2d73dd564d92560c1b4387d641e999f139c35a49dce4b95c40a8); + let res = res * point + (0x6bc84bb37162e162131f843a2a2e6f1bfaf80796e8203e6c98b9007613eceea); + let res = res * point + (0x34701ae77a897e00aecf2472198c4bbb5d7e5568c3b4439be3a5872607c4674); + let res = res * point + (0x2b785b28d1c810d0ae9d9ff6be5830d87f9eab4199991d2982faacbfee350f1); + let res = res * point + (0x9e00b3dfda8e20537eb42e591413bf4f6b41ff1af4904634a41461a23c0033); + let res = res * point + (0x70000000000000ee00000000000000000000000000000000222222222222223); + let res = res * point + (0x3a3f52e03867160939f19be537d98bcc8972a660111194aa12ac42a7ec61d96); + let res = res * point + (0x388bb770abf3374034623c1e4f7fde7ed6b8a6192abda75187874c71404ac37); + let res = res * point + (0x2fc8f5dccdd25a5950fbc1514105c89273300b1a94541a69944e88356b5a664); + let res = res * point + (0x78e8e3e166c6ae785f011cdd8b78ecffdebe8b857dcc61a7339ea90e5036019); + let res = res * point + (0x5b858dbd345e2432e03866bcde0f9bc4e720c6c79f303f462219f77397d4815); + let res = res * point + (0x728d7717199c70f029fe3331a50a2998e9f0feafd8440d09345598bfadbd37b); + let res = res * point + (0x2d5b04f1e90c33a30180d67ba63c239c6b5eee519be4e624aa37fbd973a73b2); + let res = res * point + (0x1fe4c27271112c9bc354a0ede4e3cf78b16a52a77c3cce55f010f47263b4e87); + let res = res * point + (0x544d4edf7c744af8a57fff189322115956f891a315854171657d7a2f0a87826); + let res = res * point + (0x49555ad694f14bc2cae67bf798b6cd6147f8c80d3f0adbd83ce40ea701bdab9); + let res = res * point + (0x59b545396dcb787789f473c12a59d08f9aaa35b00fd4204cced53d3d3fdad4a); + let res = res * point + (0x646e2f67ac7ac7a8663739ea0c09f1f2a233531a1f6624e76502f48302871e8); + let res = res * point + (0x1ea0b1fbb487b7c25ff7c84c1d7501eb32b9b90b718b88928939dd1afb3a379); + let res = res * point + (0x7e84e3e28a699a839444b81427ef10cd62292ed510072b4ad884b8b5fca8138); + let res = res * point + (0x62bdf821a73997783fed94521acd94cfb95eb9d6532f9b07adf1c5baade31da); + let res = res * point + (0x60000000000000cc00000000000000000000000000000001555555555555556); + res +} + +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key31(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x5852cb7312b6299275e11e7bf04e6a604038b1398d93ed46cdfa41cb9503116); + let res = res * point + (0x3645c0d194b9983bc9c138a6e57651551a16c071ad1f5b0fc37946aa5b6a2cf); + let res = res * point + (0x40c0d849a4523e6379cddf0bb9f7220b4ad778b81a7e873876700bc9d276ec4); + let res = res * point + (0x211f5efc84a4550dd857db01c1b14e0e7be9e6368552c4fb86aff35cbbff63e); + let res = res * point + (0x59c8aeb2a0ac85c5c13da60be839d4171a4a2c8808ecdf75ba6490bb81a9079); + let res = res * point + (0x22aeb7c2e8c9fc5f1819601d752141f60e5e894d854be8a2bc8cd9791bb115e); + let res = res * point + (0x691f1c1adfc25c7591030cc775b01c76d305e385ef6528a6b2f29d656d8d181); + let res = res * point + (0x851b8a8accc7b09b6021d3651549195ebc108098b4994fe630055dc081479f); + let res = res * point + (0x1a8f201c55f7facb0cc93566ad5194662a91b7372cf67f0fd9c6bc400b89de1); + let res = res * point + (0x3a3014183373f80fc4185542958defd2e934de274c76e6e4faf6922f7c26ca); + let res = res * point + (0x5471f4be94ccf3bb7be211193c1827b4070e4f2eea1ed7e828d4d4ca4a703f8); + let res = res * point + (0x2c37b44c8e9d1fe0ece07bc5d5d190e40507f86917dfc1933413cc56b8dfde4); + let res = res * point + (0x3ef97a843574486d4a4ca50dfea986f767c7fdd2a8ba4c9217eae4746ef650); + let res = res * point + (0x507518e91a5aa1f164583e8bc6dfa7713e2bccb306b992611ac085e76070526); + let res = res * point + (0x5646153d03a487c880a5e3b7005a996b45570b60a5be6c4a0a8f545fa9900f0); + let res = res * point + (0x800000000000010ffffffffffffffffffffffffffffffffeeeeeeeeeeeeeef); + let res = res * point + (0x32a29bfc37f6ff30148ef2f00017fecc0b8c87f6f22227f97ee3df56d231b3d); + let res = res * point + (0x5d887530f485c860ea1cdab3580755179545c78a97de1c891f4d2598b28606c); + let res = res * point + (0x265b35f9701f2ec4b9f0c2ebc4aa23c969d376930985a63729470320ba328df); + let res = res * point + (0x1f171c1e993952caa0fee322748713002141747a82339e58992e23be7c96cb5); + let res = res * point + (0x198a2a2108558f4d2a79ee44f9de100d3c12f49fb5d3614a63091db177c83fd); + let res = res * point + (0x67bd1f15f0224840b783710d5d0dac3eed90d875f3d84ece0501b738a170b52); + let res = res * point + (0x4b95badd4e47e63f49ff64ccced083d700959b8009f8dceda07f2b04cc47ed7); + let res = res * point + (0x77ae47575333860649fde2c9aeab6e6a143ef7f674b66b019cffaa23f7eb862); + let res = res * point + (0x167f58c665f83f3d48f50c40164294afe64889203f9bb2731e2b7cce7890efe); + let res = res * point + (0x88ec8bbf38961364fe0675199297a9622102a21463b19f88945e655b6091b8); + let res = res * point + (0x86e1cac50243f817030f9dc914c0034e7a747fe0594b3e4f2a3c21a3d96b36); + let res = res * point + (0x3391d0985385399a99c8c615f3f60e0d5dccace5e099db1867c9d849ca45ae6); + let res = res * point + (0xd939b9e847fe38544d046dc62e475644b3450374885610484442e103f3105d); + let res = res * point + (0x451f103e0cb91bd2cc0af04966f16a59c5e4d1898022362ddf6ca5229e299e8); + let res = res * point + (0x702f07b05d77fca39f2b0536963dd44eceff845d2f124793dece58719d09399); + let res = res * point + (0x180000000000003300000000000000000000000000000000dddddddddddddde); + res +} + +// Evaluates a periodic column at a point. +// A periodic column of N values yields these values on the subgroup of size N. +// To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) +// instead. +fn eval_keccak_keccak_keccak_round_key63(point: felt252) -> felt252 { + let res = 0; + let res = res * point + (0x13c65642d180be37bf6db1ca47e2884a87a9c17aaa35744910c1b0fccc4c50f); + let res = res * point + (0x4dff8ed2557436c17e52a86eb24e65fcef37d2d5d0df503f27351b9fb114deb); + let res = res * point + (0x5f4717961bc9bb0c1996dabb3c74988f05f5107081b80ff8c4c4299d22048f0); + let res = res * point + (0x581b3d8d8eeed4633cab5f121b1c30874e95ad5883c331aa21001c9ead5c28b); + let res = res * point + (0x216dc3dbb9063124640a3d5f603ca702781ff5264ef23cc5dfcec751f4a33d1); + let res = res * point + (0x3ad1ff12fccb50a5de8e7672380cda75ed5bf08fe3d3cbecd1195b32d881025); + let res = res * point + (0x1d5c1c42d8ec54a42b1632618314889f63c11a24b80b67b9f587da4d671640f); + let res = res * point + (0x38367b1b1ddda7c77956be243638610e9d2b5ab10786635430ef282c49a7404); + let res = res * point + (0x6cc4bb82d7803f17da904038c2212dcef110ebbaa6234e67c5718db62a14207); + let res = res * point + (0x69204e331102a9fadf461be4a4a5b34cf06aa4ce4167589c0dd4f22cc888ffe); + let res = res * point + (0x45d4b9d9009554d081839e925dfddc46033bb5347b940cb21555dd388c66a56); + let res = res * point + (0x27e4c27271112cacc354a0ede4e3cf78b16a52a77c3cce55deffe36152a3d76); + let res = res * point + (0x1ad6ca03d6d5422e58017c5e3cc08f74ddc9ad8bcca0774dd78b592dc16b98b); + let res = res * point + (0x722178334a9327c73bca71705e5c459530198bdca5be25f1d95c98d7190bf96); + let res = res * point + (0x6b62a10a0b8411be1c13352de351dbe55e625cf2569f2c61613d6c57d7039cc); + let res = res * point + (0x800000000000010ffffffffffffffffffffffffffffffffeeeeeeeeeeeeeef); + let res = res * point + (0x477aaaf598b4391c108cc2b3cf8fd238e20c8224820c59847541d59d2b5c101); + let res = res * point + (0x5bfdb03906bd7492c48faf9c33f8dba8f2900740d8c0f835344a49d639c843e); + let res = res * point + (0x653211d3237934d10c7bbcffcba0673cf8919f3d5695d32c1d40749e82bfc3f); + let res = res * point + (0x581b3d8d8eeed4633cab5f121b1c30874e95ad5883c331aa21001c9ead5c28b); + let res = res * point + (0x1e2c6706b58c375bedd4d71b850b928686714f3c74987aced96858048d7f05f); + let res = res * point + (0x1cf6b50644d7634d5b144cfdd1ff4f4285904b99b46a3c94eacdfe1e2d4b987); + let res = res * point + (0x715d1152348922f2f7f84c0dbd3622bf0537cda35bb2dc2dc23bb5c6a103680); + let res = res * point + (0x57c984e4e222596a86a941dbc9c79ef162d4a54ef8799cabaceeb5b194369db); + let res = res * point + (0x3bf31fc435aed4a4412cfe877384108788f7b288c0644c5f2314977430c3576); + let res = res * point + (0x6ce272c192cbade0ddd78c1075130b0d2dcd811b14f85eef96aba85d4c99ddc); + let res = res * point + (0x38d10cd0c01529a85ec684600e23388d6d4f123c20cdeb6c6f2e4b5ab6739b6); + let res = res * point + (0x27e4c27271112cacc354a0ede4e3cf78b16a52a77c3cce55deffe36152a3d76); + let res = res * point + (0x22701b06baaaeab34fc2b47969c12262b49396f2fb24f5d9802c38244c4b085); + let res = res * point + (0x3615d3b373ca26658a92cb1f979790b25cfa37f9c203d18c6abc0dd7e1276c0); + let res = res * point + (0x41eb54e16fa27062d52699248f4bdfe254e5d96302d92721efeccf4745da594); + let res = res * point + (0x68000000000000dd00000000000000000000000000000001444444444444445); + res +} + // Evaluates a periodic column at a point. // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) diff --git a/src/deserialization/stark.cairo b/src/deserialization/stark.cairo index f359c6896..caed9bfc1 100644 --- a/src/deserialization/stark.cairo +++ b/src/deserialization/stark.cairo @@ -18,6 +18,9 @@ use cairo_verifier::{ // === STARKNET BEGIN === // air::layouts::starknet::traces::TracesConfig, // === STARKNET END === + // === STARKNET_WITH_KECCAK BEGIN === + // air::layouts::starknet_with_keccak::traces::TracesConfig, + // === STARKNET_WITH_KECCAK END === deserialization::{ traces::{ TracesConfigWithSerde, TracesDecommitmentWithSerde, TracesWitnessWithSerde, diff --git a/src/deserialization/traces.cairo b/src/deserialization/traces.cairo index b13e6af97..3c6443d4b 100644 --- a/src/deserialization/traces.cairo +++ b/src/deserialization/traces.cairo @@ -24,6 +24,10 @@ use cairo_verifier::{ // traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} // }, // === STARKNET END === + // === STARKNET_WITH_KECCAK BEGIN === + // air::layouts::starknet_with_keccak::{ + // traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} + // === STARKNET_WITH_KECCAK END === deserialization::{ vector::{ VectorCommitmentConfig, VectorCommitmentWitness, VectorCommitmentConfigWithSerde, diff --git a/src/lib.cairo b/src/lib.cairo index e184ba9ed..6545a1b82 100644 --- a/src/lib.cairo +++ b/src/lib.cairo @@ -35,6 +35,9 @@ use cairo_verifier::{ // === STARKNET BEGIN === // air::layouts::starknet::public_input::StarknetPublicInputImpl as PublicInputImpl, // === STARKNET END === +// === STARKNET_WITH_KECCAK BEGIN === +// air::layouts::starknet_with_keccak::public_input::StarknetWithKeccakPublicInputImpl as PublicInputImpl, +// === STARKNET_WITH_KECCAK END === }; const SECURITY_BITS: felt252 = 50; diff --git a/src/oods.cairo b/src/oods.cairo index cdb6ee111..8b294776e 100644 --- a/src/oods.cairo +++ b/src/oods.cairo @@ -35,6 +35,13 @@ use cairo_verifier::{ // constants::CONSTRAINT_DEGREE, // }, // === STARKNET END === + // === STARKNET_WITH_KECCAK BEGIN === + // air::layouts::starknet_with_keccak::{ + // AIRComposition, AIROods, StarknetWithKeccakAIRCompositionImpl, StarknetWithKeccakAIROodsImpl, + // global_values::InteractionElements, public_input::PublicInput, traces::TracesDecommitment, + // constants::CONSTRAINT_DEGREE, + // }, + // === STARKNET_WITH_KECCAK END === table_commitment::table_commitment::TableDecommitment }; diff --git a/src/stark.cairo b/src/stark.cairo index 944b14d5f..851f755dd 100644 --- a/src/stark.cairo +++ b/src/stark.cairo @@ -43,6 +43,13 @@ use cairo_verifier::{ // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} // }, // === STARKNET END === + // === STARKNET_WITH_KECCAK BEGIN === + // layouts::starknet_with_keccak::{ + // traces::{TracesConfig, TracesConfigTrait}, public_input::StarknetWithKeccakPublicInputImpl, + // traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, + // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} + // }, + // === STARKNET_WITH_KECCAK END === }, channel::channel::{Channel, ChannelImpl}, fri::{ diff --git a/src/stark/stark_commit.cairo b/src/stark/stark_commit.cairo index b50415c6d..40e90aba2 100644 --- a/src/stark/stark_commit.cairo +++ b/src/stark/stark_commit.cairo @@ -29,6 +29,11 @@ use cairo_verifier::{ // traces::traces_commit, // }, // === STARKNET END === + // === STARKNET_WITH_KECCAK BEGIN === + // air::layouts::starknet_with_keccak::{ + // constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, + // traces::traces_commit, + // === STARKNET_WITH_KECCAK END === channel::channel::{Channel, ChannelTrait}, common::powers_array::powers_array, domains::StarkDomains, fri::fri::fri_commit, stark::{StarkUnsentCommitment, StarkConfig, StarkCommitment}, diff --git a/src/stark/stark_verify.cairo b/src/stark/stark_verify.cairo index 1ac2d1bc2..0944a079b 100644 --- a/src/stark/stark_verify.cairo +++ b/src/stark/stark_verify.cairo @@ -16,6 +16,9 @@ use cairo_verifier::{ // === STARKNET BEGIN === // air::layouts::starknet::traces::traces_decommit, // === STARKNET END === + // === STARKNET_WITH_KECCAK BEGIN === + // air::layouts::starknet_with_keccak::traces::traces_decommit, + // === STARKNET_WITH_KECCAK END === table_commitment::table_commitment::table_decommit, oods::{OodsEvaluationInfo, eval_oods_boundary_poly_at_points}, }; From 95921c106a8f950fbb92f02d945f0e467d3aa678 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 18 Mar 2024 16:07:40 +0100 Subject: [PATCH 02/29] fix --- src/air/layouts/starknet_with_keccak.cairo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/air/layouts/starknet_with_keccak.cairo b/src/air/layouts/starknet_with_keccak.cairo index 076954f71..7bc994480 100644 --- a/src/air/layouts/starknet_with_keccak.cairo +++ b/src/air/layouts/starknet_with_keccak.cairo @@ -12,7 +12,7 @@ use cairo_verifier::{ global_values::{ GlobalValues, InteractionElements, EcPoint, EcdsaSigConfig, CurveConfig }, - public_input::StarknetPublicInputImpl, + public_input::StarknetWithKeccakPublicInputImpl, constants::{ PUBLIC_MEMORY_STEP, DILUTED_N_BITS, DILUTED_SPACING, PEDERSEN_BUILTIN_RATIO, PEDERSEN_BUILTIN_REPETITIONS, segments, ECDSA_BUILTIN_RATIO, From c412e353593c7c84083cf77620c9e7ab859b4000 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 18 Mar 2024 16:22:05 +0100 Subject: [PATCH 03/29] fix --- src/deserialization/traces.cairo | 1 + src/oods.cairo | 6 +++--- src/stark.cairo | 3 ++- src/stark/stark_commit.cairo | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/deserialization/traces.cairo b/src/deserialization/traces.cairo index 3c6443d4b..acf2bdf33 100644 --- a/src/deserialization/traces.cairo +++ b/src/deserialization/traces.cairo @@ -27,6 +27,7 @@ use cairo_verifier::{ // === STARKNET_WITH_KECCAK BEGIN === // air::layouts::starknet_with_keccak::{ // traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} + // }, // === STARKNET_WITH_KECCAK END === deserialization::{ vector::{ diff --git a/src/oods.cairo b/src/oods.cairo index 8b294776e..4b7f918e9 100644 --- a/src/oods.cairo +++ b/src/oods.cairo @@ -37,9 +37,9 @@ use cairo_verifier::{ // === STARKNET END === // === STARKNET_WITH_KECCAK BEGIN === // air::layouts::starknet_with_keccak::{ - // AIRComposition, AIROods, StarknetWithKeccakAIRCompositionImpl, StarknetWithKeccakAIROodsImpl, - // global_values::InteractionElements, public_input::PublicInput, traces::TracesDecommitment, - // constants::CONSTRAINT_DEGREE, + // AIRComposition, AIROods, StarknetWithKeccakAIRCompositionImpl, + // StarknetWithKeccakAIROodsImpl, global_values::InteractionElements, + // public_input::PublicInput, traces::TracesDecommitment, constants::CONSTRAINT_DEGREE, // }, // === STARKNET_WITH_KECCAK END === table_commitment::table_commitment::TableDecommitment diff --git a/src/stark.cairo b/src/stark.cairo index 851f755dd..09d08521f 100644 --- a/src/stark.cairo +++ b/src/stark.cairo @@ -45,7 +45,8 @@ use cairo_verifier::{ // === STARKNET END === // === STARKNET_WITH_KECCAK BEGIN === // layouts::starknet_with_keccak::{ - // traces::{TracesConfig, TracesConfigTrait}, public_input::StarknetWithKeccakPublicInputImpl, + // traces::{TracesConfig, TracesConfigTrait}, + // public_input::StarknetWithKeccakPublicInputImpl, // traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} // }, diff --git a/src/stark/stark_commit.cairo b/src/stark/stark_commit.cairo index 40e90aba2..fa6c7e506 100644 --- a/src/stark/stark_commit.cairo +++ b/src/stark/stark_commit.cairo @@ -33,6 +33,7 @@ use cairo_verifier::{ // air::layouts::starknet_with_keccak::{ // constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, // traces::traces_commit, + // }, // === STARKNET_WITH_KECCAK END === channel::channel::{Channel, ChannelTrait}, common::powers_array::powers_array, domains::StarkDomains, fri::fri::fri_commit, From 75dbf0279ddfaf8cc859f86309f669bc9e9651aa Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 19 Mar 2024 09:11:39 +0100 Subject: [PATCH 04/29] runner update vec252 refactor --- .tool-versions | 1 + Cargo.toml | 8 ++++---- examples/starknet/.tool-versions | 2 -- examples/starknet/Scarb.toml | 11 +++-------- examples/starknet/snfoundry.toml | 2 +- examples/starknet/src/main.rs | 8 ++++---- fact_registry/.tool-versions | 2 -- fact_registry/Scarb.toml | 11 +++-------- fact_registry/snfoundry.toml | 2 +- runner/src/main.rs | 10 +++++----- runner/src/vec252.rs | 9 +++++++++ 11 files changed, 31 insertions(+), 35 deletions(-) delete mode 100644 examples/starknet/.tool-versions delete mode 100644 fact_registry/.tool-versions diff --git a/.tool-versions b/.tool-versions index 94ed41d7e..19f91b24c 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1,2 @@ scarb nightly-2024-03-16 +starknet-foundry 0.19.0 diff --git a/Cargo.toml b/Cargo.toml index d33a7eb10..f50202ad2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,10 +9,10 @@ version = "0.1.0" [workspace.dependencies] anyhow = "1" cairo-felt = "0.9" -cairo-lang-casm = "=2.6.0" -cairo-lang-runner = "=2.6.0" -cairo-lang-sierra = "=2.6.0" -cairo-lang-utils = "=2.6.0" +cairo-lang-casm = { git = "https://github.com/starkware-libs/cairo/" } +cairo-lang-runner = { git = "https://github.com/starkware-libs/cairo/" } +cairo-lang-sierra = { git = "https://github.com/starkware-libs/cairo/" } +cairo-lang-utils = { git = "https://github.com/starkware-libs/cairo/" } cairo-proof-parser = { git = "https://github.com/Okm165/cairo-proof-parser" } cairo-vm = "=0.9.2" clap = { version = "4.5.2", features = ["derive"] } diff --git a/examples/starknet/.tool-versions b/examples/starknet/.tool-versions deleted file mode 100644 index 4267afd09..000000000 --- a/examples/starknet/.tool-versions +++ /dev/null @@ -1,2 +0,0 @@ -scarb 2.4.4 -starknet-foundry 0.16.0 diff --git a/examples/starknet/Scarb.toml b/examples/starknet/Scarb.toml index ca2c8d6a0..4e3243750 100644 --- a/examples/starknet/Scarb.toml +++ b/examples/starknet/Scarb.toml @@ -7,13 +7,8 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.16.0" } -starknet = "2.4.4" +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.19.0" } +starknet = "2.6.3" [[target.starknet-contract]] -casm = true - -[tool.sncast.testnet] -account = "testnet-sepolia" -accounts-file = "~/.starknet_accounts/starknet_open_zeppelin_accounts.json" -url = "https://free-rpc.nethermind.io/sepolia-juno/v0_6" \ No newline at end of file +casm = true \ No newline at end of file diff --git a/examples/starknet/snfoundry.toml b/examples/starknet/snfoundry.toml index 08fcc600f..96b5143d4 100644 --- a/examples/starknet/snfoundry.toml +++ b/examples/starknet/snfoundry.toml @@ -1,4 +1,4 @@ [sncast.testnet] account = "testnet-sepolia" accounts-file = "~/.starknet_accounts/starknet_open_zeppelin_accounts.json" -url = "https://free-rpc.nethermind.io/sepolia-juno/v0_6" \ No newline at end of file +url = "https://free-rpc.nethermind.io/sepolia-juno/v0_7" \ No newline at end of file diff --git a/examples/starknet/src/main.rs b/examples/starknet/src/main.rs index 11f4bed6c..56c53114a 100644 --- a/examples/starknet/src/main.rs +++ b/examples/starknet/src/main.rs @@ -16,10 +16,10 @@ fn main() -> anyhow::Result<()> { let witness: VecFelt252 = serde_json::from_str(&parsed.witness.to_string()).unwrap(); let proof = chain!( - config.to_vec(), - public_input.to_vec(), - unsent_commitment.to_vec(), - witness.to_vec() + config.into_iter(), + public_input.into_iter(), + unsent_commitment.into_iter(), + witness.into_iter() ) .collect_vec(); diff --git a/fact_registry/.tool-versions b/fact_registry/.tool-versions deleted file mode 100644 index 4267afd09..000000000 --- a/fact_registry/.tool-versions +++ /dev/null @@ -1,2 +0,0 @@ -scarb 2.4.4 -starknet-foundry 0.16.0 diff --git a/fact_registry/Scarb.toml b/fact_registry/Scarb.toml index b9a8f247f..12cf82e32 100644 --- a/fact_registry/Scarb.toml +++ b/fact_registry/Scarb.toml @@ -7,13 +7,8 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.16.0" } -starknet = "2.4.4" +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.19.0" } +starknet = "2.6.3" [[target.starknet-contract]] -casm = true - -[tool.sncast.testnet] -account = "testnet-sepolia" -accounts-file = "~/.starknet_accounts/starknet_open_zeppelin_accounts.json" -url = "https://free-rpc.nethermind.io/sepolia-juno/v0_6" +casm = true \ No newline at end of file diff --git a/fact_registry/snfoundry.toml b/fact_registry/snfoundry.toml index 08fcc600f..96b5143d4 100644 --- a/fact_registry/snfoundry.toml +++ b/fact_registry/snfoundry.toml @@ -1,4 +1,4 @@ [sncast.testnet] account = "testnet-sepolia" accounts-file = "~/.starknet_accounts/starknet_open_zeppelin_accounts.json" -url = "https://free-rpc.nethermind.io/sepolia-juno/v0_6" \ No newline at end of file +url = "https://free-rpc.nethermind.io/sepolia-juno/v0_7" \ No newline at end of file diff --git a/runner/src/main.rs b/runner/src/main.rs index 5c81a6139..2a3299275 100644 --- a/runner/src/main.rs +++ b/runner/src/main.rs @@ -35,10 +35,10 @@ fn main() -> anyhow::Result<()> { let witness: VecFelt252 = serde_json::from_str(&parsed.witness.to_string()).unwrap(); let proof = chain!( - config.to_vec(), - public_input.to_vec(), - unsent_commitment.to_vec(), - witness.to_vec() + config.into_iter(), + public_input.into_iter(), + unsent_commitment.into_iter(), + witness.into_iter() ) .collect_vec(); @@ -58,7 +58,7 @@ fn main() -> anyhow::Result<()> { let result = runner .run_function_with_starknet_context( func, - &[Arg::Array(proof.to_vec())], + &[Arg::Array(proof.into_iter().map(Arg::Value).collect_vec())], Some(u32::MAX as usize), Default::default(), ) diff --git a/runner/src/vec252.rs b/runner/src/vec252.rs index 33444d891..0321a251d 100644 --- a/runner/src/vec252.rs +++ b/runner/src/vec252.rs @@ -38,6 +38,15 @@ impl VecFelt252 { } } +impl IntoIterator for VecFelt252 { + type Item = Felt252; + type IntoIter = std::vec::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } +} + impl Deref for VecFelt252 { type Target = Vec; fn deref(&self) -> &Self::Target { From 56244d123e822011cb250061f4ff9b64e605a24f Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 20 Mar 2024 11:38:18 +0100 Subject: [PATCH 05/29] starknet foundry rpc v0_7 --- examples/starknet/Scarb.toml | 1 - fact_registry/Scarb.toml | 1 - 2 files changed, 2 deletions(-) diff --git a/examples/starknet/Scarb.toml b/examples/starknet/Scarb.toml index 4e3243750..d3d9521f8 100644 --- a/examples/starknet/Scarb.toml +++ b/examples/starknet/Scarb.toml @@ -8,7 +8,6 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.19.0" } -starknet = "2.6.3" [[target.starknet-contract]] casm = true \ No newline at end of file diff --git a/fact_registry/Scarb.toml b/fact_registry/Scarb.toml index 12cf82e32..2ed711232 100644 --- a/fact_registry/Scarb.toml +++ b/fact_registry/Scarb.toml @@ -8,7 +8,6 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.19.0" } -starknet = "2.6.3" [[target.starknet-contract]] casm = true \ No newline at end of file From 121cf7e329ff968fb2099174564424c98fd4af0a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 20 Mar 2024 16:05:59 +0100 Subject: [PATCH 06/29] newest snfoundry tool version --- .tool-versions | 4 ++-- examples/starknet/Scarb.toml | 2 +- fact_registry/Scarb.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.tool-versions b/.tool-versions index 19f91b24c..74d7c43f9 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -scarb nightly-2024-03-16 -starknet-foundry 0.19.0 +scarb 2.6.4 +starknet-foundry 0.20.0 diff --git a/examples/starknet/Scarb.toml b/examples/starknet/Scarb.toml index d3d9521f8..28020e3e1 100644 --- a/examples/starknet/Scarb.toml +++ b/examples/starknet/Scarb.toml @@ -7,7 +7,7 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.19.0" } +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.20.0" } [[target.starknet-contract]] casm = true \ No newline at end of file diff --git a/fact_registry/Scarb.toml b/fact_registry/Scarb.toml index 2ed711232..b0c4da433 100644 --- a/fact_registry/Scarb.toml +++ b/fact_registry/Scarb.toml @@ -7,7 +7,7 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.19.0" } +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.20.0" } [[target.starknet-contract]] casm = true \ No newline at end of file From 2751e4fddec692fa0a730dc48023c64acba0df8c Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 20 Mar 2024 18:14:27 +0100 Subject: [PATCH 07/29] nightly scarb version --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 74d7c43f9..827977941 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -scarb 2.6.4 +scarb nightly-2024-03-16 starknet-foundry 0.20.0 From d79f4a1a0b58f68b9306294e12063b214990b5d7 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 20 Mar 2024 18:18:54 +0100 Subject: [PATCH 08/29] starknet with keccak example proof --- .../starknet_with_keccak/example_proof.json | 1995 +++++++++++++++++ test_layouts.py | 2 +- 2 files changed, 1996 insertions(+), 1 deletion(-) create mode 100644 examples/proofs/starknet_with_keccak/example_proof.json diff --git a/examples/proofs/starknet_with_keccak/example_proof.json b/examples/proofs/starknet_with_keccak/example_proof.json new file mode 100644 index 000000000..3f6df4c19 --- /dev/null +++ b/examples/proofs/starknet_with_keccak/example_proof.json @@ -0,0 +1,1995 @@ +{ + "annotations" : + [ + "title cpu air Proof Protocol", + "", + "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x102abbf5de5bf0535a5092db9b5dda283c526e2accf12335dd7d13873502eaa)", + "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x39717e203a849c231e6c7f3168f6abff568df561ca1f60be082f3ed6cd12567)", + "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x1cc753221ecc5287cc018d2fa92f4ed457bc49fdb0156e5d27a53c68c135fa8)", + "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x21f9660b306ec7ccca954e08b2d9761b9cafdc99c2c8699dc7800316e91244b)", + "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0xc141e420405d281a1be136a78411708303c525f046c94104518b4b87c6853e)", + "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x3f07a7a310fe496d30994a53fe767b636eb031fb145691142b01cb06a6e3494)", + "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x61995f1099a05728a688f2aa173b08c7c34b26c264b2c3fcb964c61d59dc430)", + "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x2225ffa50048d77753c64a9fbb14f4721601e6676c3dab39d1ccac6cffc72a0)", + "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x3a9b27fd99db4d1583801995ff4fa3652c7fc0eed40c0633f92e108a78733d4)", + "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x7d6eac1b64359f0700eee952cbbf1bab456384f46bbd42c39ec629d1a6130c0)", + "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x2eb77282da60ce18a853b09863df1afd21a9c722bd603383e14dc0e320be321)", + "P->V[96:23648]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0x3774fbfcb825ab6939205607c835d9994171347487a27dc3d7aa09577d2fb9f, 0x3b7a10e1eebea9f47aea1ae38fb6197e4025666ece1b4adbd57d43b908175eb, 0x633b87fe847cc10ef459f0af708ed0e30766596f4f44a823c7bb07cd0173582, 0x6d5da06d9cd12e65c4759a525a8c1b70883a9e4e63eccfefef59d6273e1f9f6, 0x94d9d7d3b4d66ea860579a0227f0f9f9bb12e95afbec0072e1ae20e1ca976, 0x6943033d5dbc68acc280c7400e4e364a2ee1db8fa1ac4827c2ca3f429f89888, 0x708c8ae3ec4a30541ad4081d0e63a99f9d6fd5e3d8604a422e7bc0236430ff, 0x6ea2d4a02cbedf4f549ca17543eac1b5cc4cc187853c12f337147589cd679d0, 0x3b01db969258df8384b1406d4177e1c483999ea2b535128b1e4cab28afdc44d, 0x39b7dcba6bf03edc962c038e73000291dd728b957ff1cda1071e4f88276b883, 0x79bdf6b906e393e1f8cf20f38471a8a64537648ffdac4b12ce5aec9a9604636, 0x6ca4d86d647533cca9ec6fe81a9649be58329bdc69da0631d5b30e61685901d, 0x316e45f8428a77b6f3072fb3a4edef45eba76e022b4ba03152a845570df41bf, 0x4ace739ff3120a5d222e42137c2142b7c9cabc20a856b837d470c5b8df23892, 0xafed394829900d4bd801db59d2e986dfcf660acf0147e5de23522350f5761, 0x57c20ef70cb7841f0594d52859f5b9fd7d425ada0798e9ac786a063fdc7f4d2, 0x2c75303a329a0e2ee6a944f77ddb7ce7db0c3c802174bc13bc5a89d901a317a, 0x201668bc20fd86aacb62955c4bccec7bb9f86be3c85891411a3690c3fab10ab, 0x1bb261d0518f8408de922e68302d3dba3aba0b6297e5a62610f77202ee632e3, 0x48c45bb82ea80b5d0067811b07b48e026bcda60346de22cc66fb51f781432a2, 0x4a0b023e55662028baf68428c3857e57f183ed40e37d86a70d9ed33ec50e5eb, 0x7874bfc6fa3615c23f338d216069c5279c0c783511c62a853d96333fc2e3535, 0xab8ee2a887cc4cd8e7ad5623d13a534e2b9c3de54eb927ad9c0d3fae6cc11e, 0x2f7a2e7541e87b72189d4c83effe142f6003edce59f8dd665b9d1a4d96a1f04, 0x1b28c9f81026b7e765d0c97232043e996f861114cb682917f15967b6d20650d, 0x48dc59469859e48e3fd2632a9efef9f1dd1c25a55104e5e8ffa87e8950464c2, 0x422b1d8f3f684f8a2d5d6ecf5cf9645a132665bd8a2296b0faf1a28b5a0faec, 0x3c755edba09b825a7b79e71aff9d1c8dce58e148236ddc460ad1f2587b4852a, 0x19beb7d34c4b3f98a33c4bcc1e90bd98001f0f8c334d7b6924d1ce301747b52, 0x44df84d9b17baf16ac87874f1226634c8aba3159afc6c2ebf18605204456c9c, 0x115c36e7c17ac5ae17c84dd1eda627291e48d1cbcd78c8475fa64ca07db21b5, 0x27e6e4033087b868f68752eee75b5b57814f6371f73e8ac340a500949401a0, 0x58b371082399ea4925b3690dad64e261984d482fce779f45f301ef66dce7324, 0x5a6242058d387bb970c045a1494464104c5f5795466ff08e99825fa3995f2c1, 0x5c5fc49c2d4eaaa61be56431c201d77bd70ecc9d52999b116f89b23e29ef9bb, 0x71d3f6cec49dedda62894271bd27c0859c37545e63da2a79901f72fc4ade3ab, 0x475262f0584dd6ab7a5e1bbb82675d7137e1ff7f7620c0d0569ad7d18e14cf6, 0x729bebdae9ff2b1b8a5a9d9d8e1356d015d4da4733949941002e795bd22d365, 0x65fc844aed72a38962207ed325f065d119d0eb19a971d41a26df5adcfddb60, 0x7d22da8bf1b46bc48a80360dbbbc0e251d6220fcd6d7a2c14b032c4d7b183da, 0x151753d4ca769c1d629434fbca39a84bf14bc40f6d582f10b7e237ac4158d3c, 0x64684c3e9e1a27013cf53e3e05e8c02d0ad8eeea72c27dc4ecb57509e1904fc, 0x40e141627867ae765de19ccadb6cf9a8b5a32879f158a20894a4b1ada7f960d, 0x30ed404c48e5079f6babefa25330f9ce2bdf84407b68f029ec971d8c4c4bbfa, 0x4e282de68c36850fab573e444e01bf8fb9c96ed8810a09d74ea201492a9eb6d, 0x181d7f3ac23583f539ec8f7721d5722fb4df57b3495a65dfa499f8182e1f065, 0xa25865c86243edff51f3c037ab0f4fea8507952df19d2946dd191a65f1909, 0x22e73f2a8077f43a1f23e9ea93a1aa5710d39455634e528c66469f5e4cc9c27, 0x53d6698446747c7197a44f52d10c2c576b9522aec26e7c1d2bd48c0f69fd478, 0x25626c883750d3c2947fda47c4bf1f73f1a3a8d9ca8d6c3ce4a676af6d14898, 0x1d7d7b0cc05927a27d4facea0c313b87bdecb31174762399ea81e4dd0c3143c, 0x55777750257ad532bf0e956c503057fac35970073e24d86faf423af6dd2f7ff, 0x4a54a60ff8a567060a0d6b25e23081ed687ff09e16dc024e24d5b1dca0485d3, 0x28dffc9c869e69b40459e62ee5b0b801f32cd4d16951ffce7e5e8cc53c82be6, 0x592b4e7936b0fa93c48c752e394a517132fac286d21ecb88da2610fdabaf097, 0x761cf404241c7a955366e681402226be6d67c55ecb2b09c833489a1f1d995c8, 0x299afdb5156bc71ee03b5a297698d436f3e893543c0c7262e137b4609f68ed0, 0x623ce554c971055b3383dce07a54d48af681193338cb25dd4bad70af0f18c55, 0x36b0a39c13a225bfff4c18d7690ee66e6181c2de6bad19566bcd91028f4b477, 0x3dc630e7836da2b4cdb42b04c1445d561c675949d28f57dc64485c2cf08214e, 0x4b4172c581892ea91053e31833b240d2beb3ad695ac6162a7e1dd779ae9e0cc, 0x29397369ed2c19fbaa490195cc284d0ba52f543f11f50474d5f247cce0cb2a0, 0x54cecb5a7590e80a9c5237623fedf64084a0acc72d2adaaf9fa772513ba5d4b, 0x27ae545be315cefe10468bf349b25e8aefa8c37afe27906e12a8408d48e1e2a, 0x3bd88c1cd37c936936c9b4ad953be37e75b46c930a98f41a04eb69228918270, 0x548da3ead36fcc787cc9cff4ba545d3b8bcf76d08765d370e44f8dcf5fb74d0, 0x7e8bb4bb0d8ca793612570f836f595546eb0762e585c358f594e57d7f19e6e8, 0x40ef852eff44b4d839ed38a03bd09062cb24c5f6e052f6564990df4004cbd3c, 0x4a7a2899364947ef395bdad229d7b08eccffb1a0ce0a983116e33daec2773f5, 0x5604c6e8a782f915fcbb60dc78b6160c1e5e11b166d1caeb9648b9ede0a84f, 0x1d0ac45fd54824f1288b853212cfdc8343a82a25aecc3491f7bafe8e3bb95c0, 0x3585df76db59a3ad84942a9fcd7c8c7145a62e3099e57c260b44de823592c44, 0x6772537ce3f56993526e01ef20a38466251793011acb65260e9b9adbaa83106, 0x6fd55e449a47da263cd75f4b310f1e870e75e3decfbb559d15e89bca4e9a8fb, 0x5de94234ed81ea88951bd3ae06b01664096a952604e8ac53503ed97d56aed, 0x51551d9634eea64257ab41943ed990373fef7eaf6e07737fbcc083cb098ef10, 0x30322bb2a089a62ba798a8708929e6ffc8cbdce7302268db55ce0badadb840e, 0x796a7e41d356330f5971a5e00bd9c5bd1be07d28ca8795f307dc43e30301c00, 0x4f5f79a2cd6c56da0d104d6ccffa7a793afd71d5ca1ab0139854f2cddd5a2b6, 0x17168dfcc3125652c3cca6891a926d6781dcd71650a44de15aed843af877210, 0x5438e10b9e3bc66de80f7c77fe51a0f8a2e784024d99cbc236b3b35ec21cf8d, 0x700a5952f692322ebeb6c82de4699ba1a6aba7eaf60f056b193d99424976c5f, 0x478ea22a206b990cc4d8b510a8fd6f25de75c2fe71fbc1e006113ad16ecca61, 0x522d1827f78e1b46f9851002aff204bbca7f91c591ccf3ded38d38663f543d6, 0xc4ab9a204daae0b30073c41cb51989553c41aed9ad0337e54dafceeb9405e3, 0x5e9e58420e6059cf86aef4389eeeace5de59a3b99ec00e858a6a4d25a3018f, 0x5c3cfd8c172a46e36d100112a5cd91d33ac903e19d506555887792e34af5eb1, 0x2dcbc5fbf969f35b68911d47d34ce6ee496b48e23bf8bae852f96d8780f073c, 0x6394c20e7060e0c3ce0bf11fe1818fc11e23c2bc42468125fe121db29524ea2, 0x6d111385f5d8727fca2173d3a1eb22594aaa82d9d411b73ddf9dd2e2c7f2857, 0x5d5e5b6ba071309d169a469183991bf594258e1a27cd90e2af24686772851c9, 0x36fd3461cde45a568eee534fca3336ec4cddb646d80b012e8c9c34ac037a4fc, 0x58a601fc4a3b1789ac0e524de8837a2c7b5dc5c816092ccfd9bc4eeb6dda342, 0x326e15d17ae4e532add334abf02f6cc920956b185210b01e3771fcb3c6bb79a, 0x8f4b893e434b7a0aa3909751f6ff4dadc69127f2931b6865379e9ef76deba3, 0x25269ab8b3ffaf0da30b9c29b603853489fd38b009310c1ff3c52d0b2cb6568, 0x43b7d963c24383642b403a87fe1edbc9621fa776acfccbc1451cb11a70190e1, 0x1fb370f287e01b00b9cf76284913f851b0be2021823971ebd1a203903695a08, 0x41b80902d48856818a1e258d396613d139c778a82930b2ef16a8799e2a4cd9a, 0x1d2c4ff4ac26ff5bd98e6979bc883a6385b858e13c0320022aa47f51ac87628, 0x6ab22d1e9fd44cfff4ef0521cfa5b9c5d1a40bf7f1e33df85846a887015430e, 0x2480e24ca80fd427c4f18edb741830cb9f8fc7a0588830dbc32d4fa9589a4fc, 0x34ecfc29dbb25d3ad6fe4a30104ba164023dd3dec5d31ec80e0d590c9610a9c, 0x7a5c3ba022f371389f34c4d29e7a732f31674cb9c1656b4d2dcd4ff43544e78, 0x7161134197600d71844d319dafb18e88b74be3ebc5cf8f4118f3d0782a67faf, 0x4117aad40883848b53f9437a968924b1eb08dacddaf50b6d390290b4c0b2811, 0x7cfec1604c3ebcd78ae48480eb7691728a560e408771e54046c3a08daedfda8, 0x769ebd1690bb8f4cef7333d42c098c5613df3ad42c4387b8e5a22bc9f41b110, 0x4201c88019f52c1b7e7081915e4cacc36bf6167661e0d9e0af3b9283789f191, 0x6961a5d6ab826c43eda0a040d254b3008a4764f82b15c989ebdd67a0f01200f, 0x5447a7b7d01abd8299f19403c4f8c77b620ba638d771605e1f5f0a28fee5d49, 0x60d1a7fb273be9b1165f0aa0393f8b3d552f67b3124d085cb12e36041d2d026, 0x45f619242fa80918951dda8cb33d3a81b2b17ebf0807b40534b6ba9972bd93f, 0x3a1b205da6fbf6529c90fa6194cce8d1514622337d2fa688eefb205eafc2741, 0x543711fee334e0bbebbfb0e0e0e4f5db07be12a1da5096144944aa5a78deb7d, 0x3c1bb743247eb1f9656055c22f483b685aa72c7d9db0850d4b13a23198d70b2, 0x6e99aa4b7b90ba079b12c753470e188b2f363861b028801687513d7f89dd5c7, 0x3f1971572da917432e3203dc200cc5d6c615b46127f7f811db75fd06a3c3eae, 0x31d2076cf9ae91bd187b9d23254f050d88a31f0da6cde4ef7f5b6216601129c, 0x4f87280d3364a6a0504eca4338bceda490cdc684ee5a3a5057e736e7ebc31c7, 0xfa91ce44c46685f905b458b347085dc4021d1345b1292f1fd60c794ee00afb, 0x1971731939b8f14e025c8acc358af3506a4326a6f94b1adc512889bec084e93, 0x3786e5c993b2be41ca68d4a2892a2d351937ac3f8bf9b64d5645fd4668593cc, 0x3cbd9f3d0532242968d2c0da2282597baa55012892728bed76fa9bccf0ff056, 0x341701d07e74ee7b4afef515968c90fa7b0f4752f30159320e72866d671d956, 0x1de0296f4df6e8983118e83701528bb62bf564dd99bb554a927ffea29f31137, 0x32b214f359f0ca0da6e6e90df18ea5a40b65a5fc1ac41f095fbfd5501770cda, 0x2d7d5f88b7050425b7bfd8313a400ecfe6cb6b08c8af1cfe30aab4b6a6db079, 0x775c0e20eef309f2a29fd0ab29571c53a3c40b0b5367e02367c25414dbe077d, 0x52f7cc239e356c7e5d7bd1f1b50b77d4f699a21183b62d1d0724bd3ef645ef9, 0x7b8c4e07bc8e963a51bb885b3459889b24c65b728dde92420c0624af1d583b2, 0x23680e937dffc71fda47a9cf9d8ac1d419d0fb4e95d3818be5e878c4af2940c, 0xf1c0ca5e64eeae8f08f190ba8034d9f66b073e65bae5fe4ada6aaab5d7985e, 0x7605c124e5655f1814023b90265cc72d5645feed1195ad52cd018c6a94d3c6a, 0x50ddbd051d8993fd70c94597cae2781ae00009b3c6f2304aa1cda3d2c549fbf, 0x2a6d271c58589d059b1cf97ae5e03d73f54e80f2170746e803eb83030c84fc4, 0x74d8433b50f5ac910824000daf23a0b7d3a3b7f9eb3068d3781759016665be, 0x2c3b772da6f3f00b02ae7c9a5099f97466c6dae6a06f8a05863719828ece83a, 0x27f452d83bf6b9b1fe4edc13fb11406c8dbb4c8ba1463001be22400f58079d6, 0x3b5e20ceddf7ed960f1bd69a4e058471657ee0c286c3d6630797d5f868a4180, 0x3ae4403d1f2d297958eb95e5f7ae71187bbd0799177c8402659994b51709de5, 0x2ff2939c2969cd4c7d9bec28b10a582a3aecfaed916b68c9380296392a4cb4a, 0x7a888ee9e72341ab2f622aeb7b0c56bab6cd58ac4127a4fa43148db6098bdc7, 0x60fcb2b7adf9784ed068497b3b1e625b5fc88a662c346cae8f42b0e6612e482, 0xaa7b01a907b5c1679074fe810c138457951b1f80aa35510652324ce572fbe9, 0x1fbb638a1b4031e1347365ec83e4b2c518e15a005b7301c6f3abbaf9f97d9ec, 0x760550b8439c60989ecbd642d16698013ca311134675adcb2ad67fce30115be, 0x1e96506ecd21a72afa0d69c4ecc46685137a365870c76a85c113ad03da00233, 0x42148e1f93bbe0bc804a2371282a08b8d86cdaaa74c007c726a4bba39568bb9, 0x244af23d829de4cd4677524e399909cbc81527af304c8cb75e7395596930beb, 0x5053470905fd391febb720d71326138652ec75aceb7dd974fa11f7dd6e967ea, 0xc8ebe018d3824c80fa6b7724d65916732d0d90bffde0a0664230f55fd739cb, 0x237dadb084a75242e3762fb9b47617745354170788245a2529ecbab4fe59700, 0x56cc935d74a3bf593899e0beb7795973220661e558bfe8b2bc9bc26e6ca36a, 0x2f8865132e20fc910496b08baa0fb529b1fef1005b9d42e3a43122e3719ed36, 0x7cf00e266608d085acd24745780218c510d4d17cc74bf6caed78e42170a5846, 0x754e609022464bf99bd3b775c3b4744e3ca9189e8243db45c89dc2eab35fd7f, 0x2dc1562b63ba427f2c3188f177412fb714540f8fa73198adb93cb09825fa7ba, 0x7aea1c34b9bee35467a2eb8d41b336c662d8f26ac1ab7e30d613846c3a377fa, 0xce996e23662d7f44a7b3a5c58359ffdf96f892a7cd06ea1f13bf9786adf15, 0x6da1cfdf07493bd7050e915ed29024876d5b9813ad2d2aba415249b217d86c, 0x1345cd45db7805b89164ded5a9b027d83fcb43bb2afe266efe151d9d642e40d, 0x20c596dcae08249724b6ea6d1992ba7816b199fbff5ddfef9ab45086dcb3850, 0x1b83270e481c909a51c9e56733bbe647eea028c52ad6927096d9e66ae56b813, 0x315ca73197b6640587d841e320bf8f3acb64d7ebb0f81a66dfe4a9bb72e2c77, 0x470056c9ee33b54c847fee4743588ad782daef403c9b387f2de5f2834f96c5b, 0x5a1d731d6ff289af074715c5085db105b9a47696f5ffdd7a27d0d30d10ad9d2, 0x4690638405c678d85a25b329e8cc764895c3579e14b100bb494971af5aa3519, 0x5d4414c3c318670be2f26baa00ed0d0f5882c91ca1f9386d72ef118ecb53462, 0x232cd909938cc1729d83dd68da4c9c66ce51149aee904b7c4ad85797b767d82, 0x1c206c86737ba329810f8245b595e4dad0ca0297fe2be97c44730eb2e2f246f, 0x5bd3277b96a422b519c19808ce8fc2169bbaf9cee00dbbe9baad5e935bcfc55, 0x7ee1d855a70f5f4841548572edcd0495643126765299b225ddcf65fe223f38d, 0x13c6a06b1829ea1873d51af3b540a11d4ba5f77134b2ece4c2cd9404af6faf6, 0x76f3e30d03a299f6e0c7330b282b27c794cf57bd33581d0d58da9e3228893f3, 0x270bf4072f54a4ab3dfd4450c7f61392770b2cb97ebe5551bbea42eae1c4d6f, 0xc67fa77e6b305d25617cfde1b3b6c08963f46d54a662f2f5916de4a24e8b1f, 0x7ee6f4661ac2857e01f6035cdc84cf490a04430890aa971aa5e6e6f87e61cad, 0x1b101f061ee10828d7389f658be765f1eecd8ca352941f026840c203c5b6b38, 0x62761c35705c1b41e03022b0ac09570cd7eaca7a59d097bf5efaa8776aa56a5, 0xdd2a06620e106187007c758f07db00a71c5f48766bac4f5c03a47d339e99c1, 0x2aad32c2299fe41e83307bc827f5532ac7e1d6e8c4cb7379dc33aafaa56ea45, 0x642beb1bd86b6dbf554fede8b90846bb42a9b7a70270ae680cd4aa02ded7b52, 0x16edf2cc3062507ce3b39bee2a06d0cee01524ee6e0b5491fd6887f72bde80e, 0x5c143a3f370cfffbccd3d925931017d94b15c5c64c60e5ac930c59ff49045ef, 0x12b717cb278219dc55132285e6006905319f8eb8cf4708f2ad99548c7b8992, 0x7de990dc9e64801e533fff4ddcd52800d82868fe432c980f544b8e00acccd1a, 0x5d020b3e455cebedbdd4d455c3442f69dff86b2848033694c115d7285266e9c, 0x736fc99a1e9effa2f4ebe903b3fe2a5c47b55a00574a9296dc32b8d63dd95a0, 0x4df7d137dcd9da7a0f9b970b60780e68c1ef3f2df7c316ca4da119fd20ea444, 0x2d0e193196319583ff11dcb8ac02e86188163ad0f5453a3497f68165726a542, 0x3c96a219f959690a1e4ed1261f5537aaf16f091e75b29652edf6e4862901b5d, 0x5325749a0f2a8d9ff36bfb23eaca6c7ba82e90c10738465c43b243fc9545d36, 0x8ae49d307a13797a9606bb6355db5de0a72faed6c92fba70eb59c77a182f02, 0x2571ab1085e593670a4c02911da3591b969576fe98d854b4bf1400c078917cf, 0x5f06ab4a31ce86233d00b5ec2167a2f8c616e5a68a0733f388190dcbf60eb93, 0x4146f2f63c8e7a644ff91dd9bf274fa7caabb1fdaa7b4cc7e04669dfa1ef7c, 0x5af446dbfa271e0dfec613f9ad4e017838d1b7c497488e7d2915f238c69dce0, 0x71ed6c493bf1627ca3c4c1af942ca081baadd4bd27b74779c18b1bb995fbbb, 0x5c29d62ee52be97bd30f35ad465330cc5aeef632abdd8fef7cf0b8be0f8c623, 0x2470baa865d3738ca640888f7b9e9f970886c54770c0100821b562875e5424f, 0x2307922aa2bd63c8771cb8cdd3263916981f2962bdb93695fb1994b84b2b9fd, 0x73a74a7100f2fe5a3a8b7e2dbfdd7d457bab47346d6590c23fc5eab0e528afc, 0x6531107affa15d9b85a84e3f4f3e46aef02cfd985a4af877ea32b79584d7dad, 0x179e4541923f6debcdbdcf992bbad9e9a770dee8188d931d66ec3d747f568ce, 0x52081e0410c282e18a77a3f944a3f73509d7447473ae19707e67519ccb759dc, 0x41b23c97f922a0e07f0063f50589b6da01e0be974a1c4dc3cd326996b3e4eb2, 0x20cad7ba41e3aa65ecd6a7bc6d70f49cf0369bfa36705a870f98134d5822256, 0x5da8a2bf7adf3c65d879f43bd37891519da2de9caa6ffcc987a0da05c19db37, 0x6bd009ecfeea72693b7b308408d42dee95fb75e8e755b0fdcc26528c1ad2d6a, 0x5db452c7af8fc11d206cfce7dcfcbeaa38202a759568a22d35e5df013a9ca6, 0x75302a737b62dd619e988c991a530831f9a135f7b484718038b8b31cf80973e, 0x106768119d75e45df7f7896b63b124d6a6f56a24709690dcc21f9585dbb0ded, 0x5fd0d1a603f9376ff066df96cc30e729a37f01ab066aa2ba549c8999f6e4211, 0x549b8ef18fded03d9233c65b1386db33fe2b85bc6299cbd3097c88281d32500, 0x86e43cedf91d1808e287b2d24a3b6871f8b28af92b9c53d4de51d85a771b1, 0x31f273c1d3918ab911f906095e148b97ee480899d2e2edff61c002fed13f832, 0xb559f34c4d629e8e132fed566cfa01e221c8d6981fdd489c43f009796696c2, 0xb7e1379649603686a72d87adc7f279df45cd1070722ac561f62a1428e4e5b8, 0x4efbaa926ecf416074a15c50fb0a766ae9d13ed53f751ee6dba47322ff5d2ab, 0x33d7ec6dd21e77b836620a58b3069d8436404acaacaff40f16d623b4e629219, 0x453843b4c372c1ff89914700f6321f642d54ad244ae45ca80464f3adbdfa933, 0x195640223c6b25b0255ea8ba316deaaccd707842efbadddc3d2be2d01cba594, 0x4f81c4911b4dd01ed37cfae7d6f0c8998ef01ffd471e26daa3436392c2783c7, 0x61f32667eb5f637d4155fcc666e00823ab2a1c3b2d05278a245ff108057d296, 0x8ca0aefcd22682966acdf1ee930cfc7c3248977a5acd87ec3c4e0af3f8de2c, 0x32c486b2558e61c3229d473f725541bc448daaa3ef86283054166311f58c09b, 0x1313b22cfc81d80a3db7a170f21b4f314547a069259973872c85bfdc54acf09, 0x5af334fe90e382be0c499cf02b142d80a51e292efe9b569ccb4aa53ce09b151, 0x6f7a02360315dbf4fe6cb86eb23097b3ead6fbf141aba028fed44ff280a8c51, 0x6aeffe94d8ab8331ef90f153aa99834c0ad5a8984dbbdfff32d709cccfbed3c, 0x32576fa2a263f32b74b06515fd4bcfda2834c374ba5a21f51ab6304adb0843, 0x60c75cb1d097d45645c2a90be1904c1c70267c14a878dea6a0dd2eab9ab23d6, 0x47570aab8c25d9435bc4eaa8688b334f361597071d0a43fc09e275f63eb1f3a, 0xd1c3ad08facc41ab717970b0fee595cfb98e3c23919e91d606cd3a0fb1500d, 0x69825c43db784f77184f5b467cc39a85628a55301b6f21b575abfda968087ae, 0x157f2e594127edd331535ab29eecbaacb5f502cca18dc366ef20b205433cbda, 0x2a13b2ff1e34801b73cae6be2055c961f27b3648ec2475712d8b8401608fab, 0x570eef417afb76ae61d20ba4167fcbb61321e5992576c854930ec0b5cea40d0, 0x4b7ea9e6b7117ef4374f6c708b40850a13ea23efebcdf3192140ed7fa2cbbfa, 0x1d5aa9448c2946dc6b440faee45fd13bea521da4219261bdadab1781ed2d3d8, 0x42c5262e133f6284481735d93c47965c8715036407de541176e2e0113526382, 0x791ab7aeca47e6d9b2d68b877c0e31e8e534b53ef4610f021d11c9598791c3, 0x1d59c6ab44c42cde12c20c36c2d885525f0bfc729d620452ee363777370420e, 0xef9e0655bb5e73bb6c81ef8a22f5ecfabe450829f9ec86a674e009248f43bd, 0x49de7d324933ffb78918514de4d9529a42ebdaa75d811d883dd1d923e52322b, 0x52f9db5690777f58c3ea068d294ba6ad7550fbc28989daeb9aa1eb4031d3b62, 0x4499180c83f726403c8d8cf396746670cc4feeb6697049d5ff5460122bb52c3, 0x19831e21173b1d8a81cf62c2df7d857d05204f3b978bafd6984321b5356044b, 0x1a0bdb3fc0e65d231c8ff9952025ad3808d5ec5d352bf3441578b92de5bbaa, 0x1e9f386e25b07cc672e23b9df189fdd61e09fc310701226d52c8df2b954cfc7, 0x48d7623aca87b09e86eb67533077bbcccd9cae9b991aec03c74cc7ea43351ef, 0x449db277e7bb8b7ef0e8f4c28a6e7639ee7b8e7b715ccbf68c3b19b23236fa6, 0x3741cd56ba447360bff5eedd4db15997813ddd7549a8e8c9d8180bb70647980, 0xb056aaa3878a63c4760caf67c93e25118d9e30a83fd04878b8f748d181dd87, 0x52c3fe2921f70591f09f3d073321d741f7b5ea2cda2b4f34da90d1891de2abd, 0x4ed01da4be8cd8f10722077ef3a82912ce116eb5ca1c8f300bf73c8bb41c99c, 0x3cf85e3f58439292d4c4c3fea6adb97e65127361f2f7504f264251c3fea50a3, 0x26df6448a84781799f5dbef0058fb66ca0934fc46dd00f3df53f931043435a7, 0x5009ee9a53053f08c2b0a667392448f81e0db7027e1533cdda0a76e68d937b2, 0x13c3b9435709a70d282d129589826462f25d252ce719752df12f992e3475a78, 0x285404ab25463e374ea3a9b5e736a3ac2bd712bcd122f3e3fd09803e6b52b90, 0x11b6cbf05bb10e5500b720fbb461f92730dd34b7d7a862a427ab6f403bc1da7, 0x48b54e67eb975d39859fb3eec4342ef69b354a23b81d3bd9778307acdf0614e, 0x4e12f2185ea5fef2c9a70c65a007c84d277f67c6dfc04d2ee467f0a2fbf157a, 0x1ac614e6a6c60e7197f97b1d8f34f11f0479ba000f5bd06d340d26c71443199, 0x3d353bdf26e3219d08038e76b4e8f497727fe1296b39a0644c065ec7c88af65, 0x33bf50151ea73cbb70708ecda1a5b6c4c9e0f1bcd37f59c34763cfa5b2ed6c6, 0x7a72c5ed6898307ba18d3bb882dceab40afe16464a3d3bdbdd2c4fc825e5f78, 0x71137590970c4fddabe952377b161454736319c3326c5154a0cde85aadf49b3, 0x734cbb1d4f0328af99a911432f03697c8af74dd7765eca1a974ea054b79532f, 0xb7e0d6900d834f846badcbd00ce133031920e5654539d8dfe51b09a48422de, 0x2d8f9dd4671c98f4befc51a3c1e54760a13d90d666e002452924c3a3a30d668, 0x7ad8ce70f7eefea091ba39a411c33bb61c531ad22748aefca357481d50c5d82, 0x547ecfc6d88f276001dc200fc05934b36860147177cd46090667d1db982ec93, 0x3772a6b138773c3a55f0fe431b35c42e55d57ce6dc847f7aa6e722e7e0b79c, 0x3a98abe332dc66ee536cae6123f8fcd813938ef2be246f0601b832c47c44e29, 0x45a1d0404c0c05a310223c8ef7585704e2d7d348aad6ac5e45c84439bac1749, 0x2a8a0ec0254e29d7f41d8911fe739bd63a6d0993cf0e83ac5f4ba429d03c585, 0x4453ac5fcffa1c4787957dd6b6899e124ba7142cbf7311c9e0fba0239b13708, 0x5f2d984f3352830043f082212f778c5895439d5b6698eaa824a40ae852bdabd, 0x568bdd72a1432eb8fff6179c1eb4d53be9104fb1e80321ec820cda1e1315907, 0x4461e0b4dd6409b4c9976eee5d3cfcf6915802c39bfc61ccaa86884910c15cb, 0x3f1cb00cef07b2f6f7d835afa72826bc7ba7b3b5b1b510e50229bd53b822995, 0x3296364baf073201dc523c4fd83cba0438e2dee870b2094a80ccab34476559a, 0x1fedb326e34ee00f7a6090aa7cccef2ea9561c4425e12b5238fab993a86af08, 0x4ea900a02d0f2ac711c729176ad54b07333e6d2404373c6908eb6411cb83be9, 0x595f3a028688a58dfb217eda6e1fe461e308a10aade43aff0bf77c10038a345, 0x42a89963d206a2ccb1fab0026b80795b9d375ec4acd83b4b6415583d207d6ee, 0x3c963969de161158a30beafa2f4287598547aa68250332314ad203c57dc24f, 0x4b070907618823af5fbda0c1008e6f99baedf0decc7d9d2952d659d09874f1a, 0x45d23556a5fb483d9543d34d539809bc241a51d2fe565fcacf3eb399313b9ab, 0x287531b2dc22637a0d76c7ad7dc909fc2ad3ecb64ceaac58675f47c8076ed3a, 0x714449e802d3724b101a385e775eac041a04028e635e2e4157ee391459bc7f0, 0x7356b8d3530290ec0fed41e769273ac4c4f10fa3ab215078bc2560f67c18ac, 0x3f01fbfcc8232a21281aa4c361746b576b599b805292f2375c67a163f28fc84, 0x185680474620235d9d9b9fc1b401b63e8929b2673c540dc70be80a5adae7760, 0x751a5bce54e893b485d053d2503c4a38f1517b6c03e7829980e8d3a85afab95, 0xfad1aa798d8804b09e9e234882960e0ffcdd8e5e856806a601a17331010fea, 0x5ccfb8c0b23985c12fa188e16e16bbb0f3355e14a674c6fa8802d0bf1e0f740, 0x3ea0a9901bb0627c1626561ef3bc2bb585440a59ca4bce203cc16f49f724ce, 0xe8ee22d042f5468c8007679bc27f4f5e1d756b3670e9be3a942d65ece5b58d, 0x29459e773f9d87a1e8526f1c437730e2d2b8f97bba8a494b1f5cc32ffe513d3, 0x743c01f28efd92b77fa618b2d6cd89fa5837ad133c96efae0c8f0b4e8fbbfaf, 0x4132acf5d26129b1355684568f34748312d724d1e98f72a62769e92b7f863c7, 0x2ad3fda8be029f4f8e5ff4f42a1ee8b203e13f9165aef7e7020ea09ee2ecc6f, 0x23d4a048bc682a189addbbec5535191d70c9a12c3a39d57257b4f236ff07067, 0x477776490ee1056aa50a38301aaa4561649f7512fc139a2860c0b96e6a313b3, 0x2aa74628a45b4e1fe464676c3dd0843f0e70b7c948688365c1fee2a67393fa6, 0x7712a69bde984e4869e4f653ad5b28c79728ae591935028f1a9c33bed775b2f, 0x56ae38d497993b8fc746960cea064e7b295a057bfb0962029a7e8de595a33ce, 0x5c7aac9446099999c7f394397bed38da60da5cdd26998deee47d6f0339c9820, 0x45135a05db4a2f838571449f0ba099a021499829c91bbf2a198bcb86413b51a, 0x286e24c5d5ef4edc0919b3e98ff3add3f5c3b3f7f2811e04b14c7cdba117f7, 0xcc34e334f1d70fafa32516c15b3a7aef62822eff9f33c4f296b838b4ed7c9a, 0x22889f876cab19e0c073720a0837e35d2e1e9640358e48318876c04158e4b9a, 0x6440ddf9d7cf1d815e5026406d7af26b4fb19b669c7f4284ae153ae7d88b540, 0x436e5f0c0d5ed840e286dd548ae4b862f89040ea2060096c1e4bb9541a68d7b, 0x514ba0e4e25082ce6c3fdca7df9e60c0fa8b6cc7f5e3e0ada0241a545b19a10, 0x7d6465bdd4732b12da72d1888da251a259a9dbbb7e26c8c68df3efa735998b1, 0x42498cd8e2c9683a5a7b769b73fa0eea3b6a6ca39ab7ddd2b4ea8f49b5cb3c4, 0x215d600cf8d8c25cf4240f1abcd7735c84439b6cc5189782905ae38946e6cfd, 0x410c193ab84d4048c66e6afa448195a86d0550f3b73547c27f41932e47abd4b, 0x7c79ab855d20442688d3ba4aa38e3bf876514b254f99fad537eb466b616465c, 0x7aa429decb0f9593db1bc6733c31fd05a13e4c1be3117132f8c1c6b318af178, 0x7df59aaae6a94adfc097b8c80ebaae19428e19ee9d1bba069c89035d4be38e, 0xab138252ab6bd58703e18800ce1d1f23a42ebfaf360a21d521091006442937, 0x1c313c1eaa71c04c7affa1e6ef89700aa8f1b9ce18ab4cd3b7b878a181e0dcd, 0x6cbc75bb65a852e4b217d1924feca02fdd90a48c43f131359d21002448238c8, 0x5020e30e12c2f22bbdc575377e5c4c6b170efcece8b8a567cf430ec7b9d5d41, 0x438775125a1db0607cb735f51dafcae98c7cde39ba93113de4f317f379fb762, 0x631a257e70e8ac015190ae6284d30bf6373258bfd6a46061aecc4bde6cabcb8, 0x6dcae8ac1215d7b389f38267ef9d85bc49aa762bb4a505ab1532503f7a5572c, 0x6309cad6f783392cf0fc5902017d638fc596bca1348062a48378238d5dee85d, 0x620ea0e4b3c2b83dd3382c0032565f314da86f347abdacaadf613907d1dce25, 0x6337b14bb273b00edc6d81ada0c06818ded87971d2a38d052e7480005e4d844, 0xf61b73641c51cf2c4ec6c52d4f25b9f2f25b30a1abc586fa392d014afa2a27, 0x63267c08c9ca8bd2547c96c6435b5b511bec40a89c217e2fd0190a84c88f6c3, 0x1d162b116b053f16d0dd6c691ba7df9cd1b3b2aa333d0042b52149752ed3c2a, 0x2ba904f7146d6ccfecc47838374b7d8c6e70a301e24fc9811adbf15f694fc3d, 0x2a75891bee85c9db75346db86cbc46bc7519118d4c42f05548cca40eb86d762, 0x59b30f3f773d0757d2120e9541cd390c311bb2efb4293989f2bb47e269769a2, 0x4e18676f36a2534dce5591b1ad4673a25948f238600b57e59788e8c40288e99, 0x1e6fe5f88d2422138c95937633a54c0b6596d7eae9c3874e8a4132ca01d8b9a, 0x54388ff3bbd93de0bcc39f0947abf7b66ec473d0e5d4f12a03e85d043377791, 0x5d52781a2c8aa5b5d9a985aba824738cc93e1d8c674fdb1b561f1dc5eb2c6aa, 0x1ca94f5eb51883db0f2c8e8c5616604ae7dd195a5e999cf2f299fc127e67e03, 0x47f896e9b3244dbea67ffd607a1e1d7ccc8fd72e7f1c81a6b09522c3d33d1b2, 0x208e93d403b04fce176d0c8c8e51b98b87b2041b4a64e7136d8bc891bf06c37, 0x583f9176a056b72813dbada9d117920c61073a4b8c9c0dd614fe437a4f05c64, 0x3968aeed2ccb6e3c854ec850001941a29e29d35c7c84c9ad5ef2cc5c7f78c3f, 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30bef028cd674ca604152fc0292b51891f1cf668bbf6b1aaf6dbc1588a773dd, 0x3c69b17b0c8b66fdefdf992e299fc6d082737941256069e5d0994198a59edf7, 0x40257423996a60ca77207ea13a5138e4c2586e10faf3dd414c79a16708ed72, 0x7cb16ed3b4b88ce0c24b7b1d26b960416310328840295a7a4204682481da04c, 0x388a31f2fa7d4405c6d326975f254edd565967ab5cc61d48e959dd3f6962fce, 0x72d736c88affd888fabd0688cb759fd88ac0ffd6ef8bfddb26f2fcddc9b3fe3, 0x7adace747b5ab974e3a133533fb71dd4f04ffa0210d3e6b345d21b348cebc8f, 0x1f0817dddebcc1d76b41a57e964141b15d6ac42265b8045b9e01de5c9cdda20, 0x112a24a46d7f7bef2a4d63d9b375ab56bce421f29f8de2dc3eb27efcf2c4115, 0x205bbc1ce406e2a4a99410e3fad8e08082a8853ba816b54f5dda656bd1123bc, 0x4d3f548568cbd885a1ac2e803d67336970a037cd3fa86befea7b1b624181556, 0x261161144b60ae3cf99af657f146be12908d91f8f1941d092513b5c31757142, 0x7dc45ff43711e91ed2510d588bde88c3092fdaf5b20902d6a3694f1bbbb932f, 0x23c180b8b9c33dd02db4d5312442676f763ee7a9838f6d847b5a6cb963f1ea9, 0x31bd7257d58dfd34c1a92d12a733c1581fc8a55bd8a3c57daac814b8744e96a, 0x427fe5f4072bd2a250bb21affe0443feb41efdc770fc03ddf9f2149edffc525, 0xe62d90e391a53ae513d93f2515f96549de1ffd4cf4c1e57aacf40ec67679a7, 0x7b1873aa7eb185b3a1e48ffaec62ad2ba56399d598cd4679e071c6236a05bb3, 0x285c4cdf6650aef74fdedd401909ee94a9d755f02245e76936faccb0b698d58, 0x2fcd93981dbe2c9bf344b7cefc90d49c2cfec44b274ea130c40a1702d97bac8, 0x543494c8192146321b1fa54fb57f35fd56f5a5ce8ccb1c91f1aa2ba319d3b54, 0x320bc18f6fd45e96f2935ca51ddd21d6d9897c2873fa85d302204ef1431aefa, 0x260a61bbf34ec13c52db59be47227d1f3a3a1431b25e32d941d84ce1cfda17a, 0x1c59821533d3b0fed8f62cdd0f83b1d2b46936b3a8603feda0df11d00d36fcf, 0x750026e5b30269a89069d42191eabd15c1907fa3ebfe907af163cec1d4a2814, 0x11c74c01fdfb8726f94bc57b037729945a873376f703c5a399ab7d202d7a3df, 0x334f86b26c49fc097f3721332bd9cb3a9a61c376206caedca17dacc1dffcb74, 0x7cea4c3a78fc3aca0410e9832af7ba09dc59eec73a3e1b7679fa6514ed690b1, 0x63a8ce1462292148a7a58c00044cd90e9f00e36055765e0a826ee53f16df0eb, 0x243d83cf584112c4099a38d0d201537bb15fc1a8a87b22ce74047fe6d605584, 0x6899fdd3961d3602154ef1e94bcdbfc6539a31b8fdf935e168cc5d0a159275e, 0x213b0d400ca65c7f65dbfe52f394817d54219507f72f622c0a98ffbd778039b, 0x3b9bf0c6b136b9e1cc6ee8caf63d7282cd6d26eccca809bb9a410c1eaa3b6d8, 0x47eafc8081ac6dfab08ffcfa4130613072a8bf1d1efdf600c884579eb807215, 0x2952e07160b463f4e48a8a4611a47f56329d38354dc45d41ac220013e8389c8, 0x79248a8241e9c5f1c7ffe2e1fbb8cadb4c762eee87ea45ea9a4b9cbdb3ce3d0, 0x271c6942450e269434503e3e786969e66ba1550d711b9c66207cd8b751898f7, 0x6450bf32833f0c1b7613fe3cac97144fd0ee966c2073b24351cc851fc224027, 0x7766e81de9daa7c388918814158e072bcebfc0bbdf6f81d9e2787bab7512fdf, 0x45a616b084036b53e040f255aabce6801b04574b53817b39f0300226361f9c2, 0x194dbae97e6b4c888a34f8c7c064b25f608ca9f5db501e5ca398d7d821a9a2f, 0x506d9b07d416411fde95aca1c14445c0f0e3131a5c494d9aca2b4a36595e41c, 0x60b7bb2d6a0794f62f9576329eff9672d5fa512f4ba999441b3aeb278289b88, 0x7fae9257786bab6d92330283ff49f25e43199d297496c9a0e35fbf0db74c799, 0x6d5c1df4e50cdccecdfe079b64c379caab71536dd170ef7375754316baa373f, 0x4be7dbb4361129902689aead6821116ae2d7be64b7c64c5f9366efb0c42d425, 0x51b9f50bad1ff203bce9b0b1944d554ecdf9876fd7bf8bc0ce5c0b66183585f, 0x44736faeeff1550b445e39d7c38251ec0a29b2a3cfb5f7a17442d17346cddaf, 0x75b33868fd5ceadf8cafff0cec5c65e6e925035f9e70b9d78ba570c6556c727, 0x3fb3227db501346e502ceacbf40214216b9f8072867e86408e21a16d3151876, 0x34b33961c0ef087ff679f7599b3ed003c148ca6454f1bd051952e756a508c3f, 0x19bf3b24786d403db8280b328956e10c0051cb59da3c5c4b6127035efd4c3a3, 0x41944b796c8b12877bcbf3613f63c9d7a5f721a73eb6edb21b2cbeafdfc9e09, 0x404d2a71450c6f3fbb6cb9441273300f6b25664601b041e21476822fbed5a74, 0x176d5e062a72f7709843ee6ba3d97053e53c1e4e9bd6e5c67a1f964b893ccde, 0x75daa808ac2cea710b908a73dfb9787ce8e748f8e60a933e55ad13b5e9f56bf, 0x55d5b83c3252e8ff2bd84a970bab725fb2fad9795b79e736cd8134f7eb7cb94, 0x3aa43fd85561427a32c69145cfbe92e7ced6a9c977aed381a236c8907ffc11d, 0x66924212b8fd0434e34930e9151979a5953e4efd71be849e8f7b6195868a970, 0x7ba966c4c489a3dccb0ab003c413e25f1209debaea6e4d3619d2b46dd3bb9ae, 0xb8b44a42414f136289be872e2dba10206db3e32ed748627a4673b09807f248, 0x776f71a133f923babe5ddce4f7ec9c0c278676ecf8743bb9b4b863420690171, 0x540349f2f7f9802584deda4cab302fe73c0408f66e9e1603b57f14017ffd564, 0x23ff6a77e137a495d13069819e80b6b63def739357c8e63f699b5aed285605, 0x1e57e9474ae7129e6ee43f6eaae1822a0c092414aedf93eeafda4d422c20c9b, 0x5c7d4f07614dc842d61746002528cc37d5156dadb6a792eb438ba669a47dbc6, 0x4494a754c04007bea88db64ceed69a9e7b23d23965997111b8758dafb9d2e8a, 0x1906a054ec3db8dbfc9cdda347ba0e2067232bfe17245547689ca0ed68d533c, 0x1bde0f79ba64ae58af15d7328add0aaf858f943f5458e25ad910d7774316df0, 0x411ece49dcb733c638d69948eba7cc67bd96aa2b43450ca618061bba129a118, 0x6d3ecc3adc9026e130d737762d591a39815f14ab3954d62630d7e9ad626bad9, 0x1be73dd89ee0861931734e895a0783fef5d28c584e3895524326351ab854d02, 0x2acb9d3ff875b349e72b25ba19807b61d9fb7bb5cef1f2c634021a348d03e56, 0x4a30d72f9bb3b8819524fdba27705b7ccf81c29fb664160282f028ee83df819, 0x641d96fb090c596f11809d69122ee39e2c85fd2e72191aab3d3c6e03bd2733f, 0x12d9add0881a1798b6b30373d890f161528adf4f38fe7ed17d530a4583463cc, 0x759f5510ff677365f27e5293b72eafee1337e24b4bd061ca5fe19a0e4adb7bc, 0x2cd32c9ad43f92ca1980123d688cc5e161520f89656a470767bce2750f36d45, 0x38bca28035e7ca862665ada2b5202809e94c1e22152f6e835172ae9f6922c4d, 0x3c7098cd87ea1fecd0b8d8fc64bad71592f9ee97956af599d0a14a9f8334b63, 0x94895a27b0a12cc0b76db4983f359f7e24a49856ba6faffa0b3bf3145a4c96, 0xe05354b66ce399d6aa09d6b651de2814ef277d6dd1bae9183403a464e3b851, 0x2f38c5583c63b246f839a4cb359ba45ee565091f4607d61e640f556c32f1bee, 0x48e8f6a804b6bddda6ecc8a92b4c2b0568296c29abdd2cdf4d4e43bb64e75b4, 0x46574f7caee879063ac8838ccea11cb5c7f922950c1497c4e63c1f74099424a, 0x3f48969818bc04ab4fac7dbf4e90367cb2180c84a8a9e13b2364ed513f3b6cc, 0x2a582319824108a712092318926ec68d293cbf6bf285fe41376ff9e8171e61c, 0xab0baf317e003748fbe07392b9ed9a771ce75d86608d63cb4b4bedf67a80d2, 0xdc2caa1d21d1b80c0e1ce08b6afca26d006ea7af11ccc6b4b160d0049ab0b2, 0x5d2eb5db5c11359d5ee0f2c103927bd7ce32399e9b91152078f40403e036adc, 0x13a36d40b7c6ee3f731694563d7d95b3b36bce79eaeab0e9bea4865d1b7fe1b, 0x14c597956d593edfcdf040447264f6dfc13d73e5aa3e378a71761efdcc383b1, 0x5cb87ac9a6800fdf2f1e794e9aa1b647f3897f307be49da99535fa9ccbe4c2f, 0x173d732f6165e3d0d98e0b73c63fa41cf690b27384b8d099075a66e3146254b, 0x141e4563d41f542a48d85ec0aa7e2b3c666f74299511a00188574351c4ee432, 0x4f0873d6139149d02bc18b8ab70dd01cbf1ca9426af312c6ec4cdae4316da35, 0x1e4cd45e557eae25f4ecb012b7e6ef37650acefecd32af4c2b63f85cbfbc23f, 0x43401d397681899d77a564e472c71d324b3debe6c10c357bb99b84cacd2c181, 0x12860e5bc0a8c5edb40547a03bf65239b0a7deb1d1c382936f9f9f53768d84e, 0xd602cfcdaf7a39a57a76e80a2fb9a383f728376fff877fb55eb25430c8080c, 0x2e3d8e1dc614d8227128ed6493fef3ead7aa24d1073e6b6a0fbe435b6410363, 0x591126be408effc66983a0a8fc23b536ad251c80f81a088db83f8a6c0bc060e, 0x4c77e517131993dbbf141cc034e51306fec10bf7e2394add4c211348b269e2d, 0x36300adf4ddefcc34805bb3de76efd43e7f5780775df0734bbd1ff7e12d23e, 0x7d27706a1bdfbd9169bdd86cf73affc993844047d8c6aaaf6242cd80eeff98c, 0x7d4e8124031f3f397b420441e77fd5d73ad8ec51436aa9629d30e43d95ced79, 0x3123ff98e12afe709843d2d7e1684f509ed13c049ce4dd1f3bba51377f2bad5, 0x5843e1b6cdffd26e0e8345565e01995cdfdc4d48fa2b0d9cc8adb2d4ebcff53, 0x56839e604603482b573459839201582b74fc0e57441cf78ae814fb3360f49e3, 0x1e6e6fbf516c09a0af1fe9c14add6fc34c5dabbdb08231193029aed75b7288a, 0x6d17b440b05b3a8e8eb674f1e23df769f7b8c112f315f460eed8dc421650d6b, 0x54de998fe123e6118e2c99694dc5a8a79aff39d9de28777c43129001e989650, 0x7fae6d2ff6c841fea43d51b1e92d765e99484968163b261b921a3d6df5df9c8, 0x58e7ba11da424771bbcdd935b18278c6766bab40efee27dd0bee6cb0d501dde, 0x56a63f229d0d51c884e70b5799b95566c812b90fc3a98a4332e26166b6ef6ff, 0x76c5838a23399b68a5a19973eca4f70040b035f084023cbda18973ea031abcc, 0x494b807bca8c5b754f1ebbdbaa628bddefbd172546bb27e3941d8140a0fab37, 0x1c5b8b50853245abbef191a7141ba06c61c4260af11d93742056bd91a90f03f, 0xf69320b1571c9dd48934e55762c9776e549bd46dd15621cb45c4223d2cefb8, 0x564d0de6121d217e6a4f37a63dad7429fdcba9c6ea2c0e9591d78185581ab2f, 0x1d80518c5243cf6848f1bfecc7065b750883599dc84f7d387c1956c9d6fd8b6, 0x13e58792527d922492fb0441436e565325e75b2a3821d538969475aabec3d2f, 0x53894721930db5edaab7ff50ae36b94d09cf98eb9bb651e89e2a01aa3b16b60, 0x5fe734b75a07b6cd33a4499f53c7cdf341d309084e8a20a92e1390e17f5ce52, 0x473d7c1bca607b48692bee0c103eedb2e9159f7f1b63e1bdf28e996cb996627, 0x495c729b2e49cb5efe41e28518bfdb528d7e186e7ac402b04a66fda1a918960, 0x473a2d14fa5899e3a50993c3cd06ac451253621d3201be7a9875c2a550f58bf, 0x5760eb60da7f805ac82f97e5a1d164fd98e2f872b47cd65b1853f8acc02313e, 0x1d895eea6054513e3ceb0d456153617ee4e7dfd9ee86d94129c8cb8a8fd1b3d, 0x7a224576382c51594107b678739afcec6634b6d13280c509ae916ed913659f1, 0xd92402dee402d26c0deb55fd515951b3b930e13184b0993b82c5e9ed4e06ab, 0x5c3a45308ebf5ef8125ee55fb2a5024390922c1204c34de6a9d2f9ef1de8bee, 0xdfcb4dc8f592eb7139ecff391f75b6f21a0c8d4ab140845541043829b672b7, 0x7b35bc3bb323ba7bd8950d92f7d41dfa279260ac49ec3bfe81d80682fdd4876, 0x62f1140518f0db021e3ef1ced1ae1fbe33d8660d5e940bf578950563332b635, 0x7f8302103a040aaa4e4b874942125ae229d96db071654c7d57998a5705b80d3, 0x5df8f402a070ee16819b780a4b3de41f5837a9493e70d8dedfd1c1d5a6af5a7, 0x303fca237b8ad129617ff20ed70121587249876449a1faed0ff78d0c8059585, 0x34671aa5a74f32691278b89dd2eaf5b6154cb70c3866b87c07f049730da6f03, 0x6e03fcc3763e1879568af3ad453cd4a050c20ac1e86689596fe087d88548948, 0x2f94f8321f954dcededd9850e633e906c8acd08457b09afa3248b5c9708a6f2, 0x1c68240af49d0e65fdbdfa854e999a18b7aab12baca9e1758e00ea2208a345e, 0xa05c24ecdc6137f5953ed43c8764f5d09b486ecf0be46f66fc6fffcfd13b7f, 0x33b91c07d2445694f76a3ab8e64ad22bb5f962acec3c1cc6a26e2a5ac3987ac, 0x69253fd4a81777b992ea651bf3977246818eae8cd9571eddae958c772d14d12, 0x359e8e7fc7f356f95b2dcc9f27df51c0872f002b06c47a1057eba2878333027, 0x37c2eb61b1243ad6879ccd0655beb9907153c3e0134e70d099f442f6078c77e, 0x526dac6ba64db083e8cff7ad49d13d94dad20413965f2289cbc07e758d420, 0x1530e480b6413245b5ab3842641dd746f2925455779e3acfa781a4cf4320089, 0x1ac19ff211f12a11a5d43c6a3d8b2b44a3ac0380da8ca628fc5570f7fc62df8, 0x756a4ca5fd65ca2690dffbf135a5266487f44e98e869fdfc0f2266a9068a32d, 0x115e37dda2bfd9d15922be023a608550e07057f4f6e1d2770ab690dc37b4db0, 0xe72d0dde506702cb04532bdb4b15933a2b254d9a084593c23c97353be97269, 0x5eefa3be3390ad2c06c9c55be360bc9574105acf696a5801550553661ffaeac, 0x7dd9e5d4263c041ba2d8defb50319eb7fecbb573a6e7cc891292d7c45d5e0c5, 0x2c21f51e32db1c0b68bc02a8cc0eab5f0edd4fd58eb5c2ac0a1df208ad3b84, 0x1ee53235692360e57c3a99cc52a2b157a0dd3548b9dc6871b4db11ecdb1877d, 0x70d15bf0371eb048bbc06011bbf3e746ee959b88dbdf9c93b810dec361343a4, 0x327113ab4f146f2288c2c046331c822d519680f12bb945a62a28dae751893bc, 0x7a2a425108bbb1c1033d9fd91d392fb4efda4b1d54b0f2c2b31eb0b580431f3, 0x48a737973d8903238616e0bd85a074fe08ccead4455633805b68f4029b55020, 0xf322c5b8ebccad058493214661de97d81c2f4cc01f16a8998924d64af1299, 0x44255b814ee607c7581aa66ad96022066edd5f04ff744d6e8b21f6e08484f79, 0x4dd8c7fd128b88a88b711858a7a2dd91d55f84b2c3f43703ef576705886d143, 0x2c425b56f7f4aff1918de0365a965807e326b523974b81fb2404f26f422ee38, 0x6b98a49b1addbbbc2ace7390a29374ee2eb81dd61282a626e9c7319ab84c397, 0xd7705cef8dc5f782f5c6a45d8becb1c782616c83ce9e5b2ba6b9f24d3963dd, 0x31ffe0994c7172223fd2fb3e5ff9f80a3ed4235f98e63b5906b070db4e5cb4e, 0x6e54436e45617f949ebad53ba3d3f3799db7dfc0150c854da1f5c1a2adcf8dd, 0x42113f971037c21abc122118764ce48895c158dc3b7070a8860e27f99747521, 0x39835cfb55b96c99710092254c6ef49a0ce47fa4b8643d28ca33156c5ea147e, 0x6df20825e42be3b77acdff752c3d1cad93326186b2701998ce9d91ef36b731f, 0x1741867a257c2b8ec9a90f2aa47e91f5e343cbe39c6403a3b239004e2cf0066, 0x3ea8d0fef6d3dadbffa9a57c63dd56b5d43a73cc61ac44751075eab015597e7, 0x5c01c567653876211a9a428234bd9d99fc9791ea2f16b07b29a0d4203dfa96b, 0xc4e9edede6f8a6be48132e8ca760410df2dbfac6ed5737fd02f3faa4a033c9, 0x4c889d22cb6b6d08aaa26a5dddf174d2ec34b24d908f0ab6031ed701d86c4e, 0x52084df24ae7e274b56ebb2151abac1ba426345db9681ec6a063b36d639693f, 0x2f500006036a850a3f88cc31308cf7cd003c8765faaba45923c0daf4dd808a3, 0x2ecdc185d9f143fc8ad4188f9e8b3f36f74cc8b7f5d1422770c8a82cb6396a, 0x67189e84f778e2688f3cac049bd0bfccaa6cab77a56c00e8bb13b78800bc0e2, 0x7fd48ef9f2c8ad8ba7d4be5d1021d6ed22bcae859b0b7aa48da7cc002f4445, 0x445fdff0340543e84f19ec6a4b4e41d26da52d5d88d92e6148beda741c3a1a6, 0x191e6e42cfd72b3451f98055d6b701562575a926e1342ffbbe9c16ba4ba2861, 0x43c79461285ebc25d0037a89dd680abd853c4b6226f8f5aa61a4737ab18fe99, 0x77959117365a5009196fff3e0d16fec60829d631cb191bbbfb9e967be6efe59, 0x7c6df7b418f5064c78b41d6034d039a4fa4110eaf219527ebaadadbda91c524, 0x37237e829b8f41dda898709b7d55ddbcdfd196d0f65bd4ea48e82f18213bd72, 0x74401ba34b7950a990f06ad4614ac063db4c96367ae3f5068bc725d86fffdc3, 0x4e54725f6088a29a0341f231224cd81a3aa69d447f5b84d1092b2ad8a5f83bb, 0x1eb8c7dc5e217a6fe1e4c64a04556c36f3dc5455b219354d13c7fff0ffafc8c, 0x229cfe7a9de47b9a12f1320b088bf3035b4c2781f8ba995a6d3e41552886d91, 0x1d3ec471edbcdd94e9ae3014ac2f2ebee1fd8136546d962802fc06ec1d81838, 0x4fc84e280ac9770c6dd3d37ac488f010b32cb20a28725e7ee2e20d8e82ce23f, 0x4435a1eb1f3bba9948a21648f02207300a1a35a7f790d49846f436330666ccb, 0x4c8482f098e280cbe447d80f81c4c1dd68dd427f3c74a825cf5baf96306bc95, 0xcce61ac159ff050d8b7eb798b88bdb16768f796b6f7db57e104dbf3a0f9a17, 0x4f3ad158b8a5d22e8cf116850f58878bb0b4b72e9b0456549bb82af6c3c1811, 0x784d1eedcca5c4f38fca4100b8ba59bbb129682d94e096537ff4d126132701, 0x614b144386d80ecad49310402bd7ced6e1d12578e275d8fdec55b3c6c85f6da, 0x2983c018a362bf5b9ec3653fd8e808d53bd58b2b89e6abf856a77369502b3b1, 0x708dc5faf23b1dbddc283eaa96c181c43e2c864a2e4b5b6e357e5cea1ee1c1, 0x2adaf199ee65ccf5c8f7be0aad53b80a63272e83e12b841b81447d8a53e1e74, 0x1167ae256461abfe67d6c21ab187201a3cdac0d66d7fb2a2da93c6f5fd0771f, 0x6d97d9e28b3c53d97efa20df4f3ad951daaf5777a9ce2b4a2aef7836f565ff8, 0x1696fd99b879b0c2bc9ec06af182a810c570278ae570bfa99f1e9de4706cdfa, 0x9a266efee708fcbe452bb9e733dde5737b48f63d9d36d20b5d79322638bb78, 0x69b3797c0fe7440e306bf5adbec28021b5a77af356fb638b53268b1ad2c2706, 0x12972fee027f97c9f1a053acc35ab1606f37054fdf89e9cc36f805209a1d24e, 0x24b2f7ab2e07e542191e27716936b81ae6baafc97f232e2fb64addd7a88d646, 0x335094dfc3b8aa103c148aaef89c4b51dbf0fa67456a6fbd396e19c6905d2d0, 0x5d28d70a78c9dc766d7100493a6c07678923397de59782224b8e47bbe3df310, 0x66999b2fb37275aff52538e75f85722ffa8400d9c58f2759a9c4d2eb56564e7, 0x1565b9a72676e96e6d37f55f42f7324b3ed56d98598bb2c1729cde44b4baa8c, 0x3ddc09801418e0546085a59408beec50e5d6d67526f6b52832e6a42bad95918, 0x575276a5763722fd7ca74b377102326cc6ffd4c6f29146b2292ae003f95103a, 0x4b2adb706c03d679f33fd202e8ac90c0c6beb18d11a8fd259ade19480b9c3bc, 0x33d606694b45d3823a9be8791170e83395a5979fb4db3b2807c990aa52878fd, 0x2adcc73148681b502af35c0f987785506d7f7c80cbfc2f2c802501d37ec0f7, 0x545da6216a486bce01057c121a0a88592b411fc0d7a7dbd1940550c537012a9, 0x102b9674ddda1a065802b746796e0c0af7099c083487336ea5f44e2029f8bf6, 0x759fee6c7800dc504c7fb7f350b2580b51fb86313a33518b486888ca84ff291, 0x5f167268629a42c67b4d7fbb6c40b87cceeee21a38d6cd91117190ec5c959fe, 0x3c46aa3263555c3a59a22198a15ca7d930948c7b1130225c600d86502c1caa2, 0x3bf3c32fa0c9a1e319df0a9a555b40ae43a620397b62060e3a57dceb73fe81b, 0x10e1738a289c4d228050d1fb5d7f9602b359fbbd29072da30df025156088435, 0x166610c10322348b154e6117b7712f2454b91c6f3016175f18db14a561fce29, 0x2486f5993d640c0c00176c545fb7cdc1406bd1616e565a2abfec4caf0337fbe, 0x7f1e9f35df34a1cf6d1d24ba7b55ed3c888852292cdfc3e1f41a8494a6e6e60, 0x8031edb8d2487266f3e9fc96e5979ce994d48a41e1ee002521ad8851c3556a, 0x6b12c6f0806c73c43d0aa3be09c06d889b74b90965e2ca6927f7d191aa5b9ed, 0x7b157ec09e8e13e9d5a5a89368b63191bb0cd01efc2acd0fb1a45c493429c58, 0x42bca994289101e6740e1c5fd3d1a0d9f8a23fc276d6c6196fd69d8cadffbcc, 0x36ea7b92f0ae0909d005bb8a266e4c7794067b7cee4d88a4e12719cfd5db9f, 0x4661098d452b6607b2ec4a2b38a692b2e15fc045d38db15d8ff1b41900a54d5, 0x6aa0611ebe67f7e7d8b296440c211677cb85b05a55d45b7bd876c984d9e2d88, 0x644dd6ab4fc51d6cab2c4c09d6dafc3e1b4bfcb86124a9789be9052b007cb15, 0x521e1abbf89f3e0d387e34292f86957fb7b63828d25a18f22c575fd9056b72, 0x605bcd23ced3c6ec4dcff1e86a391908d3b7b936a484b5a26143b350ae8106b, 0x6cba151aa1d3346633aba3be3714fa0ac650a72a1aae17e277f0096d09ba932, 0x3d85e01fa94c2d91d306c556bbdab36827a6e65055b1f0db2c1a2bb3b93f39, 0x5b385cc44a29bc4fc5ab3eec0405dfec999f91c8a92873f988b4b60158e8796, 0x10c50d65e55493af19a3a6481a9e9cc09c12fc48f5dd86d9085cfa634fcc12b, 0x34f1077d8fe58fe392c445f4334f6a97b94782a91836c3667307d65c40fe610, 0x6c834c289e8c07de93f3f4bc61f5780dae894f2b0d979db2a2b2063c1d914f6, 0x40c15b0ea74ce3f20610cc479c2ff60e3ac23077a366cb9340187de2dd3faa7, 0x5ce7df2ab44539046e9020e650e59e777a5dc1acdc5cd136bfa25be6c236885, 0x3c783d50a542f00804a53cf345cafda33e1ba17e3be742fe994e3d3d63f7ae8, 0x4321aea7dc864da68808f532dab2e44149507ed442123559cf2c3e8011fb7e7, 0x15d7bda175b84268698ae80ef96a7c7d7eddef904de1f9530da35eec0ad0e01, 0x51a1519092c0851f27e3f65acee7582054b4da95b66bdf48c35ff234fcd01d, 0xfdc2a81c185bb244696c08a10a8011a6c1bb867745bf921860935e535bc3d8, 0x644a44accdb7b0c8f235ee5ce6a23ad173c571166295b29863f8da1b344488b, 0x936bbf30899653117a6dc39ff9e23d070de047d5876ce6a590b54b790c6f5c, 0x61beba172a37e08c09b690e0726beffb11ffcc81a69d67774393b38d4b6e2d4, 0x26a8ffe0491fb4ec1013f428ee9e0329929a4f945cd0f6d864f4f05e49bc23b, 0x28e330d49f202579d42c9d0e5e49697d5dafb76d4d992992f0af79310a37a45, 0x161fffdfe9b019115fa35bc649faefceaf057fa6a92a307eb4528890911372f, 0x294ebaadfe6babe2e48a567717d6ac3e1a82a33d60fef5614114cf7706f83c4, 0xd76c6cd54638ab546c4efcc83588c65874036a87c3e910ab2879f132b27027, 0x74faf301b67000288e508657d180eba729dfd8d68d9897c6a354d44c0525510, 0xe6625a87cd03e051fa01384fe68d11e5601b6a91339fbd488ce032c186fa09, 0x3c707c845369459ceade0a1f0b710ed4922929083aa895d4010e47f4a24740f, 0x39fe6e8d1964e636c80e8bc7f3688186ba15ed352b505149bfde2b0658c5b75, 0x604e75de015884d980db392f08eddce7ca968365a7a4875f8ef8a13a637cb26, 0x5cb30208a171082e98b1ecead7a0f49bb69ec4a8810518ec29e491a3acc868c, 0x57cf4def55b8cd91892239192edc6eb56a10bf34a8d421476bfb64420781011, 0xcb07fccfd167975711e53a45f8d452c1b0ccb6e3de7d25b7996893638ee6bb, 0x1d208e2b3809db079130e03d5ac757de2a7df29d7230d82277878f006365247, 0x1a1f393f8b88d96aa32a3385c40896febfeb3bdd45cb27ba83a577b00fd052c, 0x7f4225da07d9ab70f6de2a57362452fe998c7f40b906a3158aae29e39f29163, 0xc5c2e1367a84699bcac4cbf9d942ccebcb31d9f44897ebdb1888139f42ee56, 0x48ff3a1a4e00ae54ab165d25345c4e46b33ae86a301ad0b2eedad0e726bbf8c, 0x30d1757dcadc6ed73334a119d6a295df6d880e733fe5357e52d0e214463ec2, 0x2915167b0d3dd8622c6600336745791edb31916f9be2d8bdd856b845b38380c, 0x1b558f06fb3126a7747eb6a08dde44f317df379b952e5b411596b531ffb782c, 0x652a4771c6e524e89e0577b647cb6e151d34995e8660c24eed21fa929f3d465, 0x1c9db1a905123d4ad22a3173f368bafffa1724fcb44522b82eab5a06d95cb34, 0x27321409751aa654801b0a6a17b31577fc78f0df92da314cceffccd3c59b3d7, 0x756dd8ee5b6f6ef39d4c58dad50af684b0bbb4bea4e949f37ab6e1775578dce, 0x5058459570fa9e72dfc87e47de81d2af167d06dc882e86e87f67f01da92e710, 0x7b76a2313ff90fa0ef2ce46dddfd156bccac588c42a20200b588732d70ffff5, 0x347d5fab4ff74597e3988a7e044ccbd6e717f4269725affa5b83509f7aebdea, 0x40c0142a5d9a87ef07e8dd58ebfc1f866d23efd4eb26573f2bb1c9a238c9094, 0x870c1eedbbbf54d022b4bf696b4ba5fb041f91e21a16fa7fe3b80cbb6163f0, 0x2357fbccb8c950e250467c74dbb4da58f765330d7122e1c968aa3511f49a1fc, 0x32d40a2639dd01d89a9b7b8220af16e38a6f43e52752a60fc287feabb489230, 0x4c003cacc9a7415991b26dde3dd090f6b04ad74db371ad659239ddeec458cac, 0x3305d07c3693d91f3a829c3186a0166926089fee7145f3be86fb3ddebc2d27c, 0x2874aa6344ba79eca88875b56fc73dce235649dc2d157f826f46d036ac6e808, 0xa03c9ab5651edabd2a935cd7946eb0bce9e00c5a1c277927195940bcd2b5e6, 0x273094f11ca9c2a25f4ea448e5e0c3637241e16bd641a06a561219080730158, 0x7de578d5a59a8413513cbce808c29dd777d660269a627af3b72c471014529, 0x5b3f7818af1f7a390cc6605f38d463731ab4503821849c9a21565204787b5e7, 0x338c4d1ea40244b964c0f093558da7f92d23fa5e0c4efb847dfec08d084dff, 0x263f4434376a52a56366f5e305b66f60f28984468371267bff054b45e354648, 0x6c016570ee689a044b1b14c1478090a7bf44f710ebf8338900228bae0e825b1, 0xf0cdd7bd0bc7d4afcf0010dc3328ca30083934208e1cb624fba896eac82095, 0x390138d7e99c5d02c042f8f7820c26ecad189420619a3e2560d95ac196ea233, 0x47e2320f7e76ffa1813057188968eef46630297c4331c5ba0f4daddc8015f65, 0x216ed7b9b378da81fdcb0458b82bfece8da94c9151246bb64beb47d87ad151f, 0x69fa654126e766e8fa32219763caeebc3d26dcab7f6e1878882f07074f501c5, 0x74bbaa05ef486523b285144523a9efceeb770a63befbce597ced959e62a4095, 0x4a58ab34d04eba410c671a6b5fae1ea02750b2174bf19a67cccd2db167ef721, 0x6151aa8d24863c67fd9cd28d11524785aaa1bec17ad57c751473531bd92d85c, 0x717ce46ad999a6171971d6d654d80aa84d3d969e3e3384024e2ec6e2dd97ad8, 0x441f7ab35b3653a80c940a82f2537450569b0ceeb8e65f1acb6e6b451a9978a, 0x22a3bacc387de55fbc0ce766e4fbd48d4e13d0e8e95e43983f412b20878d156, 0x1a098942cc77e0e92bc5902d0b8cad1b0ffd8429d133a59a4ad498d9558125, 0x64b6cf0527c3e8795a05079278df23616362c84087b7a917f2f737897fbf6ae, 0xa9299ccf2720312b822dd6734ecca165ebd3259c9e74e7951074bec4ba38b7, 0x55ad7f2e633ef0de8b61f20072ce0c02d9b50ab1ff4b85300dbebfecd5b0c60, 0x665facf12836ff7d049db15ac570fc50d389472816539bf86cb32e92cc41b17, 0x14d4dbb5cec68cdff3325744b0354a1401ea01b000db30e1320b5c0face35c1, 0x2a4748522cad0c165b4259ff1f4c6604438093509b2a204bda7827cad2e2c89, 0xef2908f9dba661709edda7a07bdfca3936d1c94517b915bf62d398ebcfa45e, 0x5bdee82deae072d6a1555a3678c8c0106ccfe7af7a7c45fa26da182e066fa13, 0x2b0d4972862ab812674a7781d88c9cf29d74a6c53fbb949f4289d29a7679417, 0x16e1d97df9931c57db452500cae4ba7390822d3ec529835f932d917deab420b, 0x7d08ab30d5aea461d78064512d2c4f8357ad857dcca79a7fe27f516f3d771b5, 0x4113d297d828171e80e5e1e9baacb2f7ce06dd755d8e0b0b372f0eb948b7227, 0x77454a332c92b8f51d716b22478b189a41c8ea2c6891d43cbc678a40bf0b399, 0x4fb2f455ee7e2faa028d48853639ec194556e7226a91147f6fe34644d08880e, 0x10dc69dddc770b54ed2918877363137b6b39ce600284c1ebd97f180fd069394, 0x7920e1d1cc9103f97f2121fcc5c4c10231a4d69166797c7d19a7a27a2aa0601, 0x3507e122ce0cfc85d7d362e4ee653f435cade7e5689fb60555a2118ff4acfad, 0x2290ef22f8b85336b85a36d77e042102ff7e381d0fa81c29ccc796a09c2baf3, 0x2b6be87c3c873d4c217b798d1b25f6f93eac7537d0071fcc3c0bddf894b0e3a, 0x4e08c3f7fc56ad7c7a0b338e3e6544b2ce2f8d3505857298e875fe05ab0c99e, 0x511b692bd4010588ecf6940553204267ce028bf48b983658e82da7d3e4f04f0, 0x1008328e8bb24917333013093dca29912cb00471c6f7c5b6bb1aec4632e38c1, 0x4b4ce0dffe840442b172af6592bafc9b3259df63d7ecb0317aeaa4ca8d7a3c1, 0x3bbfdfa2258ee7f16dff575638c837ce42d997ce48f1ed4fa0552305c93ac32, 0x27bb310cd0c4dda8beb3d156f16225e1ea9efff76c0b29e1c433794e95e05e8, 0x33b0c3f7762ebdd97a59804c59b403d1d401a6525f8381db61d75944c0892a7, 0x154779456ee838af1d39a026271f49b1c14a7b9cdb3b3188ea2e44d34940e0, 0x5a8038289a30d82e6917f2fb3066157a65ca43bfb4c1d0f46a1beb459377622, 0x5f7c0b7eedcc6309aaf04e730d04d462df5f7cfcc89affe3dcdcfa642e6e9c, 0x181808cda311c53c3e3d44b15362b15cc1c286d78aa1f5bfb47b193240087e1, 0x253df570d1bfb58f31bea867a497d9e448e99b3f8b93437a0c9f1fb983648f1, 0x1d8f88e77007173520d7156fa7ce415391fb7a9da654c3c5dc040c688067cd1, 0x1cb6a5cf2497c9886ac22f9127134559b48a5dcd37217a937538a5b49af2468, 0x631d018a482a7f6ee6f458e11f4bf5097f623727469014a14157595daa37eb0, 0x4d82b1a5ff4ec24b6df79efcadde5de680010c2043f1729ad35287510b3efdb, 0x5385c52e44520b5eaa11f60324d69a4a391b3986dc413cd74524d35799aa5eb, 0x185d5620a3087fee8560c01b3e683e545aa6e1f92a3d46faa86f7324898ef86, 0x32ca49a28d10ed00adb92485cd4ecf22af6fa37d38a90fe817fd932083a5487, 0x2085543424c2ea0731f70d4db5cb25aa069aab10d917530bc344fbb5cb1abca, 0x353e479b45b7aee159e7ba3433e6b177353765066ffde71834058054e899781, 0x6992c3d3e3961842681491f696160aa34a25c5655f03d676b58ac9805443423, 0x6580583450c2c13ceb18fbcafd537153ea629a94744fca5594a29a891e73109, 0x24939ce35f115ad3deb4ee7fe1767577ac10a61771097a4ad92cf3a6c27f10a, 0x60936d52a1f1fea2b432bfdfc2d7c720fea305f4c128618810d3091f4067e63, 0x2e7450198fb0a4093376688956a9dac0195e05365c3a1be4805f5bfc544cfc0, 0x2efcd30d58f5818e45d5106e627042ecf9a8be12c80d5c318d88ae09d3a33e1, 0x3d99f7566776e4e2049c9fe89ae86b34d2fdd8aa5cf591b190e057bbe57a986, 0x446ec424909df9ebb29a68b1a4a666ba8e7a75ba8772ea0c40b60ffa6b5ba23, 0x42c1afb049794c7e429c2f572ecc6352faf082834e149e78cd058ee15168789, 0x49fed35c3067d86faaf91f0706737a111c8fd05a102e1b40ead1469d44f88e5, 0x3ad06d4b4b8c7d641c7029a0b606c2b277efa98004a40b7a988b96ab68b833, 0x56777b6b04418b703ea4514ca1c4e394b0739f6c9e9c2d4bd0cef83e854a5cc, 0x179e5bf0a939ba4da63b8d9d5549cf1c2aedb6724c545586b02d6aa50ea7c17, 0x79d2fd09f1c4877f9c8148a17c08485e541e9a638d2b3e6f22e7a03b483e61d, 0x58a50ca12d6f730c407816d8696fffbbd4c4b298bb00ec339a04b15548ef6cb, 0x252e26360daef23eab0b727259f99f05ec332524cea8f1b8514ff11f4dcbeae)", + "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0x5f6bf40923af2b823b645caddb671142388b0ee985ceb48febde38092003de8)", + "P->V[23648:23680]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x21c7c5088b848df193b72e1b4ade3b8b99dcdc6fd1808d1632b02cf9a615011)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x5b2337fc558b317d2b33ee4d0b75fe1bd898e3e823b587bf8059999e47a53ed)", + "P->V[23680:23712]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x5b37e2f16d1410d5a262f4bd2d75d431f8a9c6fde7e747e35dd404d27a7abc4)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x25e77aa3d90d800f19e22eb3e7db1914418a76fcae013a5eda58d664eb48758)", + "P->V[23712:23744]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x7c1fb7d3636836b3e2b9de0cc23a3b04b2b4bccd74ed0bc3ada04979e1c2286)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0xa414763476781fc13f257614163b014ab14b3a2011a510a3f021c2f221f3bf)", + "P->V[23744:23776]: /cpu air/STARK/FRI/Commitment/Layer 4: Commitment: Hash(0x49deff47c743f99262940bbde3c69544ed4e03f5af7001b626e3cf2397f2683)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 5: Evaluation point: Field Element(0x48daad9dd5ca082b9db9973c4f5aaaea48db03b799202cf6dfe1ed81115daf4)", + "P->V[23776:27872]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x5f11fa7377bc402f61aec8a48630ad67d03ee5488677e0bb7352854466b028b, 0x1b34de9d65b75ab4145f6b2056d50107753cacee200ae31bf362330dc426beb, 0x4b69049733c1532890f8af8d3cda1a0b30f994284afcd65b0956fce75453e0a, 0x40d722f91d5bb8c99ff1f52a3fc8cd9c35cc5a4641c18f457a8601a43180276, 0x4faddb4764d598de13be5e6ba43406ab0774ca2d8eaa43448be24ea174885d6, 0x5c9cb6f3b97a8eeb9bbd87e36db1241f70021497c3adfe8c92ae8d39668eec9, 0x7953f40f6b544f96884d516264cad9c75ff75b424c813dd038d5f1ebe9d1821, 0x732ae09b3b20013ccdd112fae0995d6d8d5253e12da2be6bc20599d6b69bdab, 0x6116cf4121c8f5752ebefe5bce8ed7fc991daf1625851becf203ec0557c725e, 0x1c77934ec3e3384c4655588f360c5a849f07169cc448ae5333fc346290773e6, 0x14b6253537f210d923f3f1b223d24991e7da74dd27fcdf53a1d3a77b5eadecc, 0x4936037c51d6ed2247ddc57b04c591214fe6a00ee09ba91eb000fbcd4be51d5, 0x52feeb0cfefbf744e92074c9ba5b3f6c5701063a7760621e3ac356710c04388, 0x445457c8fd04c259464197a8fc37d8c787296e9b9ba655779f1be30bba14363, 0x383240d762c9d6862bac1df5521ef6db067a3e872070547771cb2c8f3e2d451, 0x36fb087d9f8c512689bce55ed6aba827530631d1bae8e306a3854b85a24eaeb, 0x1743d7d79f26dee6d40ca2a168c5a033e5f3e2fd521fce4727f58092978422e, 0x144bfe6b4cac23fa624bf447b294b67bb9540c73efac542c97e374ed02c822c, 0x50cecf2f420d086296e35dcc36a244f1b50c322981a870639e1cc4803eb2f9e, 0x3727a3e040a13624ad8ae334208c1521bc7f706b606ed36abcb935869e5cfa8, 0x39e1d1485ee0bddd3afe37b1ee56c482ae073f7dc2af1c226e43b6ecc43a254, 0x1f87f6a9b003d95f2d1e41e429a8a6062d3e3c91806ddafb2c55201be0a5b58, 0x1a62416e8650289dbe513a1b6a41aa5f5a0a75a411f7aab929d0e1b928d07f2, 0x71d3be89473e5dd5f7121b470fc18323f7bebcc692dcb3e769a67d6326fb61b, 0x4ee5e67e90a2ffdb00fece2aa94ed64411516762295bf0567bd589b635ede31, 0xd7488c17d0b21f485f1426296c1ffa50992cb09ffbbdd9f152850cc2bdcf0a, 0x55ac8499e7ccdea536d687eb9a9388dcedbda2910a1edfa5a163751d6de5aaa, 0x46f1900635afcb360ae673a58d4041420f09d1870e31dd0378ec8664bf6adf4, 0x608ed5afd77d0cf6385bedb98ff4f8388a7764e2aee2393e779567e39ceb429, 0x61d218da0fda20dccdad5471c5727ef76034ebd1196d29913e3c8ee6d0f9918, 0x20f3adcc631b4771a6c72c52868e41d0d87378031cb4716c28b7d05d67caadf, 0x74adc024d79893186065ad38d952e35717bb02edb5afb2381a756f616fe85f3, 0x9e0725432e7a3ee962d268dd49d67a43750181afda6be0d70fa71138597f7a, 0x7223ec8d35268c9246d06262603c69eeb353bcac59f3d0b249a6fa71cc4e67f, 0x63d45e18ec85b66caa26278227a45bb28b84c5438548540e5bb3b32d672f15, 0x552af61defa06516785dd751d2aa057815eb37a085fb32a2f1a9f4f013fccc5, 0x502c127b702ca92abfa6a5170952f4395dc04e6fb609542abaf471cc787dcd9, 0x174ec09cb0bdb1127a86819b53207423d35e0d4a0aa8b7a67023e2ff4a85af4, 0x3ca70fcf9ab22f5877eac5873d87f43e2fafbab6262dabb9c940875ab59d41c, 0xf536699c38b976f26f091e5a100ad01081cbb8c71660622140b603429db59c, 0x76e33b413c0a81c12b70d6cad33e33644e72b23ec051b2f9e22b5573f835263, 0x3e5b0c66e39ea8121a4c7c859e81edc6556cd6f50d4662dafe407114b871a62, 0x536f12a92da52201adea89c98cb809cc1e73fe0bd87dea17327b88361beadb, 0x414057991d6289d4d7ab202356c6dc60e1f68680279569545ecde8bc6e53e02, 0x112234bf6b27703c74485efa72e6a338d45da969c48a322e701fbf7f301a572, 0x66ffc6ba12a3b2e87f3d7df39d8e5be8f085fcae6e09247bc85a70c82bad0a4, 0xcf978558f274dae686931bbbe7c1da99cef696bc7ba995069979b525a93946, 0x1fb9f67eef9ebfa5f76c4219f49222957ab4b3213004dd56e94043cc0fd0d1d, 0x3c640acc209e343e19917693cecec2ba528befd1b95162f396fef76565d357a, 0x2d156b184352c2d0bc47e04934377087875670f8856e7e36efafd2b259b98fc, 0x7c51300cec1f222e8717ad18f12e70702a327e837925b8c6cbdcad0221c4921, 0x47a27b60022a1378abdf79f37e9913ea4cb07e6a2aa3a68c9f192b6a1d88f3f, 0x74ff2d29a4914cb816f3e92b091c9e7d1dbbe4d1f715b5bc585005e2a3bd81a, 0x3330310de3457d7e17b014510ff38e596462bb0d519d8b849483d4afd89fb03, 0x1aa839a86e0ffe40bd5fbb2ca5167180a7e8d9cc1513d97f7dfb37644d68cde, 0x6a823d6e23c4aab3e55067343d1da798a30121ad3b4a086776c446f9f7a34ef, 0x7fb159e47cb219fdfe713bae6d94487e89a1d58996c56987877fef112a6ee17, 0x3cfd20fc97356f00ae49acecd6eb5f889a40d32468341fb5f5ee8f918a421df, 0x4b867a3b17c815e1d5a41455cc291a8e9df8fb1ffc57c5319dd0e1ab4feee07, 0x1d04415b6b65d59249af60547f4b108da097ef1e374d069c96210a32ccc208e, 0x7d6c8c12c6bf01615a0309b76bac694304bef4605970c5132cfaffd29aa342e, 0xe93699fa5ee463fae4398396838d5bd04e602a8256ffcd51d9f4883f8e244f, 0x3b9a1ca85da6c484b0f0bd34b1bc68e429bc542b0605eda384e97203c8d7a92, 0x27ca56a510ff927e4fcf5a3daf57e4e9a8efbadfb3fcc8c5bdd230a7db7ce81, 0x50052d1c53e3015756df3ee4f9fca3b2e52dcba9cb0a27b3c33130925136689, 0x75669651b42fbd1529bb0db3c0373861a843706c21aa11b952dbd0f180cc23c, 0x435ecd061d412f47bcf207c25756f8454164715301cb5d6c777ec4dfc2f6e0f, 0xa8af101345f9d7806734e4f8b88be9dc483ed1a0b973c62721014ca3fc9e61, 0x5b5b91ddb7b0d500fa9a825d95a2868315e53968758370dfc955c20fbb9f066, 0x39ae058cf204350dcf8fd4a507149ad3c9538a957571500cd98fce899521fa3, 0x7bc610a5a6f8f6c5a008e82d94a2ef3619596844d935b7da16f66b0e541238c, 0x7ef745c093eb441a384c3bd20fbabd09d58a0f4b2645e2921007ae3d0b9a1c7, 0x4ae490557c3130fa09b0bcb10effc50ee198d0eb0f3e7681e729ed677fa665d, 0x16d6edeb1311a0ba5cb475f544e73031f2361bf9136f03f596f549e0b008b8d, 0x18000647203019ef48b6996efd80cfcd692c05fe2d7999c1e38f664bb2f2424, 0x6748067d90fee250d642a578889efb9acae20b70bb735d3dde1bea8a3c1f679, 0x1d06bc88855a4395111402445b170210789694b3d8713ab63105154efb972e, 0x1b7c9ed86d049a852db592b6aaee135b3efc73f59ad87ee945598e89a16f7cb, 0x7f173f2a49816e38fb2864e85134af3becf13b3397d9e045941ac81b237b29d, 0x2ec996cb9a4e13b088aeb17df4bfdd302d1fdf1c30ff76044ac53d378242b83, 0x1021709db95d5d1c75113288bbeee973d8344b76395186366b00eef7403690, 0x7f8d7c9fed02f36d10792be7d418f0f94dd810b4519728c6d03ff9a82925bcd, 0x7ddeea24ac4cb9b0ab4398bccf89b30b0d6e71d40d41312fb687c56f1ae04c6, 0x3b1c602a71ec269c299abfcba0c57a7cf9d5422b4b015ded6074e0bfe7beb11, 0x321817edb724f68823d9fd585fda3023d7bf1a84fbcd52e2025b80a4a3b3a2c, 0x46744a3ed6eae713111d14c09f3dba2488f1da42dda2151211705f6779a5d74, 0x25efd9aaa76306fc161728eda71d0b1c7cf4785a04e30e174ffe5b520a1fe6d, 0x3d5305952e11656e57c8e897cdba68b4daf198f3274a41cc9126669a0f750b8, 0x14ce8d5294026d52974b86f663304122183bac51697ac83c617404dff83123b, 0x33619fdf0f21b17c69548effc99df2366eaca7487411139128bd1f07f344787, 0xc33cb5661b6837585ea8b2c1671184c4f26716e5dfd81d30ec85a89b776ba4, 0x614e8de009dfb428ad2a01a277069cab687a733e825272c16de2efea6536601, 0x12adc221701cf4e4ccc97007c7079b92c99bf682e5a6f22bca007b71430d911, 0x4a61f669304b2fd2c8f3a9eb778982dbdbcd55079a4ef9ed1e7cae50295be85, 0x45103d4766f13f18e1be08d4bce12eb6922b9d62655416953fc561d977e2a55, 0x1cfb7578038454046a8bf5f6f5a0522b56d25ab0edf207b3abfdf90bfc92722, 0x223115fa65cfa8df6de9d0c406386b4da454b96b35c5514b8737fdae5c07196, 0x1e30890cc8614773e35d14f3418e742661d8a550d301324de325ff4abc06d1d, 0xd97b10749475a74ff39bb57eb815b7e198256648c7fd6329271717d3f93c30, 0x709d6591660c3c4a313f6f3ad0be79975c59dcfef11ed0f067b62954644e104, 0x266a5fed5a735a0a2f04bdd50c71c7f319002e71bf630a0686b4c410f41b7ab, 0x26600f1617b9878cad110a345c6011e3b692005acf962a27334a6090d7ef82a, 0x73f2a13b7515a1b9b7652ce52d9233f15fd2d4ac555d1c9d58a6c123088d07f, 0x62681954a5c0676f175eab56c5c48a91d320cd5432a7a8356c40077f5e59fa2, 0x52f62a2e3bf1acbf81629ded5a9d2c2e99733337bdb3ed2b39772dd4613eccf, 0x7c0092a5544f517be54285673718d6f32c18ea52be2dee11751766786cbf626, 0x65b21233a1ca18fffe4e80d3ec7caeb1195a5e6e9dab678c69eb3797c8386aa, 0x1a8e312ab1188a718a0a008cb7003e8afbfbe7c9d7fd44edc1dda41d9df8faf, 0x2355979d51a23311fa4462a000f04565603f5041739b3c9f64740bc4f994165, 0x18778a1325d42e7e90da79568d1ad784e7c96e8e8cf2096d01d2cf1be0a891, 0x59a2098e93b98980db7d4566cce9116cc26a607b53205d110d886be2412f12, 0xbad29a00e0be310fff74dac9f674b3a51f9dbdf61177a5c6b819f002819a21, 0x54e9504faf7351c8d7ed7377dcfd323dec2bf041ced844f6030f8638643b3cb, 0x1abe704e91fbe21772b8a3ce120682763de0664e98e233a35a2b6030603ee8f, 0x3e8867e8050e71bd7815c9694b892a0cc896df21b1fe3ce62480bb594006553, 0x42333d580af6e4e86be0fc9ddb4ee21d39e456fefe972475c0fd16bb8cc2e63, 0xd401fe116eea5b1eccb131492d3be3f47f069e4875572356470886c86d24ce, 0x60c1d7b293204909c7917b7b500eb715db5730dd8f2355a34087ad5be4b04ae, 0x26ed5cd839170c1a901f5ec35d1fe1d3fc6409fc565b93f26a753887f386fbb, 0x7982c65e935bd5ef68eb2d50e7f410639bf2762f6dd622e090d3c35ff6c36ba, 0x11828d2e3565e729664760e0e0036b2470699fe419ebb997ab6b3166ea7ea8b, 0x795c0e1ebd2408d002aee08b5c491c58c916da75fb89784c38fd23d7e3761a7, 0x225a00c5e6c769a685852cc37f9f9709d78b427e6c05e5be439fe18b386dfa5, 0x10c5043d5f973f28d6c4ea5f4fcff06fbe67d34df5e6c1451ccf142569c2123, 0x51fa57013b96c37e3e6ac56e7f543f63e05ece75f8183dda6774a2ea34945b9, 0x5b163132e19038f4b89c53b7c59bf6695a9c23fdcc3b938b60e7986cd59fc3a, 0x161e22783ae8d5edc2fcfd5b3a5e11491581ca3176552a217e0b62f8c297fb0, 0x7e49d179bd460900c6e2e8c4913d9bfadac9b18249bf182efeb2174afe76c00)", + "P->V[27872:27904]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x3cfefa41)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(5969744)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(2639133)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 2: Number(6609616)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 3: Number(7821485)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 4: Number(189209)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 5: Number(165049)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 6: Number(8255478)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 7: Number(5401555)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 8: Number(4047673)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 9: Number(4439060)", + "P->V[27904:27936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 0: Field Element(0x7bfc748a9d408441dfa832baa5238514e445786ba9d72f177794979e713bdb8)", + "P->V[27936:27968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 1: Field Element(0x67930fffcaba73bd44fbdddd6d6545a72c8c3bbd6b3fd06fb789899b72309fc)", + "P->V[27968:28000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 2: Field Element(0xa4c999a9a55439f239f049588940f9964116639cedb7d737bda200a0bbe0b6)", + "P->V[28000:28032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[28032:28064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[28064:28096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 5: Field Element(0x0)", + "P->V[28096:28128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 6: Field Element(0x0)", + "P->V[28128:28160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 7: Field Element(0x59a1edf8b1105ecba57c5f93adb5da4322af2d2bc8ec0b0e1e66cb19da34f90)", + "P->V[28160:28192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 8: Field Element(0x56646991a7ae8b134ff717bb73f20738d1279a09563d18c0414cc518a04dfb9)", + "P->V[28192:28224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 9: Field Element(0x5b9fec77c53862ef9f560db2527ea1ab887bb54b55669e4fd8dc0d7871d9302)", + "P->V[28224:28256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 10: Field Element(0x293ed2f4507421554b0fbcee1ab913b45fc36cf53957486b67cefdf79f3aa0)", + "P->V[28256:28288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 165049, Column 11: Field Element(0x28f5d70cabf399883aada03f7b47d0f61d7da1f2fc1b80f377f2c153d1d0ee9)", + "P->V[28288:28320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 0: Field Element(0xb7c6a65de883424280c2b737e935f1c55fb8d926587e9ddffdc5ea3a1d2dd)", + "P->V[28320:28352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 1: Field Element(0x34175cb5802282855a631dfcb4ad48f08e4a5af65d0c6c2db386cdf6e47df9d)", + "P->V[28352:28384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 2: Field Element(0x5a93c05db458a069cd4ea873adba9eab270a33ee79d35b98afca4651e7647e9)", + "P->V[28384:28416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[28416:28448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[28448:28480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 5: Field Element(0x0)", + "P->V[28480:28512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 6: Field Element(0x0)", + "P->V[28512:28544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 7: Field Element(0x4a04fcd52ed772c6a3f2d812e2fe2be667fb359778120d9e41ab4d0b5f8feec)", + "P->V[28544:28576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 8: Field Element(0x232eafd6c0d15c4c9514a1ee271f3e976c72b99612ec938c01c8b9e1b00dfe3)", + "P->V[28576:28608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 9: Field Element(0x38c01f01c301208fb44884d0d412d4e408663d1a7233f4e8c689758c9cf0bd9)", + "P->V[28608:28640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 10: Field Element(0x29a56873b6360f4064e085a572ddf93b7ffb4c85e8d73c2582ae940667aeb38)", + "P->V[28640:28672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 189209, Column 11: Field Element(0x3b2a9987f7194179441be6393d1adc16da7e7a25312392449da994c8a350829)", + "P->V[28672:28704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 0: Field Element(0x569b5e5924a5f622564e3c858efaad103a9c67fafa15e92f0c2df0ad4f19496)", + "P->V[28704:28736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 1: Field Element(0x5c5e521eae5e7eb7ff8675a75a8eed53c9717a7f42fb19b2e6f226d0d407d43)", + "P->V[28736:28768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 2: Field Element(0x3b445f4e46bb29f3c2f38cd0f3f7793a3e540374e9344cd172143a94993717e)", + "P->V[28768:28800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[28800:28832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[28832:28864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 5: Field Element(0x0)", + "P->V[28864:28896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 6: Field Element(0x0)", + "P->V[28896:28928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 7: Field Element(0x2685176a565447bc49e33cade12c9e4c4f5a53bb21a53e80bfe81118301370c)", + "P->V[28928:28960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 8: Field Element(0x19468b37b85b982e65df936c62c5e4dedabe73f6b02d19c6f5ef1b1f6af7d1f)", + "P->V[28960:28992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 9: Field Element(0x3afc107fd52f27896a3e4c07a2d1ae7194bb888870d77cce042e57150d33d7d)", + "P->V[28992:29024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 10: Field Element(0x6d0424dc6a7b200f01417352ed7feef8e09f50b96630df4707cdd2b0793f2c0)", + "P->V[29024:29056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2639133, Column 11: Field Element(0x502b71b2910960294c2e0f1c58e3e14985208cf6d86c72a9011caeb638b8f3f)", + "P->V[29056:29088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 0: Field Element(0x7be5b6f3ecdf571a36629f98ee15ba8b0f461024bf262c42efee90eea38e157)", + "P->V[29088:29120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 1: Field Element(0x3013b70f68f330de6f2f19514fa95d715dd6663cefb7a97dbe1ed8f9b659ee1)", + "P->V[29120:29152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 2: Field Element(0x417e88e813b914d031bef3bc87cd8c57a7dcd339f1a1da0018bda2240ca4942)", + "P->V[29152:29184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[29184:29216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[29216:29248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 5: Field Element(0x0)", + "P->V[29248:29280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 6: Field Element(0x0)", + "P->V[29280:29312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 7: Field Element(0xbe2609bd5613e51e08a4fa9a9df7b4a9887da98208ddb1463967b0509166c3)", + "P->V[29312:29344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 8: Field Element(0x7ec23cbf90cc1bb57cba45a318c932a19de8cc109bf658f96f3c0643213056)", + "P->V[29344:29376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 9: Field Element(0x4d41354acbbbd7b3e93fef2715400096db0e3706809fb07d9a2bd875623cbf2)", + "P->V[29376:29408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 10: Field Element(0x2714d72d200c80e3ed1092a14912d23d9b1d9af48501076627ee035ba13a46)", + "P->V[29408:29440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4047673, Column 11: Field Element(0x158d54f1864a56f00748d03bda67fa3eb8902a268ebb655e3dc14d22bddc504)", + "P->V[29440:29472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 0: Field Element(0x70198d90bf24d85142888a8992fcac04f152a8ca032e00c0fc3d73cc1a08828)", + "P->V[29472:29504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 1: Field Element(0x4ff0782f714249dd16033115356da1028b401eaa6680fe932ab556528aa7f9e)", + "P->V[29504:29536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 2: Field Element(0x2992f9bf918b923c353c08bede04694da7ec196775946fc55a69a8568aa22b3)", + "P->V[29536:29568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[29568:29600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[29600:29632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 5: Field Element(0x0)", + "P->V[29632:29664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 6: Field Element(0x0)", + "P->V[29664:29696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 7: Field Element(0x61c4055090c867f7db0d2eb5cdd828a1c1427ef1cbe1cb6207a6d572dd7abd)", + "P->V[29696:29728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 8: Field Element(0x1335e1e774e286d58eb3cd69288867fb83d78785a9e19bef2eb6453c9b20544)", + "P->V[29728:29760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 9: Field Element(0x3112068a653fbeee5210cad6c72db678df81f7d9135952f26a4ac07315101d1)", + "P->V[29760:29792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 10: Field Element(0x1dd9ebea21fbe15b4955f588f14203d1e92f82161eb5c9c98470d54cb57e436)", + "P->V[29792:29824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 4439060, Column 11: Field Element(0xe8b827a08ac6032471ed86e64f79ed2651c2ad762dd06d0ef6ace8faf0c284)", + "P->V[29824:29856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 0: Field Element(0x434e0f8c80063382d6f99c6ff0a814b23bbab03e70c154680c19a0a93631c0d)", + "P->V[29856:29888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 1: Field Element(0x7501106a83aa9c52c67c675261163bc1a632e78462555c3d54973da71538be3)", + "P->V[29888:29920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 2: Field Element(0x5388c05efa538f1ae0dde38d9b6fefb3d01f12211352f948fdc035ddb12c02f)", + "P->V[29920:29952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[29952:29984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[29984:30016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 5: Field Element(0x0)", + "P->V[30016:30048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 6: Field Element(0x0)", + "P->V[30048:30080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 7: Field Element(0x1f0115be5fac6bbf17ca4b5d82b05d86a2c75d39c2bf4d2e6dcd4f4b25a13d9)", + "P->V[30080:30112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 8: Field Element(0x60d6a2631748b9730e07dcf9bda2c346148994771c557ddce8aee25a728a60d)", + "P->V[30112:30144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 9: Field Element(0x25b44e198512a313ee07e9c950ca377bbb9974cf24acb28545661187ed00bb8)", + "P->V[30144:30176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 10: Field Element(0x7a60bc4d7dfb08ecc2367ddf0d9338a91da3a54a72f0c9f41937a5fe589b2e3)", + "P->V[30176:30208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5401555, Column 11: Field Element(0x4cd042fc891958bf75623e1283576cf4d18f974ee67f9ed420d22d2d3a41720)", + "P->V[30208:30240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 0: Field Element(0x4200c8f37c76b10e25c616458a18e153f47ffca18c83edbd81a0f641f21c299)", + "P->V[30240:30272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 1: Field Element(0x192f3469bc917635664cc46e073325fc5a5c82320739917ad54684eabbb4c68)", + "P->V[30272:30304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 2: Field Element(0x73265b05e77b83ab08e2b078bcb5375ce7b3082c46c9e2e519eecb31ae8b8f6)", + "P->V[30304:30336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[30336:30368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[30368:30400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 5: Field Element(0x0)", + "P->V[30400:30432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 6: Field Element(0x0)", + "P->V[30432:30464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 7: Field Element(0x52ea8e5bd137212a0e5074a3906ec0fde8340ea09d14f1864a8a77d486c8898)", + "P->V[30464:30496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 8: Field Element(0x7bda24ecdda7afcced955b1f101979a881aa2d342b659056709f9e93ef0fc17)", + "P->V[30496:30528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 9: Field Element(0x75047a5e4de93dcc11bf0d2c679878df639885191c1c0bb50cdab901872f4e2)", + "P->V[30528:30560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 10: Field Element(0x48d5ebb47deae627ecdeb0adcd6df232188e2c5c588ca3bbbcd29f25761732f)", + "P->V[30560:30592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 5969744, Column 11: Field Element(0x4ad797b00d380b390c4bff7d056e1adeefa77aaab102b62b2470e0b80027048)", + "P->V[30592:30624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 0: Field Element(0x7b0294f17a4c2a4e498718895c38abc61085254137ed7bdbab4bf2e541f0fe4)", + "P->V[30624:30656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 1: Field Element(0xebe81ef07728e6401afc3aec0bb4f7c35707b997e940cbd52ee55dd41dec3)", + "P->V[30656:30688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 2: Field Element(0x7cc035d563dd7cad4d1e1857633bbdc40a83b19b83ceb29dd70d1bddac31b4a)", + "P->V[30688:30720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[30720:30752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[30752:30784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 5: Field Element(0x0)", + "P->V[30784:30816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 6: Field Element(0x0)", + "P->V[30816:30848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 7: Field Element(0x5f4e6ae4fd2a53373b45b538adf384af7cb2a78281c1dc56795d696b6f9d2ec)", + "P->V[30848:30880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 8: Field Element(0x5c336d9081e7361b489402e79c777ec41b9b9b0e30a99acd5d4d25ef068560a)", + "P->V[30880:30912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 9: Field Element(0x3c4933a74ba442c65918096bfcd48cd381bf8ac761b5cec65cd66a08fe6c33b)", + "P->V[30912:30944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 10: Field Element(0x74198c6f42daa645208763446bc38db0f722899808a3c248d738029a92474a)", + "P->V[30944:30976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 6609616, Column 11: Field Element(0xf04ad1d1bb4ceb620b78c39c070e6002b6b10b9aa8856f90440ccac2c28cf0)", + "P->V[30976:31008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 0: Field Element(0x32b6d4632b9d2c45cffd3947b906808f54ee710f982f82bc4901e2972d39d98)", + "P->V[31008:31040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 1: Field Element(0x1afa26f04e8200f3e482476f00688dcb14e28cf935678201392b276af9d7053)", + "P->V[31040:31072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 2: Field Element(0x5eeb72719fcc82a4facb503036fee668955efc4c61520de50a221743a835c38)", + "P->V[31072:31104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[31104:31136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[31136:31168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 5: Field Element(0x0)", + "P->V[31168:31200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 6: Field Element(0x0)", + "P->V[31200:31232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 7: Field Element(0x5d565cf0e6473c42864983b8bb92ebf9c14fc891013ac618ab79c08511040f7)", + "P->V[31232:31264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 8: Field Element(0x252daf19112f28aacbe72f693cd66dfbfeac769398ebf3cd8d556b65064830a)", + "P->V[31264:31296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 9: Field Element(0x58caafaa5f98f2c57f6b7096c24ca9b9843f54458ef3f8e6761627947a0b167)", + "P->V[31296:31328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 10: Field Element(0x286b454ee49c57d4469e27e5d80dda0c0487c3ebb9eab8372c1f71cf3717c4e)", + "P->V[31328:31360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 7821485, Column 11: Field Element(0x47abc47ad5a2a89018bcf7d59b0fc8d84879bc2b4fe8626d914ec1d7c71ce62)", + "P->V[31360:31392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 0: Field Element(0x12cc6d52093d62582c03324bb998016ab5f1fde3705256b88d635055e8be62c)", + "P->V[31392:31424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 1: Field Element(0xc885ea2ba4c93622c3a69f315bf8000af16fa71c28b7e934a3344059b143dd)", + "P->V[31424:31456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 2: Field Element(0x6969e4d90dc32298a653c37cf56850c6c3bf6e3d5210650e59e3b2eb70a276a)", + "P->V[31456:31488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 3: Field Element(0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804)", + "P->V[31488:31520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 4: Field Element(0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a)", + "P->V[31520:31552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 5: Field Element(0x0)", + "P->V[31552:31584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 6: Field Element(0x0)", + "P->V[31584:31616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 7: Field Element(0x38d256f201fded56c830e97302fb819fe90f8ea34f487dca8ff5e654f02673f)", + "P->V[31616:31648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 8: Field Element(0x518299cd47debdd00b7376f0087fe980af4b1ca183272373c09157c164c1fd2)", + "P->V[31648:31680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 9: Field Element(0x3c1099f256a4fc71df4d1db8c1e52374204c15d35224f3d9677e26ada9bb8ed)", + "P->V[31680:31712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 10: Field Element(0x33600528907c2aadad2dd007b0f34e37688d441f68fde9b09689229db5962ed)", + "P->V[31712:31744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 8255478, Column 11: Field Element(0x15785313c44576ab1280e355928a3913bcdc6479c30231e5039c9d893b524a0)", + "P->V[31744:31776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8553656: Hash(0x162cc701f2d23284c6f8da620d0ef02c28e385c69dbda9737e676b740bafe6f)", + "P->V[31776:31808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8577816: Hash(0x214b6130e6e9d4f9b28809b44ec27e655897c70ab80b8fca78dbb7dd7775576)", + "P->V[31808:31840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11027740: Hash(0x16068e3cb9a1f05cc56fec64e11574432f0881e4c6ec74970245425fb3cca62)", + "P->V[31840:31872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12436280: Hash(0x169d682429d14f860fe5ea5035f44463559c79673ebad9f3cf86bb38d7a8af1)", + "P->V[31872:31904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12827669: Hash(0x2d949d3221c68a2b9c22a5217c12e5020a906bf045c8f11736556e689a56ebe)", + "P->V[31904:31936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13790162: Hash(0x7798e678fcdde20d744b2e807f8e4289dcc6606ceeb3413730596a29c892bca)", + "P->V[31936:31968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14358353: Hash(0x30913ef9db6fb2b644e2b916c41e11e3e786be1f2df59e871548a766d0d83f4)", + "P->V[31968:32000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14998225: Hash(0x11cad3baf7796e650146d2313e9192664195996bb37d6888f0c42d197dd19e7)", + "P->V[32000:32032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16210092: Hash(0x57d1d5c78bd185f14d28268722adb176c64aca3175278282c7a8a635b0f9fd2)", + "P->V[32032:32064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16644087: Hash(0x64c7ea6331b65f6bdede70aab3107ed158b4ae05c9da1d9ba455441d969e40d)", + "P->V[32064:32096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4276829: Hash(0x503cd2c945cc370f9bfefbf0c640c6f69500250d78fc1b618b6f661f4dbc8e7)", + "P->V[32096:32128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4288909: Hash(0x3e587ed22ba6a46086bee43de941e95c5f6d9e381c85ec5309b3111f37c8236)", + "P->V[32128:32160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5513871: Hash(0x2e3884bb7ac68adb4ede4a3ba20783895c7bc047c18fc871c542147c652084a)", + "P->V[32160:32192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6218141: Hash(0x7f9979ad9652f640d4e208360857278af541c255540dd67c707bcdee14790da)", + "P->V[32192:32224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6413835: Hash(0x472c95adf7c6c22ea093bb8bddbfb3e1823c41899790843c274c28fc9c02dee)", + "P->V[32224:32256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6895080: Hash(0x9101d1b35cc31f668bbc842d5c0c97885a353413da48f46216b1509a5befd0)", + "P->V[32256:32288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7179177: Hash(0x4316b020f6ed8c77b48fe195df5ff7eec35796c9cf4f126400e25bed6ea12e6)", + "P->V[32288:32320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7499113: Hash(0x86a189cea73a9ab3f8b1b40377e86444581f87df7a117b03751cb13f1c9aee)", + "P->V[32320:32352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8105047: Hash(0x5059393f7e88e02555aec7d6a561cd5decdf40752ce21f35660e46c51f5cd08)", + "P->V[32352:32384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8322042: Hash(0x3186f5f153f7da4dce13afbefa016a96640ecabd5c490822b2dec8e8424b12d)", + "P->V[32384:32416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2138415: Hash(0xfb40ed2535c800f723f695559dba93e8187fd5dd7298fc8a7565cffba5b337)", + "P->V[32416:32448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2144455: Hash(0x361637e8d52f92f10efc85c73810d1146cfc23232facde782c14c1bebe13e45)", + "P->V[32448:32480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2756934: Hash(0x14b05bea95da27ce0909b9405266554f52cdebfd6018126cbbf923273d6270f)", + "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3109071: Hash(0x45582f73a262155c7942aac4a8daaf313ff1bec2eb2c9d5926313385c7dc502)", + "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3206916: Hash(0x6792a919aa12505f51b67a359b96747f827ca97c532f378b7f7eaa84f549b36)", + "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3447541: Hash(0x2f61ad8733b9653d7476aae5769e09077bc0b78c77b8ca61108122f4e09b675)", + "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3589589: Hash(0x4bcba6f87c2a2b765e1923a2c25b862d9582413b0e3c82098db0c66b8427519)", + "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3749557: Hash(0x7688b56ad9bedec0a36e553d0c1f28fa80d737da6daa4631be9421b0beb0877)", + "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4052522: Hash(0x7301ceb9e8d064c9a1b9d3f7b7e803bed97180ad20b7733d64205880fd2526a)", + "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4161020: Hash(0x17d50383d21dcc2f7f08dcec041188f63e50d40197525ad588a4a9ee1cb60e7)", + "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1069206: Hash(0x4802fc21f90756fd63c3269163c272a1d839bb43cd95607e5bd281c2475e9f3)", + "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1072226: Hash(0x6cbd5b5fd91ed69e152ef9da4a11515195637327efd1f4a785747db1a18c007)", + "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1378466: Hash(0x70573ac257385538db27662a87e517a573aeba78af1f8d30107291ccc0c5cbd)", + "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1554534: Hash(0x65ef453328083b37b7ee774c30a774daafc3fbd065efebb2141eb2679baec3b)", + "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1603459: Hash(0x5df1d10fe937e036a86d54d3b28657827df45f861b2369a7ba9a5a244e35fbf)", + "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1723771: Hash(0x3631428f2682366052335b6a830e772685034ab34d1560e395bece8f620b9c7)", + "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1794795: Hash(0x3f3836fe1a9594e9d906d9ea9061c14f132e92248ad8ee4d41bf44e6127e1dc)", + "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1874779: Hash(0x518230325ec431c14c544c51852198f6cfa167f29e18519f5ca13a6178963b1)", + "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2026260: Hash(0x356a0dab5ab4b79fd16017018f6438717be05e5c0d274009a877aab362d418b)", + "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2080511: Hash(0x3138de0eac69f6f1297cfdc7d77aec7c25e94aff31d84938139b7f163d626d8)", + "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 534602: Hash(0x3b8a4670045410caa56ac6b662f8d60855fb45089d474a4f6b818b7dea73eac)", + "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 536112: Hash(0x9a01cc72e7762baea28c16d493b445040b11969a3e839a0820deecf33599ec)", + "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 689232: Hash(0x58c3ec060efbe235d4a310d4a777a2bb56ba209eca556c907ea598a7cc0d760)", + "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 777266: Hash(0x619a557a161d37847f07b227900da0b7291d5f6eba46adf1438af5aa4f9d434)", + "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 801728: Hash(0xc1885882cf2229d18ba58f227e6063c26b54f9ecada3c73d6e8ae7d62296f8)", + "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 861884: Hash(0x6028be3593c76d3ae9d4f95e1047cbafc6e7693249f507931c3965b0ea5eb53)", + "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 897396: Hash(0x30250f3b24b82a8a41788d30264d2d35f99e177fa7ba229ee8f667ad70da184)", + "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 937388: Hash(0x6661609cbba6a71752ec2bbb37d1e9275d6d088816c7c87729408d7da066b4b)", + "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1013131: Hash(0x5743e576de469cc3ea81aa1146fc17a6dfb7755420cd91a84791cfc27496ebe)", + "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1040254: Hash(0x65959a0ddf253588f700b56f4950f68709d7e8676ae37189d69a2a716bcba6c)", + "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 267300: Hash(0x6607f49c378a34fcc75f0d7bfdc1addb1f5ec61f9e4e17c22bad7eb71d515ce)", + "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 268057: Hash(0x58e7ab7910149af8f937c250e04ddaeaf1a87975b0c06fa611be0c2cd222b4e)", + "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 344617: Hash(0x8d838c0420c049a98fba611a22c4b76ef5bfe1e11b7f1639884c94483b0082)", + "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 388632: Hash(0xcf41a4984be5f3c11fd1bfb6315dea0345c388d861eed5c601023d82a0d6bf)", + "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 400865: Hash(0x1245a0614e38c9d1e804e3ded33cadb7ca4ab04576bb76f37920b140b9d3777)", + "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 430943: Hash(0x2cca99471b23500273d55234822dd0da15fcc1c6f443e411ae1c5984cb90438)", + "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 448699: Hash(0x2eb73c2297732a49c92c3f88b5a4a7589993ff411c49cb63de026461cb23293)", + "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 468695: Hash(0x6515654e42bd4b876329eefa9a46809681bf3e6932d6f69e035dbf0890dcdd8)", + "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 506564: Hash(0x18015bb3f11ef777c5db5579674467ba6c6c01a3c0271799ce6f29de707bb7c)", + "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 520126: Hash(0x3cab2cb01d816c2169e152e73a78cb09f5db00330ad8358172e946f455b26c9)", + "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 133651: Hash(0x42093d837dacd0ea133aaa853b542ec1dd5c2678b064db86ef046cdcee7c81b)", + "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 134029: Hash(0x307674d674299b60da9de62a89ac6a57d37a717d74d0f968445635c5de725ee)", + "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 172309: Hash(0x6da3f6c7c587724314a1565269708dd5fd572402d0fdde3da6bc97a9dbbaa51)", + "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 194317: Hash(0x18b60d432ac19ace52bf162b8b77818bb2a3491ed007ad243fc7bd432ce97c1)", + "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 200433: Hash(0xddd0603313401face484f247607b3e8987078089df1dad8141a0cfcf5479c6)", + "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 215470: Hash(0x33fdfe68b3a7dd4faff43c23b0de421039cc15c88fdf2415e4f41dd8e9bc7e7)", + "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 224348: Hash(0x58d24bbd6c4da9ddb4075a3435001a0daeb10605654d62bcba66eb24546b6bb)", + "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 234346: Hash(0xe6ba16992502fff6d40fa49d7f22cbe35c570cb3e37f97f3ae41a22c257c00)", + "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 253283: Hash(0x73f41db51fb8981a34555b4efe095412c2fc84a33a9190e2b14ca928ef9e60b)", + "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 260062: Hash(0x6e71be44b9e39bf30da75f198ea265426727cc3f083af3881bf330555316d0f)", + "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 66824: Hash(0x7554fe695dde1b806607cf08d97244f3a3982cda7b8e14b23630ec2d0ce21a3)", + "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 67015: Hash(0x23936117e1ef64c81b0efa0203bbe3dd9c6826a79df44bd8abd29bac1257801)", + "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 86155: Hash(0x5fa63e44a8398fd50638d4d4ef5e723c492b26daa29ced0fd5010bf88dc2889)", + "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 97159: Hash(0x765002140a77ff219bfc0fd18b1d03654628b9da321f34c7e28511de9efadb8)", + "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 100217: Hash(0x1cd73072652738245aeb8f39f23ba47a3008bc0c1c37df4e005961bd3e2bcaf)", + "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 107734: Hash(0x7344a2d18b9d88382a8f3e28c5b83082e2a60b802d76a8e1b7ecec68500a866)", + "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 112175: Hash(0x63cd692e79b4a581e41bdc553be7e7344b6797aa269a9f3ce9db928176c691a)", + "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 117172: Hash(0x17f20f107a4b70b9626087023267fef7928fa55f32b1e1c799f3ecfa989791a)", + "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 126640: Hash(0x73e31804aac2daa44b6329ededbbbd3b178514915cb58b61a29171d42f087bf)", + "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 130030: Hash(0x14104085178b338b7cdfd3d76ddef07b78b37f092f15cb854847d541c2ad02f)", + "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33413: Hash(0x7f5c12b3bb70650672ad0ce30f2d432eab217b82731e611c1075ced45cabdc7)", + "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33506: Hash(0x4deb99ca6196357202aa700a79736b4477bef4f914701864508141f329e0896)", + "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 43076: Hash(0x693e9ee6eb106a2f6f46a03e1d1a6e68444065ef83320cccec70672453833b8)", + "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 48578: Hash(0x2d07f8fbc367f807da1fe01596f50b3ec468cc79b200bd2fdc9701a69a9a0d)", + "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 50109: Hash(0x1259cf6e8a60e680507a70d7f21f96de47eb277fb4d5190018a485e81ea8e89)", + "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53866: Hash(0x49b5c8854151e603dbd9ef8dc0d22c7be98f204a044ea64f2b7039537c25223)", + "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56086: Hash(0x2969397112a44f14ab7548770810fda697ebb29d973cd5d94c444fe2ad4935)", + "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 58587: Hash(0x756787d7a449078c767401c7b179c778a0fb00918acad89820cb131d5d6452e)", + "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 63321: Hash(0x3710a57614ccc4b41f48461e7dc8a8dca3793d3db461500a7ac8445e0ff6d4f)", + "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 65014: Hash(0x98b19814af02179c833fbe0be6b1701d7a6c4000196e602b83526865924462)", + "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16707: Hash(0x7fcd353404e53f6fa323804720282a224e56b61d75385893eb6c0c31def5e57)", + "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16752: Hash(0x2b2eb7536f6969cbbfb0cae4e4576b01f612c59ce3180e47319624712cc9f55)", + "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 21539: Hash(0x3e6a24de67a3f62bd692c826f867981b3d98aafb687d37577836dda352e0b09)", + "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 24288: Hash(0xa82a76c3098fcc98ada54b06308247cbac2d036f6ba605e3051cc36bbf2805)", + "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25055: Hash(0x71d01d77371a25c2361a62a00cc07f4de66f94b57b9926b855bffce767e40bb)", + "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26932: Hash(0x384fd5ca2e471f12ce4610d04bda3c55844977b211b3924ffac3fa036dd53e3)", + "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28042: Hash(0x3c628bb4a894d01d3ebdd81aa76360d6d1ef561cd2b8e36cfed22b3483b9ec3)", + "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29292: Hash(0x323039de1f40abe696d02a2bdcdbfd35bc9b7f5ad2d83a71160c966daa5f6aa)", + "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31661: Hash(0x5501e81e3af164f51945b40869c1e962be799aa4a453788b191da66a3606b6)", + "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 32506: Hash(0x7edc7f9565d7617b83fa10ed9fc4eb6b744d0ca80e72c79ba818766726e54f4)", + "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8352: Hash(0x4f10bebabad052c17005fe34ee5474dbaf3843d99b758b17893d378822011b3)", + "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8377: Hash(0x19ce7d1c5a791e2e62897ec240b6a70aa23b18fad73f94fe6c5cb64ecea8b82)", + "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 10768: Hash(0x663b9744c1808ad821fdd943f00f30f239e92ca7aac929e3818641f890f4280)", + "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12145: Hash(0x51c70d3e65c326006811a7ab56f9ab9e97a8df2f652cf8a59e3249ce590806d)", + "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12526: Hash(0x48478997a0bce5b213749a819681a156b339a8b65a34c5033fbaef5041c7f32)", + "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13467: Hash(0x61cb5796046cff001a48f9017a629734d5d9d21952448c80b717c5848bd80cf)", + "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14020: Hash(0x7c2825e29897820aed61d5c069f9adb8b3703c855877844be0a09f319319eb0)", + "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14647: Hash(0x390811e764cfd6c64d0263704c720482d2c2a1c3d4da14c9f6f6ef928589151)", + "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15831: Hash(0x6e43753b877ba7c167847f7439822d65f5d6c2d8c58fc393d3a585def506b8c)", + "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 16252: Hash(0x20f3154360499fffd6967740f3223e3e338dbcc9efd2d9e627c062a68d361e7)", + "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4177: Hash(0x49b58fb0e8ceacd163098e53706b5886f39cdaf15283c06a66153e8194a7a85)", + "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4189: Hash(0x791dee999f90235339480a75264d05efb66e324e884ef654a4a7d8a2d1f03eb)", + "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5385: Hash(0x7486e8ebf1afb2bc4ed204eaebd1e866efdfb0e44a3ee0f3d039b215fdee869)", + "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6073: Hash(0x41d90c3f338c1db13355584ff20c29c7d377bf76d095883375b5533cf0482ce)", + "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6262: Hash(0x1cb9187e9eeb2edf5f7b4edb1a63ef9ba7ed7b89a14d9a61acbafc07328e968)", + "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6732: Hash(0x190c78ecd427096b878822b07dc442c8bff2c5cd8ab694b947f13e58fda804e)", + "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7011: Hash(0x7496a36a094f2456baa0c7ce1989c9540b13e026215d5648f469cfee39aae4b)", + "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7322: Hash(0x5c2ca8b7aac4253a97cc58cb19c892e2d5c5b0ac32afe8d6a9aa44baaa94112)", + "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7914: Hash(0x6dddb4e73c8dafc04550be6f8b062727d1f7416bbcd5e198c03c7f0cedcbbb2)", + "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8127: Hash(0x3f9fa92dd7c0a787ecaab81467d22c7129506548a6250fe9c6e5e22517af962)", + "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2089: Hash(0x365df0f25be16864f58883ad4665a4f1805ceac8f76c36481a1a3c021b47ae)", + "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2095: Hash(0x1ef01a33979877cc192b63f7eace01d665fe6b80aaa4c95021e418e56651f93)", + "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2693: Hash(0x1ca25cd6f10ee80b58c8c5e0e7a73d96eb11fef8f2498effe0664be6d5ebebd)", + "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3037: Hash(0x30338b3e1ae53803c7db3361025b310fa524678489cfc540c253a8d98242667)", + "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3130: Hash(0x1ba0ea4587b779040a707acfa4beb2048e2d5ad4646f67eea352228023aac34)", + "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3367: Hash(0x39f26a331e671ffcfd32c316bf91445373ba519954a088dc87a353ed916510f)", + "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3504: Hash(0x4e80579b1ffbdf9a92b8661e1633bb1bc7a181edcbb67c49b074505b43c314)", + "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3660: Hash(0x281867f5c719b6f603d3fa555d4e15433c5080da9514368fc47a8cfa5cf88d4)", + "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3956: Hash(0x3d94232c31766395684d47eb8c1af46b70408a285a586c2befe243959b41b20)", + "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4062: Hash(0x22a5f1d8bb7b5df6f133dc3b611ea42186110eef032ea1188af41bd10910260)", + "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1045: Hash(0x1398e89b4cc35ebe313fff7f2df3bfc28a9aa2e61e5e9f1982bc17d0e35a504)", + "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1046: Hash(0x264c9ce3c612e50fbb9e3facc4e6e79c982e0aa4d42942bc097bb3ae7204263)", + "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1347: Hash(0x3ec6bd08f2b438cf7665b14cae9655d8560b24357fd56717c4ac5bceb8732c4)", + "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1519: Hash(0x7b34a3c6c76559e3050c59f44f9cb729e3bc646ebff4b7c9e4d23067d57b41a)", + "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1564: Hash(0x4cb9f8d2db4ed354eb25059bc68319676b2528f2a7b5fba8a580c583ccfb391)", + "P->V[36064:36096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1682: Hash(0x53f025afce6e464366b9e12cf3ef054a88d8c8c0e2f53e7c0c974467938e9e2)", + "P->V[36096:36128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1753: Hash(0x1e80feab8ba10c86db4cedd938a55482b8267ce06d58c60696b9d1ebe4794b9)", + "P->V[36128:36160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1831: Hash(0xefa1655f284b5045e87b7f49b5b8daf67b061a2dd30da6d0b32d26e67dba91)", + "P->V[36160:36192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1979: Hash(0x28c0ddf496b5b8b7d7b7ba2e57d8b1ceda21651c253fc9d34fe425545196cce)", + "P->V[36192:36224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2030: Hash(0x74ce25a5572ba27a3d6c479fed1e659f006ef70f72cd99c39ee0092b0ff71e2)", + "P->V[36224:36256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 672: Hash(0x7e7c909d667a377765f1dcdc948a991b1caa8f1de436c9641b0e5b2bbfadb2e)", + "P->V[36256:36288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 758: Hash(0x353ad7daea2746b38e118ea715cbe5063f8b8e47fc840586ffe54cb017d6993)", + "P->V[36288:36320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 783: Hash(0x5ae3cf15b7f3a0dccc9cdead5848e36dff95f16f46dbeac09a31cef9a66d4e9)", + "P->V[36320:36352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 840: Hash(0x6bbf2cea75cdafca4f4a6167c8813777648fe2dae303bcc88a56bbbd453b5c2)", + "P->V[36352:36384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 877: Hash(0x95d996e899f497c07d10dbf03cb7bc0b118774307e52e0f3c70e6f2426b187)", + "P->V[36384:36416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 914: Hash(0x7330a8f8faf20a0f794466f738bb88a9590442b172dd74a1f8e70d5f83b89bb)", + "P->V[36416:36448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 988: Hash(0x24c1ae1932cfb18b3ed60386b912e932a01b39fac1d2ffdbe1c1033d66306cf)", + "P->V[36448:36480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1014: Hash(0x50f5e0bc9e75aff220e60b5a645cd43aca9e31f7c91ab757c44e73483667532)", + "P->V[36480:36512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 260: Hash(0x5c426e4b8234bbd36da2d4c349206d9c5fd68b47b487e057ff0216f6e17dd61)", + "P->V[36512:36544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 337: Hash(0x4d6f76479024c065e6859ba154c8ebffa238982c6b7f61b255bb68b206798a1)", + "P->V[36544:36576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 378: Hash(0x29d3cdc76ad009a5b9e39bfeec74a8ddedcc9d2f7d6cb3d4cb77634923c62b9)", + "P->V[36576:36608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 390: Hash(0x61857cea2ddb40a78dd5f1f4c2aa784f3df6fff05342c25587f8928e7c04dd8)", + "P->V[36608:36640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 421: Hash(0x15cb54fc2894ff1db75fd70c7821742b7f835e329f4f73f21e02690766917f4)", + "P->V[36640:36672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 439: Hash(0x3a4c0922fcf07e27775cecb5fb85e766498415479d6a5755dcd87c2069f8ce0)", + "P->V[36672:36704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 456: Hash(0x33c60576acf65875ccef4539dd8d1120cef88d14b65a0aa2dc1c6c6bfcc64a)", + "P->V[36704:36736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 495: Hash(0x7b225f00f476dba73de5bf9b459fb4d2dcca78795d6ab4c13f47ece2ca269a7)", + "P->V[36736:36768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 506: Hash(0x4a9c719a8f334c39c24b5cbdce9979326ed3489f14aa5bfbd760d4645574720)", + "P->V[36768:36800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 131: Hash(0x73493a8a42cfecf409adc4ae1409e9a6e27f0c7dd623c4c16f7d8d0ca781c1a)", + "P->V[36800:36832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 169: Hash(0x764cd7e52cfab7b86ae2112e4ffa0672ad7f8a82d29d2cc2106bb523b01b615)", + "P->V[36832:36864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 188: Hash(0x7aa02ca995fa72c1bc84b04a0a1ce273ecd30e64ec3c04a3c9f2179f72f208)", + "P->V[36864:36896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 194: Hash(0x789c59ae6cf492b4da04ef825215274082c3c99559ba95a76d31a62465582fb)", + "P->V[36896:36928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 211: Hash(0x6649cfe74ed800b145b4dd4a01111e2ff8c4f554600c7e2991edb5d2d000382)", + "P->V[36928:36960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 218: Hash(0x6448ee11aecbb220b54c225ed6a5679df8f4733c2163fc49d47ad9092f5d680)", + "P->V[36960:36992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 229: Hash(0x31fc82a970483750f289500beca070c69c1d84a87b82e4d7b76efaa341345ae)", + "P->V[36992:37024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 246: Hash(0xfd7c69c7b888879e0f4b14249cb3b6553371cf5aec45ad9277c059ec5dd81b)", + "P->V[37024:37056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 252: Hash(0x732cbad0abd7f9d2066c70a7f4109b773e1594441e15d0ce84b44b4ca7e9b9c)", + "P->V[37056:37088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 64: Hash(0x5543d530faec44470bbee8eae9be4fa14b91eb720e4216c6f9aa349eee511c6)", + "P->V[37088:37120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 85: Hash(0x493edb7fa27ec6a0b08877c1d08c8430eda1ade0ff302753f44a7e57cefa5c2)", + "P->V[37120:37152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 95: Hash(0x4c05be504c880bd88a90b4ff593556b6ec42966b1f624089e7e471dfcc24abc)", + "P->V[37152:37184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 96: Hash(0x1d3d6f5c6bcea3322725d1f4cb6c7186ec175b41b6a7dfceb110630bd03757d)", + "P->V[37184:37216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 104: Hash(0x45fe94cd88a4f7dc22d15d63d8172284d6047998d6c2a2c0fbae21bf20988e1)", + "P->V[37216:37248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 108: Hash(0x3f2c5df5607a013c86ade394d8bbc967a04c5e795b61224c1da8f58da4eb683)", + "P->V[37248:37280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 115: Hash(0x6c5c60157b00053bf495fa9c7419765f4e5436af79fe7b833c2f98a04eecae8)", + "P->V[37280:37312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 122: Hash(0x5d2039b675d22a32c7aec9e70ae4d155ac3613ae36c75f03bb0e7f904b4b1b)", + "P->V[37312:37344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 127: Hash(0x28c4f082b2fd5a0e5ed0a23aa8c1b975b12c3b015e7e4ef9189f0f177014b59)", + "P->V[37344:37376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 33: Hash(0x2e8add5fbff4ba4ea039cf8861b20e73b654d74a1c91de245d83fd8a3c856f6)", + "P->V[37376:37408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 43: Hash(0x5aff03d708e22813cd2e3381b629e4d4944cd3e981509b987a8accafecbb8ac)", + "P->V[37408:37440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 46: Hash(0x39e9d3029f3a6bcd78179407746a7404b581496e01fc6454f1e8107d393eb9)", + "P->V[37440:37472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 49: Hash(0x69c73f9390b5bad300dccd2aa6979423583fc38eaaef870bb9db1b678f7ccb9)", + "P->V[37472:37504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53: Hash(0x2b1ae19f257f453d1893792e2b5f843491746a8d48935e457efe699cd2c51d2)", + "P->V[37504:37536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55: Hash(0x77902b5b84676a836dfcd74be47126ff3f6d98178cfcef42cb2d94a8f0be78e)", + "P->V[37536:37568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56: Hash(0x7d75f97c4b338e9458aeaa7bed9cfbd22abf91a27d3f4f9e08595e781b7d96d)", + "P->V[37568:37600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 60: Hash(0x2adc2a41da91b023ead32807e2c567cea861dcf0a1e3eaaaff2784ebeca9943)", + "P->V[37600:37632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 62: Hash(0x2975e4eb274dbf3f50439403d94f393f4797d437e68eb61fbf87597104dd96)", + "P->V[37632:37664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 17: Hash(0x387a4b446c4add92aece40f44827891425e3ea693ec6d05dc541499e6c58ee0)", + "P->V[37664:37696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 20: Hash(0x6f1c9ce6cc87bc3b57d7479f9ebb9acdce32cb37c843aea80524dd91eae7fb4)", + "P->V[37696:37728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22: Hash(0x10c64350da00b5d18c9fae38b3c66963204e837fa9a8123c2d11b2dfd3f145f)", + "P->V[37728:37760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25: Hash(0x54e46f7517c85d37b90fdbe5756272d8c7977984029034ac73c44fd5d782bec)", + "P->V[37760:37792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29: Hash(0x7093e3b5d58c095b4baebd0851e3b57b123e6b9c655823394eccf4222097ebb)", + "P->V[37792:37824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9: Hash(0x539d734ed04251ec20fd53a64193c90d165c3a2412e2a8fc38bd0689f5650db)", + "P->V[37824:37856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 165049, Column 0: Field Element(0x57654a1d42ea6acbec1d3fb8bb43eb5ee36556946b058afc58ef05fd7dacc28)", + "P->V[37856:37888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 165049, Column 1: Field Element(0x44bc1ca8a7f8c1a8f69e84d0f514f51babcdb1eaa831c78b174466db98fc6a8)", + "P->V[37888:37920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 165049, Column 2: Field Element(0x4bd7f52d8b775c6718bd669f2230b609f5ca43ac718d91e7585878a725bef27)", + "P->V[37920:37952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 189209, Column 0: Field Element(0x255175814628343407f4574aa44a148e6bbb3fbec6f941f391b5a664dc2a30b)", + "P->V[37952:37984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 189209, Column 1: Field Element(0x2fc252fde1075b1ed96ebec4edb8d2dd8521c921fc3beb1a2627052b40846c9)", + "P->V[37984:38016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 189209, Column 2: Field Element(0x500fdd3c1d98c5c9c6d5f7ffc5e76e6d2d6d857df0e1ffd9af7cbf8c229e33f)", + "P->V[38016:38048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2639133, Column 0: Field Element(0x5eecd92f9bf2d36cd807cc38768c766a407589f38786b7c6e800de0dcca0920)", + "P->V[38048:38080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2639133, Column 1: Field Element(0x659d2223c0a6f1299087a6fd6fe201faa2b2e1ea04e50f79c949b59cfbd69ad)", + "P->V[38080:38112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2639133, Column 2: Field Element(0x7f52b89828a331e040877035f13eb9f88ad1035ef44f47db0d186b8920bda7)", + "P->V[38112:38144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 4047673, Column 0: Field Element(0x39320f1ede33bed6f31256923ba6dd33aa5637ada7eee08550de7159783819f)", + "P->V[38144:38176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 4047673, Column 1: Field Element(0x18a74a0deab37e43aa91f28782f019f3a95453d334088720777daeed5c86f11)", + "P->V[38176:38208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 4047673, Column 2: Field Element(0x5f333bb72d78a5b467a97876a40417f1631b908823875eba803499e7f0f512a)", + "P->V[38208:38240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 4439060, Column 0: Field Element(0x6c8c42e99dca23d1f0968dade027ed7446f5d40311674c53002b85d70c77d1b)", + "P->V[38240:38272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 4439060, Column 1: Field Element(0x6b76ac8c46f2075099199495dbf16bafb991d1ba2215520baf9d427ca23c60b)", + "P->V[38272:38304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 4439060, Column 2: Field Element(0x69c6273711f6111ae9bf05040d7d879ff3fa6b33df93935d5da1bc09c2da0a0)", + "P->V[38304:38336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5401555, Column 0: Field Element(0x22d94ba0a252f817eef1edb12d6f6d0860a23f43eb6774b86a0e851948cf4eb)", + "P->V[38336:38368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5401555, Column 1: Field Element(0x30e130bd31ff2f2a49f854892b6cd7be5bac1bc8eba5e16d38f2f6ae1781253)", + "P->V[38368:38400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5401555, Column 2: Field Element(0xb651136f010033a1bd92a503ce3b5629ac3c2a644b1802abe091b9ffe1a508)", + "P->V[38400:38432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5969744, Column 0: Field Element(0x6e0aadd3f0d22ad6b91d661e4e38eceba2d1456d7323e6c4640ca109fbbf0fb)", + "P->V[38432:38464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5969744, Column 1: Field Element(0x1e6938655a0102d7101b1ccbf53673d5185debf443f219d9c156e92ac7742bb)", + "P->V[38464:38496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 5969744, Column 2: Field Element(0x3d4642cf1f9a24ae0b90c53102e3ec30d0734180f42fcbe783962808dba1567)", + "P->V[38496:38528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6609616, Column 0: Field Element(0x33bb4f61e45563e5ecef253225342d3573d2fa29407d41109e8d4ac6a169da3)", + "P->V[38528:38560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6609616, Column 1: Field Element(0x1a7145e384ed9ab3554705c5e5a56765513afd7caa07c32cbb32fb2f556ebfa)", + "P->V[38560:38592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 6609616, Column 2: Field Element(0x93fcb4f917bc922c712c315c6ec01f2139546a3837b8ecf6ca184230b8c6f)", + "P->V[38592:38624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7821485, Column 0: Field Element(0x1b32dedfd41dd9b93b055beab1a5aa0c8843d84c297b4c934103b6260ae5668)", + "P->V[38624:38656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7821485, Column 1: Field Element(0x452b2d81bd10c4d6a168005c4fcb4e6e61d4d23fe41ee9902d650294f438a2c)", + "P->V[38656:38688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 7821485, Column 2: Field Element(0x2fdb4dddba40966cfd156965c43698aaae7703a416669d71964d1111c30e4cc)", + "P->V[38688:38720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 8255478, Column 0: Field Element(0x34448051a2b7f1954a5ba3fa16bd5e047704b80a2203fddf70446a6b34016fa)", + "P->V[38720:38752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 8255478, Column 1: Field Element(0x2dd42a4fb674edfab3a9ed3f49e057600e2b9dbfcfb68f1783fcd7ef0a91545)", + "P->V[38752:38784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 8255478, Column 2: Field Element(0x5c4d9230e4d5d49632ac71de0175ac26b9dcc0bce1e56e93d00e4c5d9c08931)", + "P->V[38784:38816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8553656: Hash(0x4829979c9666060c17254d835b1632bec32cca4f1227e51d8324408c632b1e9)", + "P->V[38816:38848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8577816: Hash(0x3a6e9805ac3684100698ff16f3fa589d227c7a9de99ed393eae2e11bc6e3e30)", + "P->V[38848:38880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11027740: Hash(0x4cf158328a4921edb8f0cb6a05617e584eb6461058cc425f45d11460a25dc80)", + "P->V[38880:38912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12436280: Hash(0x7493a761f8f22c0dd0be141b1cac3644b39735460350debd16678052e1e286a)", + "P->V[38912:38944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12827669: Hash(0x5a99aa8e2a4419ff5a94cf69548c31f1632b233db5b19d7fc2569ac3353fb67)", + "P->V[38944:38976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13790162: Hash(0xccbbd920c7dbf9c95eca49ad944dfee38a674ade536bc30a40a7f7c61f06a2)", + "P->V[38976:39008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14358353: Hash(0x4d998174de68c182aa166497ab352ff28d8c3b8e35b4131b0debacd927b823d)", + "P->V[39008:39040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14998225: Hash(0x4811111542c554c49ef09d8b20fc9d8f13ca5116c958ab656a4ed36216ee6af)", + "P->V[39040:39072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16210092: Hash(0x1c5add50e2a9c4332b13d416fd880a887c3d3c1a09123231fbe01f0efc54ba9)", + "P->V[39072:39104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16644087: Hash(0x106de0aca931b169b0388d3c837386ad0d2b5eb0a4afdd6f6f16c234f023801)", + "P->V[39104:39136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4276829: Hash(0x72b5e7259bbafd0a37325c2e0e17c03dbf373e6cd9e0b2c31eb5bd6778d8dc4)", + "P->V[39136:39168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4288909: Hash(0x58ce728bd55d4e151817ba6a8dca7ef9d5ca0f7f5e3110f303ee25a9120ee2b)", + "P->V[39168:39200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5513871: Hash(0x549b69d32c91208137df8ab0d0077d484f46ab5a2564fe77320537e396c71f6)", + "P->V[39200:39232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6218141: Hash(0x1c8b811d7cde5f9c69e32ada788533b9f419204d206cf90b621703696511b4c)", + "P->V[39232:39264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6413835: Hash(0x5711cd56229996eed4a50776a9fafb620993e7f44af027bc09ec33f3c525b0d)", + "P->V[39264:39296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6895080: Hash(0x9836f7c830e18534408d20b96649bb4e8119d352e833d51767dc03510c3b38)", + "P->V[39296:39328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7179177: Hash(0x617426575be6f91d84161af8ffbaea9ae2096fc9fd9b32906cde88b74f9afb8)", + "P->V[39328:39360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7499113: Hash(0x5a626d894970432f7c8321a263cf69387b86898b903e88296ca05862cae3971)", + "P->V[39360:39392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8105047: Hash(0xfa1bc22488f9af3c437990ad09d887f81a47adc2816226bd3dd9514e01a9e5)", + "P->V[39392:39424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8322042: Hash(0x1ff601d0efc97a182b9b53c948db8e26d694f8cdb660b41d5df5759b3a1a4eb)", + "P->V[39424:39456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2138415: Hash(0x7b3da44d1dcf25a223a9ccd1ae494890b2dc7e7ae8099748f8f1911fe1d441e)", + "P->V[39456:39488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2144455: Hash(0x546f8e2599a79b1df3f852d536f51c5c3f70855aa18c38248d43f263f0dbae5)", + "P->V[39488:39520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2756934: Hash(0x5c94d0d33a8115c3dfe0fe1a51df452bb8ab1ae08cc2788fdc69794375cc59d)", + "P->V[39520:39552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3109071: Hash(0x6e71e27097b5d18a1231bcf23fa214d146c66318a64041f9e6eaea0df4b11e7)", + "P->V[39552:39584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3206916: Hash(0x1235e4d2f1cd74d908f30f7354948d2f1a3a97d9577a75aea3c9f1420cdced7)", + "P->V[39584:39616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3447541: Hash(0x38ff88d88bdd52d9e468d718908b1c032e0ebe33573c72474982a8399b2aadc)", + "P->V[39616:39648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3589589: Hash(0x62b082f72f60f73df5cc13331ea285002d59ba6693bf03cf127a460a72b63e1)", + "P->V[39648:39680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3749557: Hash(0x2b59ddcc8ac38623405793980bcd6c417bf6768383221c284cfb26e42af9d88)", + "P->V[39680:39712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4052522: Hash(0x29d6d8225a45b941decb63d753669eb452861c4b6db59fe8910bf882b4b4502)", + "P->V[39712:39744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4161020: Hash(0x6d220881b1accdd045a87322fae5c3684423cfbd80bd281917f3b3b7b1c2648)", + "P->V[39744:39776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1069206: Hash(0x69eb7028cf91a7423862283034d11f2c7ebe9f67f73e043be3b427c70acd837)", + "P->V[39776:39808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1072226: Hash(0x3337780b4ca60361d3637ca488c77487de27cfc23b68b7076e7af49de261f90)", + "P->V[39808:39840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1378466: Hash(0x2a6a1fad002749eca578123e3fbea171fa826f0405c73ff941718073c7451d9)", + "P->V[39840:39872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1554534: Hash(0x60c121d10bc60d77b1f05717d0b7023c46548775fb80520758ee042f76fdd31)", + "P->V[39872:39904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1603459: Hash(0x752a7ff563c0e30ed13bc7130f001c7a2325928a222ad8b88be503e528cda3b)", + "P->V[39904:39936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1723771: Hash(0x435ae40beb411cb3f7050105347a2aa6c6f0849245b5fdcbfa17fb33198c9d1)", + "P->V[39936:39968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1794795: Hash(0x6961e0f6f6e21cf17d1fb3e4d674ed2944beedd8050fd7acaa3e4b6ab391e83)", + "P->V[39968:40000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1874779: Hash(0x5c4182e5a758d6f22943f3efda8331e513e088a39ae34ebefb2b8c6710b2b68)", + "P->V[40000:40032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2026260: Hash(0x4d3a0563a0011a527010fb854a30008910cd7e12957ab0cdcb674701fb33628)", + "P->V[40032:40064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2080511: Hash(0x668ab3b637667ecc662ede61e5377e60bec38383aff5d867427349306c2c9a4)", + "P->V[40064:40096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 534602: Hash(0x4d783f494ecf76afb7bbf055868120b35468a7cdf5dfd4682185ad4f2b9ed47)", + "P->V[40096:40128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 536112: Hash(0x49327332c949ab8de5abec6bbcece2acf76e9435495556d48829365517e2504)", + "P->V[40128:40160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 689232: Hash(0x3d5717edb848bafa539b1653294299cabb51e195002122a239284ae947a79f4)", + "P->V[40160:40192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 777266: Hash(0x8971aca56a2791487414357cde58664c42b834eb116e0063d08d0b8eab17cb)", + "P->V[40192:40224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 801728: Hash(0x57d15983a9f14b2ce57eaf9e11c7f6d2a26047f983a75bf7b19d83fcae89b4d)", + "P->V[40224:40256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 861884: Hash(0x397f4d9a9d067a08793f963cda3a5c41e5e2444226382fb27da75c6c34beb5c)", + "P->V[40256:40288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 897396: Hash(0x5ff11ee165a55cc1545ba8cd6cdcb24142d6105193bc219f02476db67833c18)", + "P->V[40288:40320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 937388: Hash(0x68bd45d2a216ca92ec580d360050351429192ec726272d11f3f146d086107f1)", + "P->V[40320:40352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1013131: Hash(0x7d5deb265eb0e908542d001a2cafb16cb0c7c5c7f73fcceb40d2a5ca7144abd)", + "P->V[40352:40384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1040254: Hash(0x2155e49aed6f2aa3be4d1d3e291adef14c2630837dd835be48e1843a84e47bd)", + "P->V[40384:40416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 267300: Hash(0x2c03b585d78b37a6db0407f846c69ce05bba9eb053293a63b7f911d02440a13)", + "P->V[40416:40448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 268057: Hash(0x73d8798b87fc763903f3e99f26e5f5f1c1b6e7a50e3672c563d37550958dd04)", + "P->V[40448:40480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 344617: Hash(0x52f3a1acba4fe75a92399751aa3fd6b65784dc6b006449caac396db90cb7f38)", + "P->V[40480:40512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 388632: Hash(0x719cafa396dd23c291457885f1cf7044b50ba2781235b55e05e33d5b8fe4cc5)", + "P->V[40512:40544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 400865: Hash(0x109e48f99782559d83ac70512cfc7894cf463630afb38225b75e27e69437f3)", + "P->V[40544:40576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 430943: Hash(0x647c049291a72de901778fdb572cab488cd9dc5898efa6be12bbd072e0088d7)", + "P->V[40576:40608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 448699: Hash(0x4a013c397e777dada1660ede3aa22d141fbcf35487be30c8d05f09b04572e64)", + "P->V[40608:40640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 468695: Hash(0x7fc249937c84776ab7889880a5c3916f854e72de06d23a7d7d047516276d78c)", + "P->V[40640:40672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 506564: Hash(0x3961b62665143332b0115359a0ed1f1ecd598e985f55157f7e3a0075c585071)", + "P->V[40672:40704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 520126: Hash(0x271697eea1d1ed48812d47d57fc3fbd2b81abc1d27269d600d966d44b0e1feb)", + "P->V[40704:40736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 133651: Hash(0x17e547f80ffef39cbb1da4c634328a0336892b24f54a57acb9fc0a269f4cb41)", + "P->V[40736:40768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 134029: Hash(0x1ca44912dc14bcc38cce8055d249ff99b79fe6b3cdfecb89d3dc5175aeeeba5)", + "P->V[40768:40800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 172309: Hash(0x7c8a2a8653258ad964d5ab028943191a79055ad695278314aeeb0f390b5612c)", + "P->V[40800:40832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 194317: Hash(0x4ca21dc122fd57c47823dd38c7e920d7c538125f905121759f86e456d008b9b)", + "P->V[40832:40864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 200433: Hash(0x33c02e25739316d8a362d2dfd09aa94b0fb6fce7f3b877cb4b5e734204000fd)", + "P->V[40864:40896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 215470: Hash(0x25e7f904bc15af39317f680b177410077937b379fd5374cd754c46466b25af4)", + "P->V[40896:40928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 224348: Hash(0x2863181e8d7e053a753dd4ff8cb40f6eea63f189be185e467ff59d9b8d8cc6)", + "P->V[40928:40960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 234346: Hash(0x3236128135198764eb3d762b31ad6e964b97f8bf13d9f4de686d29aa797e5d4)", + "P->V[40960:40992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 253283: Hash(0x64c22f90d64e17de00d2478c9d1ba3e89562d9d739af957cf19f770c3014099)", + "P->V[40992:41024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 260062: Hash(0x267c65700d0c71e5c26efee77ff06a626ea94d76a2d11d8b581a6d48ff36c56)", + "P->V[41024:41056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 66824: Hash(0x14c882fab2e25e1f9c4d0050c574e03e19b6a9660776b99b9b394fc13e6928f)", + "P->V[41056:41088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 67015: Hash(0x1418aaf0e8636ec2cce8a2a42e71432d0739ca56b53b49b84415afd47c88b6e)", + "P->V[41088:41120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 86155: Hash(0x4fab49c11cd661e1a88cc458cbb0f571645c752d04dd3238d4378329896872f)", + "P->V[41120:41152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 97159: Hash(0x4a66990cb093fc0eb3c09371a2d532f60c94c133f473b8580390d3ce4988ac2)", + "P->V[41152:41184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 100217: Hash(0x24a212b836aca778c534bbb7f832d876dcdca80bafeb39376a398621287c49f)", + "P->V[41184:41216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 107734: Hash(0x2bc4e7652f6e3306c7e4cf89e9484025390ca57685751907cdd2de88c9b5c7e)", + "P->V[41216:41248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 112175: Hash(0x4c4070cb489e058a1b32633691b4edf8cf0a2dfe6aa23fb747c334095c06e79)", + "P->V[41248:41280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 117172: Hash(0x6b293ef415d1ad7678f81e76ec0989016f26dae5a29508cacb1153edf0bdee9)", + "P->V[41280:41312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 126640: Hash(0xafe0bf1c6b3560be934bd432f7ab47f2e02b3504d6e0d74ff4532291c34030)", + "P->V[41312:41344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 130030: Hash(0x5c38c2f045a2e28b1ac7f9c06956daefd886d0cb419d8bab82c64ae6f3afaaf)", + "P->V[41344:41376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33413: Hash(0x3d5edf16ee821da8bccc55e9a427b927f8ef485e999f8a7cde749bfb150a741)", + "P->V[41376:41408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33506: Hash(0x4c7aa99d452065398d1a320317b16ad9464753842779c447fd7cf358ec954c4)", + "P->V[41408:41440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 43076: Hash(0x28a52cf249c52044bd3be7c5c03eb452855a3cf06c49667ef6979a877d9b41e)", + "P->V[41440:41472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 48578: Hash(0x1fb7084692fd89d614012b0cf083ff7f883b2bbecf868f1ee67074924377cbb)", + "P->V[41472:41504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 50109: Hash(0x435aa90a19bdf4eb23f462476f4c682cdc2c1c4773e471a74b6018cd5376c76)", + "P->V[41504:41536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53866: Hash(0x7ca643dc88f4f9584ddf0654980db936dc955381688b9fa04c034660e527bfe)", + "P->V[41536:41568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56086: Hash(0x3bd00c6e7375aafa7f257e7bd54f0c342dad086b9219165ff311d5203829f30)", + "P->V[41568:41600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 58587: Hash(0x46940541dbbedcc485dc7ec1ae8898ef7276a4c3c9d9ae8aa1735a7a0c6ae6e)", + "P->V[41600:41632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 63321: Hash(0x382307b4edcdb4477ca466b216f800d547cee4888fa8c4addd4c05d7508b287)", + "P->V[41632:41664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 65014: Hash(0x680d30c11637a91edd198df206995a6aabd55e12fcc2cf05ab40c35362d89f2)", + "P->V[41664:41696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16707: Hash(0x7a9f7d69db43df2660adfef74bb74901a2dda3fb7c60edaa37acfe4bbf3a611)", + "P->V[41696:41728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16752: Hash(0x37709e0b2a0d9a67568b9ab60cc4aca9ce2d247f6e58e1b4359b06df56655ae)", + "P->V[41728:41760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 21539: Hash(0x35da853747d7362afd3154699623f087de598885700005b6111b341b8a1e0dd)", + "P->V[41760:41792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 24288: Hash(0x6dfe05c227dc4e9a70c31ce5cba403979a7f53bef585336a510d5546cefbaa4)", + "P->V[41792:41824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25055: Hash(0x61931da4b1ea62b55df2cdbf9d7e248693d03cecfc82c482670a3715d0ce61c)", + "P->V[41824:41856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26932: Hash(0x1b072489d202c8cdb4c4106a65460da2c8a96fb4aa161836b2ff35ff10b4284)", + "P->V[41856:41888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28042: Hash(0x690aba0db9646b1becb5aa80d8cf56ca078a064cebe8ae6d17f00e824e0b3e6)", + "P->V[41888:41920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29292: Hash(0x4ae53026b95e8a44f16a710a45dbc85895bf5a9db65bad8bff11ec1b41bd756)", + "P->V[41920:41952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31661: Hash(0x45fe2943b0345d33ae4904bbd3f2e818fdf8307f84f8f09bf6a1a16fb4660fd)", + "P->V[41952:41984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 32506: Hash(0x43c715b78a5256b5d11b53146448873ddce7c55bbd5f6d6d0d8a4da9af838ec)", + "P->V[41984:42016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8352: Hash(0x10927113a7b06b461b1d663c0242e100474155446592dda32360665f5f5178c)", + "P->V[42016:42048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8377: Hash(0xae40408dfb0737fc28fbe7adcb77e8d8005bf03b305d5f95d6ca6ff3b00d5)", + "P->V[42048:42080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 10768: Hash(0x75542dde7df67a47c40c63014d4e237b2aa2a0126c51074475233cdc5a16882)", + "P->V[42080:42112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12145: Hash(0x50d5fbbccc920f83b14ad2ffa20e89c274407cc7462e20c2732f44fed55b247)", + "P->V[42112:42144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12526: Hash(0x2fec88c848563f196f9c549dac14f52548a113144d9346f4cb94874e17bdfdf)", + "P->V[42144:42176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13467: Hash(0xe269a53aa4be2e9ec3a4d579ea232160d5b4b50b9212a1ac14fc6d62efa16c)", + "P->V[42176:42208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14020: Hash(0x49f593155750f0d52b844a20a50f85e1d43bf036eab0af54e9b428cf8498b01)", + "P->V[42208:42240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14647: Hash(0x79c913fd62bdac57cc3bf8c477a12cdb628ba96b86cd7a20a7d143630321021)", + "P->V[42240:42272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15831: Hash(0x922f24e6c7b08a144e8049ceedf890be11afd929d48728b2cf15f950c8a3ef)", + "P->V[42272:42304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 16252: Hash(0x67a7fc93c42858f17e534dab4288a4e0dc2cf67c2d82722aa8d44dac6aba99)", + "P->V[42304:42336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4177: Hash(0x73ebb2d60cc1ffaf6cfa678fb310b047cd8a57534ba82616afdf7f5c325a8ce)", + "P->V[42336:42368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4189: Hash(0x7b7392cb4781b372df95f1a2892e65ba4632c5cff3726e11bcf1c4949a2998f)", + "P->V[42368:42400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5385: Hash(0x4c6ea92b8b55e15a3908b7d4089ff464d23a8997ce104df408c726de5ba4d44)", + "P->V[42400:42432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6073: Hash(0x1de6314107f6ad9a8b8192ca80b31e50c8d8f66e07c55a2a810396c63d3676)", + "P->V[42432:42464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6262: Hash(0x5cfa7d0343ddd5d7cccfd2dcbaa9bbbb4026440aa1fbcb832f65c54611fb4ff)", + "P->V[42464:42496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6732: Hash(0x6f4c988aca1538ddf5d781fc67478fccf4b74c8b35717bf049bc571036871f2)", + "P->V[42496:42528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7011: Hash(0x2ed18159e10b765d35833cec828cbd7d9d611d33aff24477ed14c1e300cc028)", + "P->V[42528:42560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7322: Hash(0x62c688683e2ba34dd6a3a72618152f0cb888df2d083cdb1de8267a885c0f0d8)", + "P->V[42560:42592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7914: Hash(0x6222d4aaa8d161d294e78c028e87cf8ba7b7d5bcf4ff95ef21f3fcf8f3cd3ab)", + "P->V[42592:42624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8127: Hash(0xc81b661a42366c5f649e923e3099788efcdbbb9ca038aed26e505171f32c8f)", + "P->V[42624:42656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2089: Hash(0x67ddbf519192a8f74d97a6752232317c20675131af23e3d0055b4c71410a99c)", + "P->V[42656:42688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2095: Hash(0x7255708246122457b99c3366515f6131d57f0bed3da8362366c212d104284c9)", + "P->V[42688:42720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2693: Hash(0x79a173c9ebf061dfa415620cf0532b85274e43f0765b2376c35628cb447e28b)", + "P->V[42720:42752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3037: Hash(0x59a75dea460a4671e8c76266dd3f6f94728e0be92ac0d17c9f43b09d3e09c4f)", + "P->V[42752:42784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3130: Hash(0x5cf4244ac0ffb4a38a7a67978739c459e05af30156e1192a79da27f313a5bc1)", + "P->V[42784:42816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3367: Hash(0x226559cf56151849d8bfb3660e894e3fbc41262fc0e7a5344727a69d153cbfd)", + "P->V[42816:42848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3504: Hash(0x250aab184e2864512c58a324300188772672e870c2cad3196cff1b5cd2d128e)", + "P->V[42848:42880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3660: Hash(0x38be41bd1095ea0bae7b962bbc5a5b882b9c66de3edf35ad8153c471612ba54)", + "P->V[42880:42912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3956: Hash(0x5c7a14f547dfa39d769f68e0bb596f65575322cd5002a8ee050e8fd9512f79f)", + "P->V[42912:42944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4062: Hash(0x59fda4c7eb836211f567469addaf34dc4f6a076e04eb70b17936bb01881ac10)", + "P->V[42944:42976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1045: Hash(0x548a0189b7c69af58dc64f449382105b4b6f6e31e4a2511b0c8ef9063256466)", + "P->V[42976:43008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1046: Hash(0x2bde21fe745c2dd60a8570df7d9b0265a7d617adbbb143477556af5b6c54607)", + "P->V[43008:43040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1347: Hash(0x12852f73b4823c39eb12c5a734e1fb43081ffb2261ecdf576092b1d7ef5694f)", + "P->V[43040:43072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1519: Hash(0x5bef39047da2bc321019ef85bbc21639d6c8fcdaf8481a02aa550afbcf16190)", + "P->V[43072:43104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1564: Hash(0x35953bcaa8cb6722a5b9a07e28c8e9f09ce560b604d80ab1cfee1878a4a5384)", + "P->V[43104:43136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1682: Hash(0x7886c49f37524f627548ea39a0e46933d4cf8398ca065e2b156e96c016f6ede)", + "P->V[43136:43168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1753: Hash(0x3fd9b6d661e1ef3b59d523952f7d347d88af034f131eb8c30ced7355514f7e4)", + "P->V[43168:43200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1831: Hash(0x601a50177437245a836d48142bbfd92f35bc24e500ccfc2eb6acec5e212ef16)", + "P->V[43200:43232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1979: Hash(0xf65dd7e62e2f08eb0a2380dadc30559a79ad094b61a6a834b84c25456bc4ea)", + "P->V[43232:43264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2030: Hash(0x445cbdf36dc2e1dd1facced4939ee82f64cfa43bb326b6ea34c1b35c76a9d10)", + "P->V[43264:43296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 672: Hash(0x6a312d0d6c3f73619b4e08a944f19fc34a8159cfcb39436a24b2f7c0905ace6)", + "P->V[43296:43328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 758: Hash(0x5d82eb21de6b31f05d5a4bc3fd3644aabfbc26e4713022dd8999b6069841aa4)", + "P->V[43328:43360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 783: Hash(0x44b807d72a9228d4d429619d96a13257d39743163e2ef5fde528e88eac4bcb7)", + "P->V[43360:43392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 840: Hash(0xd136be53f151a8d2921debca471a14205214b899e814cc9e2f9be1282b0743)", + "P->V[43392:43424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 877: Hash(0x32a9056e3d32737b2fe4745c5bb6a56b4175c397f113f3b7901b27ca01eb48f)", + "P->V[43424:43456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 914: Hash(0x2d518e09bd693bc6a779127081bb6525890ffc1b115d930ef9544a6c8a97180)", + "P->V[43456:43488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 988: Hash(0x10f51cd85c532756a29facf4806831dd2cc3efcdc020c5961b97140d92104b8)", + "P->V[43488:43520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1014: Hash(0x1235f8792fe987201ef955884ebd13c6ee0f9284994e41decfa47b91385397d)", + "P->V[43520:43552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 260: Hash(0x196ef1d2cf3e226b65ba068272854d734a134c9fe9d69e3548f55c82540817c)", + "P->V[43552:43584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 337: Hash(0x6561905e1f212177416b428249cecb1961f3d3968afd16180bc3dd6226a7146)", + "P->V[43584:43616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 378: Hash(0x4e7e47bdcd12ae2f40ba0130a33f17c413666b11a87ee9b8e88e69a7f2fbed4)", + "P->V[43616:43648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 390: Hash(0x60fa398fa8c3b5ec21fa7de2e42a5a5f4885643c8b2af87fda1885b9377e21a)", + "P->V[43648:43680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 421: Hash(0x49411e2099a18d48067b3f18d9b7f681d7f2cc1f6b125decb4b7409b55047b2)", + "P->V[43680:43712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 439: Hash(0x2aeb53dd0146437a97b793747ae538e68a1d9faafbd6a7242339ae4564f123d)", + "P->V[43712:43744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 456: Hash(0x69d0ac883841ae08221ef7de607a558ae07a76b876eb8b7c9fce73fadcc4abe)", + "P->V[43744:43776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 495: Hash(0x2e8d25bd4e2d778c079a6e8f8b831e23ae1e0caa8bec879dc0415759a2bae84)", + "P->V[43776:43808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 506: Hash(0x2b3af02498ffd653a3ef7e393f3bd8acb588300a71187a7c1d3ca6556aa4e0b)", + "P->V[43808:43840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 131: Hash(0x31ec393135d1c758d6415160ad220e61320906b815bb1c00a68ca22f46b30f1)", + "P->V[43840:43872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 169: Hash(0xa4b2167903da5e3a737fb12cceb03a447b148542f0ffc45b9dfe0b205908bb)", + "P->V[43872:43904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 188: Hash(0x62ded6519b524975107bae520fe5b35846a4ef79d3b423a8872c9b93caf6c7a)", + "P->V[43904:43936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 194: Hash(0x48e37dcce652845c95c4049c90dede74f6d225d95d36a85b5318d3844e687f6)", + "P->V[43936:43968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 211: Hash(0x3e74b51a2a5f8010e2b3ab6de94252495ea53399167856a4cfee10c32dee051)", + "P->V[43968:44000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 218: Hash(0x694a5cbc3bde5bfef60b0e5e47632d0ffcf8d7b00773287792da9bb891e3e33)", + "P->V[44000:44032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 229: Hash(0x3d9b786bb4a900cb778cf145dbb3e7632fe5d9909ea52055ffc56ea33c5ab06)", + "P->V[44032:44064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 246: Hash(0x29a1af238c91167a3528a15623cade693d65c8818cd66074db7216c0eaf3ffb)", + "P->V[44064:44096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 252: Hash(0x4f6c9e3dce36c82ce419614285cd96de24957dca62dfbd4b6399eb50b8a32e0)", + "P->V[44096:44128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 64: Hash(0x618e464097be7f3d2b7680a8234b20fd828c40c4c75fad43dbe40b14e0ee260)", + "P->V[44128:44160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 85: Hash(0x33f071dcc91181f95fe4c4d07788f53267171235db8ad050b8be710995528dd)", + "P->V[44160:44192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 95: Hash(0x7c65661e015fa463c3d3f6404ca5bce6790b7eb67f51b86e10ebd236bbf476d)", + "P->V[44192:44224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 96: Hash(0x505ba3d3fa45ae0b30c0f22932b7b875a92a10c0f8fe0943a736c84bb3438b1)", + "P->V[44224:44256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 104: Hash(0x7798ccc7063557dfd710851828bc39e9baba9a4c658b58f01cfb14a4aba4343)", + "P->V[44256:44288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 108: Hash(0x6f53f9804582cd52694cd8468a707c849e0b76d8a40b2137d63bada773fe38c)", + "P->V[44288:44320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 115: Hash(0x76c213ea87368ac4b8c44322f03ebc8cbe4fcc4c2010428ba733e9418b81913)", + "P->V[44320:44352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 122: Hash(0x422e96471f545a4468fe73d87129ed1283fc758ab7003dbe362669588778484)", + "P->V[44352:44384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 127: Hash(0x213538389866b39f59b86426294efc0d40719f376a6413e8eba74491447738)", + "P->V[44384:44416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 33: Hash(0x125552b58c4b67cff3448f17da49bd1120821d0f809158b38bfe34ab7fc2971)", + "P->V[44416:44448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 43: Hash(0x157ad325ccd703bcba53c4ad835831dee0a9f2e20a36614803537dd65016307)", + "P->V[44448:44480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 46: Hash(0x1407cb3e4547260a3e14220f9182b570165846ae3afc42beef4b7b3eddbc205)", + "P->V[44480:44512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 49: Hash(0x56bd56dc88700e2dd5fa9c69104af6cfd7b07fa29874f128578c871e240070)", + "P->V[44512:44544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53: Hash(0x2f55030df46a88700aa6b6c5fa6eaea908a23c31d2d3731855e6d0d5afb4fe4)", + "P->V[44544:44576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55: Hash(0x4893cc4c44bddd818228c308935c86fe5ac3218706c0e5e842cb48dd87a6d06)", + "P->V[44576:44608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56: Hash(0x5432d55435a91dec4f95e27aacea1148877cab6f69cc1fd6a72b57ee2b16d04)", + "P->V[44608:44640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 60: Hash(0x7aad91d94d9336b4e2e67784ec1003d40b78a6fed7371b0af5abcc6a796e44b)", + "P->V[44640:44672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 62: Hash(0x5494c2de757990ed129581388480d6feeb63c56390e9485253e006b135f07e8)", + "P->V[44672:44704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 17: Hash(0x7c02c975f5c8175efd8b10d5afbbdf8c238a8653e41b60dd554c3484bc33cd9)", + "P->V[44704:44736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 20: Hash(0x339454c9fad04d606f0ff91cf31c639e32fe14267644f4503e2b25a8714286e)", + "P->V[44736:44768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22: Hash(0x51d759c479edd4cd910894334e6e06c04da99e7756aedfd24f8fe1ac889dca4)", + "P->V[44768:44800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25: Hash(0x6af0ed664a324ff6be53bf11c242034556624a73873683fe8a125efd00fc2d2)", + "P->V[44800:44832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29: Hash(0x5d23ab79e67d6186483182f7e3993d9cf1dde5d8dcc43442ac5e6a737816f39)", + "P->V[44832:44864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9: Hash(0x50bcfa1b9ce0c015efbc992d964dd2e03ba8f1224a35e00d15e48fca9176b1b)", + "P->V[44864:44896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 165049, Column 0: Field Element(0x357fcdc6f3ac79833c0a5f1768f97c76cbcee9d74729eff9fa87d2457b09280)", + "P->V[44896:44928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 165049, Column 1: Field Element(0x2c40938503358a54e87756d8535c7ee0d53bfbf474599e3471fde0a76ac5046)", + "P->V[44928:44960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 189209, Column 0: Field Element(0x7106179bf8f0c105a67585120298c7942659fe335708b225cb20c2d89fb386b)", + "P->V[44960:44992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 189209, Column 1: Field Element(0x67477169ebc36f9c0413bf5a4dff0729e0bf49d344a9f1aa65970cbd934d22d)", + "P->V[44992:45024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2639133, Column 0: Field Element(0x33eff1e218bb4754308b32fea492e5973982975d95a8c7927b1293f0c91f5f6)", + "P->V[45024:45056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2639133, Column 1: Field Element(0x1e5825e23bcd495507aed6e4f247b7519334c1dbb07c5fa5d99aad72b086af1)", + "P->V[45056:45088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 4047673, Column 0: Field Element(0x53063447e551de71b9f3fe5927caf829d3d2e9f5ac083d8acb2e0e2c418e6b8)", + "P->V[45088:45120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 4047673, Column 1: Field Element(0x4e6418794111531c218253bf79909474882820dcd79560636ce82003c0797b2)", + "P->V[45120:45152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 4439060, Column 0: Field Element(0xca7f0af31d225aa352f46ea11ed93e007d76a2c0fc493e75521fe7fbb42844)", + "P->V[45152:45184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 4439060, Column 1: Field Element(0x49c005da5adfe428bbb962652cb8b9f5d7096eae7c77251196cf961532165c0)", + "P->V[45184:45216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 5401555, Column 0: Field Element(0x7ae4eded76ce6868dfca008d6916c0c147b16ecb9534803a065da47558d00a9)", + "P->V[45216:45248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 5401555, Column 1: Field Element(0x7856989e778a6ed52cc7bd750ba9491cc6b2dd2629707ce5068e93ea59da4ba)", + "P->V[45248:45280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 5969744, Column 0: Field Element(0x17be6bac657c8a356fce4dafe14701a4422db425d52188d1afcfc1ee3e5739a)", + "P->V[45280:45312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 5969744, Column 1: Field Element(0x2efed4258bc87d52696fccd34dfe5fcb1e679b52712c82a91aa706f2b3bd305)", + "P->V[45312:45344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6609616, Column 0: Field Element(0x488a187b9f0cecd3396df3b50c91b496a53c13a597201361159bb952ffe5773)", + "P->V[45344:45376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 6609616, Column 1: Field Element(0x5b7ee68a736c756195a861f5b2002803daa6a89a5093d4d3623d4fa18f7c7e4)", + "P->V[45376:45408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 7821485, Column 0: Field Element(0x9163a26fd783f0fb88f38b7a1d62dea01822772c21e59635f8a187d5ef90b9)", + "P->V[45408:45440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 7821485, Column 1: Field Element(0x7c80da1434700dc0c5589cceae7dc04d0787657d0a3b93dbc56176b8fdc75e2)", + "P->V[45440:45472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 8255478, Column 0: Field Element(0x38103b6764528de0b098e670143db6d2451a8029102cac86104443c303cd6ad)", + "P->V[45472:45504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 8255478, Column 1: Field Element(0x6e316043223b0a1da79befc008436a24a4c1a95748752fab0d0062a15497373)", + "P->V[45504:45536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8553656: Hash(0x17bd0e504b8d33c40ca647611cbb78ecb246e21a9958079f0f1a3de91fd5c50)", + "P->V[45536:45568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8577816: Hash(0x4d5054a55d6e9970b6fe4ca26edd0a6edd891f55c97ce83fbffe267a1204926)", + "P->V[45568:45600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11027740: Hash(0x66f94cd943dfc1e564131f3c4a0e9e6453883c5a1aa5bdae93859978944d182)", + "P->V[45600:45632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12436280: Hash(0x52e4b7fb9775c19b70f40823d85828deb11fd913ff24f20c5eaacd7cd80410b)", + "P->V[45632:45664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12827669: Hash(0x38bda27a1b1703ba5109b5411060e2ee6b692f239bbac0c94578b27b5eea105)", + "P->V[45664:45696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13790162: Hash(0x4c9a854a3c2927a7ba6f81a719778b07ced54678fe5b252f235317418ce4405)", + "P->V[45696:45728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14358353: Hash(0x5a3ed325d79e2cd6d151e4a9168d5b38fb70fa818c36d332e4ea7c646aacff5)", + "P->V[45728:45760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14998225: Hash(0x42cd81ab91fffdeeca5713f300391b6be1f0281300b2d495c396eea7330e7a)", + "P->V[45760:45792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16210092: Hash(0x7b8c1491501e2f85e4805e944ababbbb5d512fc3166b3ba8d9e3dfded28aac1)", + "P->V[45792:45824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16644087: Hash(0x34f37f4ed4722177c554cdd37c68daf181daaa220a64d9b1b2a09a8eacebcd6)", + "P->V[45824:45856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4276829: Hash(0x5e3d39384a9fcbeda7d91c9f0a9ee8d4b3871e08e3d99292ce8900e6bf6d575)", + "P->V[45856:45888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4288909: Hash(0x33a5c70e029c3fdd98c65ca047a431d026d4113a345029f83f6c8b60b5f11ab)", + "P->V[45888:45920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5513871: Hash(0x6177c6c1d4a9fc199935c21bf04b788847946b54d9d957bef082b32c0c859f8)", + "P->V[45920:45952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6218141: Hash(0x2dc388796a6bff2eb6f5b71d686d85b6d2dd73ccb85aaaf6d95fe200284e78a)", + "P->V[45952:45984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6413835: Hash(0x519384f88b26446fdc37a9d55fc42cfdbfa521171f866e4df377639da6532f1)", + "P->V[45984:46016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6895080: Hash(0x6d4405e80e72d6373531db64ec84b7d992d17afc4ec1fb074fb2a94913c72f4)", + "P->V[46016:46048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7179177: Hash(0x3a6be1fd1c512c53e079deb332b9a172e7cf513b6087e2027f3a023cb7eb25e)", + "P->V[46048:46080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7499113: Hash(0x49b0bc0c6495700f3187fa5b79ee89672b3045cfbb96e4dfa469761e988b0b8)", + "P->V[46080:46112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8105047: Hash(0xb4e667ffac50cb20a8dcbd8fa31dac3d269611835889a81732104f574a9ab9)", + "P->V[46112:46144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8322042: Hash(0x4a71f8ad7ef75c6a64906aa1103315d5c759277134b14204ae03a499a79851)", + "P->V[46144:46176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2138415: Hash(0x59571dfd13bb0120a041d7d77f5406de8f5b49353c13bed50c27f173b79b4d3)", + "P->V[46176:46208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2144455: Hash(0x137d742f2de985d7d37f18a7112f70f81acda9fa944dccbde8464fa23c7f76a)", + "P->V[46208:46240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2756934: Hash(0x2abdb6447a674263e00088abdac9cf962fae836cb284cc5189b125d587028e7)", + "P->V[46240:46272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3109071: Hash(0x697b7ad37d34263c639a180da03697139de2bbd513a0b709cf2c9f93afbe953)", + "P->V[46272:46304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3206916: Hash(0x652a160068ad42daafc41b4d1568f316a33403b42be014a8d6e57e2f99ba317)", + "P->V[46304:46336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3447541: Hash(0x285fcef8fc769d904e72a1e96c1476fa7e1df179f438d0a9e720bf379431815)", + "P->V[46336:46368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3589589: Hash(0xb6fffc667c935b0eb9eb21db84572764a62283e82488580a02a1bad3447027)", + "P->V[46368:46400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3749557: Hash(0x2122e48af3a8e3293b200701622b065faedaa9af51953a89b36b09293596d5f)", + "P->V[46400:46432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4052522: Hash(0x6f5971c6b58b3f4d8926ef8b657180271b5e0249c2cad4af84893b1fd0c96f6)", + "P->V[46432:46464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4161020: Hash(0x12f289ac71eea4c0e1b04acdedc36077830a85a70248240d50d276876884d53)", + "P->V[46464:46496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1069206: Hash(0x7d4e654624813b3c51f9fc9fbde707f27e62f340902da516a133f512b640c2f)", + "P->V[46496:46528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1072226: Hash(0x1ad8e293ed711f429d5b86680899c785dc23a31af8cdd54d6a511eb40ddef6a)", + "P->V[46528:46560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1378466: Hash(0xf5070b571d95a174850f67ea2a1259f98657284eaf1704768912ee50ad8d28)", + "P->V[46560:46592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1554534: Hash(0x168a7d627c5f2354da53630ed3e1eeace429f0cea9295f4e8a547d05f7b00fa)", + "P->V[46592:46624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1603459: Hash(0x5750a13097f6745a373c7a208adfbf5bfb08633b57d38d78a674c536f5c17f5)", + "P->V[46624:46656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1723771: Hash(0x276529d5c35ebeee944980deea0ec81285c05659160614bfb4b7c1d924e271f)", + "P->V[46656:46688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1794795: Hash(0xf32e7fa8c418950387a6edaecae8253d460d374fc0346ac41c7558e182086f)", + "P->V[46688:46720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1874779: Hash(0x394d19b4832e9d59f5665d1b114a1add67233b525875402ae749729bee9f569)", + "P->V[46720:46752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2026260: Hash(0x445ad52f0048794371b6e4bf980ab05b570137cea9f58e9249643ff912013a7)", + "P->V[46752:46784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2080511: Hash(0x91a4a5d86f5b8a4cedfec9104b05b2279df0aa135fc07fda96f61f10cbd091)", + "P->V[46784:46816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 534602: Hash(0xa32c52587c49a5e646db606fcf8e789828508a416882a144b1d00c500d4568)", + "P->V[46816:46848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 536112: Hash(0x1c8dced20288286236c46f494206f5d9c6e10902b5a882d2becbdc6eaca9ae6)", + "P->V[46848:46880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 689232: Hash(0x489c5ff15c755ca2fb37ed9aebc3e7a878b0ac5dd8b876abdd4430b40897352)", + "P->V[46880:46912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 777266: Hash(0x17887769682a91806fb0786f6d7a42302a435ea65c1a073f9996a92cbcbb245)", + "P->V[46912:46944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 801728: Hash(0x1d2058313e54754d565c17be4cbb180dd6d8d6bc725e348564db92f08e3ad2c)", + "P->V[46944:46976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 861884: Hash(0x750dce98666c1d7277d0e9ffbc29b3e8b3cca1a3ea7851c9790707ac3b5cd9a)", + "P->V[46976:47008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 897396: Hash(0x66fc6beb70b0e6d995df808244d3b6ea3e206f6d88a592f820e1ac20c45353d)", + "P->V[47008:47040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 937388: Hash(0x30bb66384fdb877b54f699394813d3f18187680313ecaea9e33cebdf39f7094)", + "P->V[47040:47072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1013131: Hash(0x38d123979d5b38c9a4f15e7076ad9567e2c91a1671c6a80679fa8d57f08c68e)", + "P->V[47072:47104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1040254: Hash(0x1f38674355360a1c1f5fd4b9b402d4870d4f6977358fa5215dae1612b35aca5)", + "P->V[47104:47136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 267300: Hash(0x11a30e199d0b9f7dc35567a33cd58204867e711a3850b828d1052a4b7e30cfe)", + "P->V[47136:47168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 268057: Hash(0x24ed854468fc52394c4db1daea9845dec5f0b8b9e1bd748afedc6153682c6f3)", + "P->V[47168:47200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 344617: Hash(0x5b6635d1125c7bc18702ea25a2cfe82d37c21db3643cd3a1ae148f3bfa41457)", + "P->V[47200:47232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 388632: Hash(0x758faf43d6c7589ef315815d959becca4dc16b5da08bf711b4d2079c6510786)", + "P->V[47232:47264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 400865: Hash(0x2d2507d0aeddbd51b9ed34bcaadc6367690bd9546ba695e5eb427751fa1461b)", + "P->V[47264:47296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 430943: Hash(0x24ea96dc15ab80086ffbf6dcff1903abdea3e9a578512bebdfa23ed0bfe3b3c)", + "P->V[47296:47328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 448699: Hash(0x2f40024350a5d60a4139c4edf61a96839b4bf10b41de1d1755519acfd5a5720)", + "P->V[47328:47360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 468695: Hash(0x4e1568b82c9e6129713aecdaa5b64d4e0779e35d9b93a2586eb94d57f9d7726)", + "P->V[47360:47392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 506564: Hash(0x2d05687766742f16b56162b0b4e4fd79107967efec195227d95636eb3de90a8)", + "P->V[47392:47424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 520126: Hash(0x69156969807219f351a488156f28abe99b94b13950ad6b655890d3ba341d5a5)", + "P->V[47424:47456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 133651: Hash(0x6da24c92dd98f6c71f6738b366574aad00f34d18bdf825907f662faf4daa7ba)", + "P->V[47456:47488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 134029: Hash(0x1ed09b1e6770c71aa1dd2be0087beef14ce1cdef13edc7777fb47f4c21c2cc0)", + "P->V[47488:47520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 172309: Hash(0x53554a3c06b6ff2ec5d61a031e48739fabf619902cf3351e1bdf51b6d553564)", + "P->V[47520:47552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 194317: Hash(0x348debf87d58c3e8b080143441fd5fadaf6e509d1c95f03d0a8fe13b5e29046)", + "P->V[47552:47584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 200433: Hash(0x4e6dd86db7cdae9c789d77cd3e44e4392ec7eaccdd6acc5784189e4c081ae4a)", + "P->V[47584:47616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 215470: Hash(0x13174a63bd078a3fcc369254457bbd7bedbc2a39d6fc8945af42e925826fc58)", + "P->V[47616:47648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 224348: Hash(0x61c7a1352ba2e6ee069e31f5828a6695c198fa28162efc563dbec208dde0379)", + "P->V[47648:47680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 234346: Hash(0x3dcdc41a307d1b2d5b838725660669dc03a36c816d821803e410dba3ea50b47)", + "P->V[47680:47712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 253283: Hash(0x14e8815ee7e74e9ed3fcaaf2b51c6e3cc15e962c3227cae61692b35ff966c92)", + "P->V[47712:47744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 260062: Hash(0xdeaa91727f54f08ac8c814fb8f6a1d58cf9e43b83408f995e5c729467cc38)", + "P->V[47744:47776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 66824: Hash(0x7e4ad9743942bd51abed0149b5b2998631b02046004b99db7f8f287a4ab8c03)", + "P->V[47776:47808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 67015: Hash(0x19d13436337472062389374a767649c7c02cf1593f2ed947ade141938601172)", + "P->V[47808:47840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 86155: Hash(0x7f1b2bad1ae42c17e178c7817ffd3e52222984e98a0df497343fb20f43a95de)", + "P->V[47840:47872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 97159: Hash(0x2d86af4fca9ae05edc6e52672b4734ddb3c646c034a5ac526708fe7b1aef89c)", + "P->V[47872:47904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 100217: Hash(0x33455d0ca77dbbcf00e424e8cd984e3b26412e340bec7ae105ce0bcaa4ac0ac)", + "P->V[47904:47936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 107734: Hash(0x5e41d5411ce85f04b005027287c3c59e1019e5c2e696d3d856768ffbca002a0)", + "P->V[47936:47968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 112175: Hash(0x67069944d633df3d00e9848621ff193535655681615883453e84f32c75f2692)", + "P->V[47968:48000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 117172: Hash(0x5fb66a8e8694e6d6c9ab34c9aff1d89d1271cdb9b93eb0ab0e766193394da13)", + "P->V[48000:48032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 126640: Hash(0x1d99619b5d0d52f0e278cbcf55c59ffa7f3a9a6d79a5ad7f1d10cfd65e2b7b9)", + "P->V[48032:48064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 130030: Hash(0x1dc5a4ec328352b0fa899070f162aa65bfd5c7dbe7e3c6062c4b61e0c1337f8)", + "P->V[48064:48096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33413: Hash(0x4d19859841332e325d3a8da5e075cfa03bf33dc51e2ff8a4b017f4090f1a72e)", + "P->V[48096:48128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33506: Hash(0x5f1bc3619ac0f3d98d92eb92909b1e24a40ad1452c9090a7f82936d3ec687b)", + "P->V[48128:48160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 43076: Hash(0x23ea6c72bb70cd15ad9d36b9f6b0e3d9368234e7e486596bb29e84c0b9347e2)", + "P->V[48160:48192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 48578: Hash(0x71451053e3ab5c01937d039f40b6bd55038198830faf2d715d42c9aea097133)", + "P->V[48192:48224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 50109: Hash(0x7786cd556710b90bcb3c5417906ce4f1231feb61e842cdaf1444c290844e16c)", + "P->V[48224:48256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53866: Hash(0x3b47282b60b0b98ff5f61fd367c34a23607f39280d21ebe9d8779329a8754e7)", + "P->V[48256:48288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56086: Hash(0x59a611fcd9f957fe8f54ac06e564d58f05f11d950fb13df8fbca57c35bb33b5)", + "P->V[48288:48320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 58587: Hash(0x469bc364e81fd74392032d8a88c609aa6eb662b7e1c92df2a730c7fb99386ae)", + "P->V[48320:48352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 63321: Hash(0x3ece49ca75a617095a8282fcfd5ff22ad8cfee0406bcda3c4a4878e8be3ad79)", + "P->V[48352:48384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 65014: Hash(0x748604a42e1e806419a6851d4075dbe2c0e07d15dd08cbb1096082148fbdb94)", + "P->V[48384:48416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16707: Hash(0x4e1d15d8e9f3c005b78f3a0bb25ba136184ca7419b4f388c64d8e82512384c0)", + "P->V[48416:48448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16752: Hash(0x7aa3cc6d827933fd2990f1a963c3be33f7eb3887bc63470a658687f77b4ef99)", + "P->V[48448:48480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 21539: Hash(0x321709a9e6fae5ff0aa81bfd3750804162dc7853609b8211ba49015c5ca77f2)", + "P->V[48480:48512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 24288: Hash(0x769a4d09c7badcd4c79d3573400c529b3d155ffa8bdf5e2f68dece13d4748c9)", + "P->V[48512:48544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25055: Hash(0x4a6bb39a0022aad0b94ffc5ebd6975b9ba649a04bdd821b9d105e67e8375039)", + "P->V[48544:48576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26932: Hash(0x11fb907e93443ccc37a841327e3332441ea770cf5985c93aa89cedbfbb0307e)", + "P->V[48576:48608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28042: Hash(0x55de07ba5812482aca095705ecef50e196ebbc75925f4b0a5fd9f9c200f8d67)", + "P->V[48608:48640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29292: Hash(0x5d77336a7e64e2a6a924ee33ebad1f1ef523e4a8c44172083e44c5e311f36c2)", + "P->V[48640:48672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31661: Hash(0x1c2f65bb451353defb3b496cabf7a5e4983952c790ffc3c638dfb7553be6f3d)", + "P->V[48672:48704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 32506: Hash(0xbd68c1963fde56c10330219a77e8b09e67afec0c8ee73d7836f49cca685a4f)", + "P->V[48704:48736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8352: Hash(0x4958e759b0722ae0982bc7fd37b5d6ffae52570108c9b619a815ad53972e89e)", + "P->V[48736:48768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8377: Hash(0x55ebe007219db531e78d0469a9bc7d38856f6a40687d723c74189d1976a9624)", + "P->V[48768:48800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 10768: Hash(0x2217cd78f33abdf758052eb64ba6486b347d3c3694d0270e2db8649d1a6e686)", + "P->V[48800:48832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12145: Hash(0x66265b5781eb0b17d445a7fc0179ed43e7d4e54f2680089d64f3791dfff653d)", + "P->V[48832:48864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12526: Hash(0x16a498eb67026789cbcd631a9a9917a8a7bf80becd1fa38814112d46a3103f4)", + "P->V[48864:48896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13467: Hash(0x26042452cd4fb8fc863e55b6ed7913d293f3d5f31faea41a05c11d153b70b11)", + "P->V[48896:48928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14020: Hash(0x9255b8c09a353d080b66d4560ddde8b29f774ca6a53c1b1e4fb1f4588af6f3)", + "P->V[48928:48960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14647: Hash(0x570617e4e07f2af305ea9506516dcc1cb40e1f4e4a03876b79e2530086e324e)", + "P->V[48960:48992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15831: Hash(0x328f53bb1b61aa9bdd8e3e077df577285ebd7eff2e8a6b3d68bb2649ae37d6)", + "P->V[48992:49024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 16252: Hash(0x3cf16159f80d3dfc72779c912cc0d17c7ac427b1e650f3cb3c582f04dd45d45)", + "P->V[49024:49056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4177: Hash(0x20943b8ccbdcc67931d8964dcaec5c97acfa8d0bb6efd88ad6db4e8ccde889d)", + "P->V[49056:49088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4189: Hash(0x5aefecddd60857e399cb8ebe6c622468a97bc9acab786c99f3ed86ad2e41e9a)", + "P->V[49088:49120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5385: Hash(0x136c691c02c18596f736dd1aa2359c7eff98391d45577562bb4f1983f8c8275)", + "P->V[49120:49152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6073: Hash(0x392acc7a1d1f845e62edd91b2f756a81e2b7cfa19f4368ab5610aff2e76df27)", + "P->V[49152:49184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6262: Hash(0x356aadf39100a60fcac5617d19855dd6c627cd3df4a9f36e2910cb6e1b4d1fa)", + "P->V[49184:49216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6732: Hash(0x178005cc938a8f3c4065e20b700a03337fa9f4c83ae354c890d8e5499b7b008)", + "P->V[49216:49248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7011: Hash(0x2cd086ac0f66de55ce0d557d44bf8dfb208ffc4a58f54a2f3970d65ec5d9f25)", + "P->V[49248:49280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7322: Hash(0x2412874e4823680df97a7b96c5b38d635813af4d6fb3851c16048cbae915b9b)", + "P->V[49280:49312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7914: Hash(0x22868ecb9ede2b8b2161fc7fece2910c8416904e03db6619b5ea12441a79c3c)", + "P->V[49312:49344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8127: Hash(0x2871157d6a1023af8ca5d889fe716ff6d8ad4ee59d3a1aa93a0fdd5899f1272)", + "P->V[49344:49376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2089: Hash(0x15c6035ce1aa950e559b626b58f437c48a419674321154784631bb1fa9620b1)", + "P->V[49376:49408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2095: Hash(0x1ce4b9045dc48dd0d894518228c4951bc1f136b7de01c5c5999e8cf7e4f6929)", + "P->V[49408:49440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2693: Hash(0x6832faca801c59e35fc2fd3adb4b04b3155daeb7416f81abceda58c23acaa08)", + "P->V[49440:49472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3037: Hash(0x245c6fe3cd56d3865bf305cb34e696cf50aadfdb484b3dfdc1eababca24130)", + "P->V[49472:49504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3130: Hash(0x6b2db76dc5ec9f43b67ea999249f212553373d7d18e7e3574de67f2a8a9e0cf)", + "P->V[49504:49536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3367: Hash(0x19424b698e79217a1fa363965ebef6f868855a11f51941166d55a53b503c044)", + "P->V[49536:49568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3504: Hash(0x7b0f1bb68093a7a3fd1c856be5fc2590e99af613dec1f66dc0c633a5cf3f2ca)", + "P->V[49568:49600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3660: Hash(0x17e5e4462c763dd3beb98a008c14d85f8efebf9f9f4eb7548c8ed9493a5cd5f)", + "P->V[49600:49632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3956: Hash(0x27c584c17d5d2b751b75c893bbad59828ec9f356cb87467dd8891384b6cc9f2)", + "P->V[49632:49664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4062: Hash(0x601029d793ca936bb4feed28fdd2ee75779dd024dd1f77eb05bea56607a6276)", + "P->V[49664:49696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1045: Hash(0x53854a3adbd04b8b9cbfc414a681a52cd3ca7c24073e13e1c61c260e3c2882)", + "P->V[49696:49728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1046: Hash(0xba2a6b11cfd81ec49c408bbee45b3ca6f9f13aaf910180dab471bed9142a3c)", + "P->V[49728:49760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1347: Hash(0x72fe9a1e5e1da0a67e3b19585dcdf6bea6831e44f743e2e8db4b9df7a2d934a)", + "P->V[49760:49792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1519: Hash(0x31bf117e3118de5775ca20f60da9657a31ecb7c088a1a848aeb056bb9d923d)", + "P->V[49792:49824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1564: Hash(0x225b1ecc8c09abf3a5046a427e490452a098c8a519c672118c52e535daaae65)", + "P->V[49824:49856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1682: Hash(0x26143d7b9f9ebe459845cf25f4bf73f3f560e1640c0e6e56a58dfd09bf5cbb1)", + "P->V[49856:49888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1753: Hash(0x23e674e69c0d5bbbb2dded87fa8f889ed893e650a30df11d961160e312bfdf6)", + "P->V[49888:49920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1831: Hash(0x38729483e51d267477f7c2049d443e3d97734f7a491da865bb5a746d56ed7d5)", + "P->V[49920:49952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1979: Hash(0x130f2d2c604deb6dda620ad2f48b32126e58a13f6e7738603d0d10933977a02)", + "P->V[49952:49984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2030: Hash(0xa54080a269a905466c07a2407727ed7a0b8bfc154a812ab0aeb30e45b15f4d)", + "P->V[49984:50016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 672: Hash(0x4115a3c0fdd8e9808ae9ba0b8b7788cd810c82b84e46c852937335a1eaba92a)", + "P->V[50016:50048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 758: Hash(0x7a5f148b22c6787b444735f95a41376f0c4b074ed719503263032b9cde87a58)", + "P->V[50048:50080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 783: Hash(0x43429e61d1ae324c406292bb9984e742c3ed5a81fb349f802f454ac9ee65010)", + "P->V[50080:50112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 840: Hash(0x519c711b5c5de4a1a23dfe0235f403e830b95ef6ad50117ca3e9c64036193e9)", + "P->V[50112:50144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 877: Hash(0x7fcde61a4bc0fc525169a53452c63591f149d080e02c96db3ee8327f327761)", + "P->V[50144:50176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 914: Hash(0x152f08151c49ba966995f1edb01c3893b57926b5c9cb45840e2cba1e356c49c)", + "P->V[50176:50208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 988: Hash(0x17179e013d3558c96685c7258c09184c37e80e7f82e2fd989e5dcd8bbeb7c60)", + "P->V[50208:50240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1014: Hash(0x769bba379540f4488367209c1b93d3b23fc1cda98d51ed00b00f3fbda1a6122)", + "P->V[50240:50272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 260: Hash(0x49c08122be89638adf0b5a4e47c938538743ce9b6f875ccc1b90fe25eb95c63)", + "P->V[50272:50304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 337: Hash(0x6cb712ca197b65b39f0b926e2bf3d3e67b793a2df4dcbd6838b55428c32d9a6)", + "P->V[50304:50336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 378: Hash(0x7bdb48193f3681785c888c66817d2599d6f4912d5dddce6ca9d226b8fd4baf2)", + "P->V[50336:50368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 390: Hash(0x2f008c76819da9545a13584c162ab4864e475c32342ba813da9f56a51b4d9d2)", + "P->V[50368:50400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 421: Hash(0x705563f4e126f162e2bb2d47626f00fbdd509e712a9f99c2b4fc10f6f18ea13)", + "P->V[50400:50432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 439: Hash(0x6e18323a6e1125f5f6ee2088e90fa3de0a801ef66dc80f6494e6bd2fdc92999)", + "P->V[50432:50464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 456: Hash(0x1be0dc26c3b885e7cd241b7a4a3de207c37e794fc376b534e80921ff710ed9)", + "P->V[50464:50496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 495: Hash(0x70a267f619a766ad16fd4286e98f3eeda86b7d991dac3371088c116804035f)", + "P->V[50496:50528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 506: Hash(0x355265d783908fa8864f4245d69d884de10e59f6f06b7897bc1c311260f9131)", + "P->V[50528:50560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 131: Hash(0xfd2ddc132d98d89d809dc9d6874eb5f5a7f7a65ead981b4f8c7dc0455f35ad)", + "P->V[50560:50592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 169: Hash(0x1f942c6bbe687d2073c2f971369f9cf681c51ac1f696229c30e45f3e0716f01)", + "P->V[50592:50624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 188: Hash(0x360370488f791ed9732d6e292e0da77d5e7da680567651e07d45b4e2d155d5a)", + "P->V[50624:50656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 194: Hash(0x3e54d3b8b1c321e11acaf52f3e5a831a72cef60a6fe0c6e6173258459bae973)", + "P->V[50656:50688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 211: Hash(0x44dd0a03c522e71a1db55ad1b93d1f825a5bed59814a8f5bc00a8d3c48779f4)", + "P->V[50688:50720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 218: Hash(0x376e4206f5055921b79fee690ea8cf519ec512d7403312b4837b02d0673a1bc)", + "P->V[50720:50752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 229: Hash(0x645dce1b722180301c669e3dd0d0693b75b61b3288a52bc6ba4581abe1e5c44)", + "P->V[50752:50784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 246: Hash(0x204555d6e350fbf4bb9ab5c499b3c7f9cd5d1de3a53c003c6fdc8048a435286)", + "P->V[50784:50816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 252: Hash(0x3c41f34c3bea042b12267c80854aeaa0d0a1519b3bc08b59671909c819a79ef)", + "P->V[50816:50848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 64: Hash(0x4ef64b035663200c1c86c51862821abb7ce8fac5570b2ff1b08601fa6216f82)", + "P->V[50848:50880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 85: Hash(0x395dd958e7f22eb51ea51ed6e1087ca1a307905b5e783f477271c9d842f17c6)", + "P->V[50880:50912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 95: Hash(0x663826f6034f614e39ddb5d9df993aeae6c816c746c04fb036572815ec24892)", + "P->V[50912:50944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 96: Hash(0x7a172bad409a1e237915c694db37afde1b365bf216f52a9ca564b8baa073959)", + "P->V[50944:50976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 104: Hash(0xaba5b0541c5292b7ee2f70982b74a5641ce472173d4dacc07a3c3f52e209f)", + "P->V[50976:51008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 108: Hash(0x51bc2ad1266f15c0df0b9acc0d6b1574b28bdd0ed357507e6839d3cfaa608b8)", + "P->V[51008:51040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 115: Hash(0x6ebe64abd6223f82d9bd358607acf0c62f444223040899e64be3bd99c2fa6f5)", + "P->V[51040:51072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 122: Hash(0x5075ac2fd5385185795d352fd6c627d7c90f34772cfba75220291156e8312d2)", + "P->V[51072:51104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 127: Hash(0x3480ba430cf8628145335c829e65eca10aaee2d11c576480b5952907c7146cf)", + "P->V[51104:51136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 33: Hash(0x3330cf48bf69d7b45275d3048b5b04f8ce862600e1f9b7cbb8f83a3eb72ad40)", + "P->V[51136:51168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 43: Hash(0x4938eee2b22f35dad686b2d66f7158a786cb5e68ab24ba673a9a958b4296c0b)", + "P->V[51168:51200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 46: Hash(0x215f5ea6fef895a449da1d541618ae8bd6de2a7224bc0c98a6be3f77b40a4d6)", + "P->V[51200:51232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 49: Hash(0x14b498e6f37517fdf878b5311c99ffa1075c04a6be393afcc8c75a6052cbca4)", + "P->V[51232:51264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53: Hash(0x56f2a020ef62349d625c15cd42394eedc7f074f914189616d3d101fac899a63)", + "P->V[51264:51296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55: Hash(0x4e0674880f8b8dcddb71bd8571a94d89089bac4d1a07e06ebd57c5798501d4b)", + "P->V[51296:51328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56: Hash(0x56d412c62b6423bf11b88b89e00a8fa531034ffad6257f7aea2fcd2352fc95)", + "P->V[51328:51360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 60: Hash(0x5007b6c1db8c74a429c92e41fce4ef0833ac811009538fd2788fb38faebeae6)", + "P->V[51360:51392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 62: Hash(0x1dfd77f2b374edcad1e65d029f15adba75abca55b8f31f8eaf2660424ad7a3c)", + "P->V[51392:51424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 17: Hash(0x1327e15dde498b8dd04e00d512a79a49e15681918a54754554f5e880e9db792)", + "P->V[51424:51456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 20: Hash(0x1ac7ff951c66c4070d938ffc87484c61f2a2a668a637be6ad5109fc927444c1)", + "P->V[51456:51488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22: Hash(0x392a3d88fbc6ae5369b0e9daf0eb32d4e6d282671cb39ef3f39eefe670490ce)", + "P->V[51488:51520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25: Hash(0x2bc4a7af415d4d8521c2c64235eef943bd485d1b023edcb140b9641bdc0a3e1)", + "P->V[51520:51552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29: Hash(0x568fff706dfc8513ffb206c72ef7a03588eaed2e9cce227d3a63934cb1c3f99)", + "P->V[51552:51584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9: Hash(0x1372c65b69c71d8cae918aad05041fce3a5a1ab3031bc2cf42fa23fa1aabfd)", + "P->V[51584:51616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 0: Field Element(0x438ddcc48a9ca07f96213fd1e3b52df1020471bd5038789d2ba62eb6b77e5ed)", + "P->V[51616:51648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 1: Field Element(0x6c9d0b53c0973fb5a5e8149bdee1cf3d85c947baeaa615afadec98057eb864e)", + "P->V[51648:51680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 2: Field Element(0x70c8ca24ba6840dd48e3867cbcda00cda9f3c113cbc4b51af5081fbe8f66cdd)", + "P->V[51680:51712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 3: Field Element(0x5efe2b9e01e685d81882319fb86caeb472442423494ff73bb8af836730987f3)", + "P->V[51712:51744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 4: Field Element(0x7449aae04fe8cfd1d0e186ae977837929b59685f2d163a6f0f9e7e0d24ede0b)", + "P->V[51744:51776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 5: Field Element(0xfb9e8afd48b1b5b400f228dc0cdfecafc5095593b8e782bb921d3a952f3bd6)", + "P->V[51776:51808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 6: Field Element(0x6c6d0b241f73515c994d99ad5b27818c3c44db70943e288acf809fe1cade474)", + "P->V[51808:51840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 7: Field Element(0x355739c8c598f4addb2bc253ba31540cc04efda36bcadc83d07a61213ef638)", + "P->V[51840:51872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 8: Field Element(0x19b78ab9f6585eca90962ebdaf36d6be9a4718260c33f7daf536ac423e0af47)", + "P->V[51872:51904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 10: Field Element(0x1b2f5b51b8f6dbd66610890f1bee0206275f71aadedcc090f2bc22f36086c7b)", + "P->V[51904:51936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 11: Field Element(0x19eb65820bda0e606672edd48c45892b5ca4e56fb95c83ad7a5284819782c0c)", + "P->V[51936:51968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 12: Field Element(0x6db9b7b0f16a6918be0d344d1f04eea91694d19e3b3404ecb66d2b1c68dec67)", + "P->V[51968:52000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 13: Field Element(0x6d13e7b85e975a4b03b45aeb3492c181dae6e9ce534edeae0493b0013cd86c2)", + "P->V[52000:52032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 14: Field Element(0x5d1080249d67eaa00eebbe48e43193ebf81f7c97ded082be43f8344e53224ea)", + "P->V[52032:52064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10315, Column 15: Field Element(0x1e5635132606de4afb92773c44970b4f302c4d32d68d82c2a45b8d2e087d9d)", + "P->V[52064:52096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 0: Field Element(0x5dfa845cb5d9713f0ad338f822aab3d5312492fc7a92807dc32afdaf9b0a423)", + "P->V[52096:52128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 1: Field Element(0x4e7c2c4b037d2f97b5e207efff03f2bb2e2332cfb2ca19fe6812543b5d457a8)", + "P->V[52128:52160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 2: Field Element(0x3ff8b50e41268db72b2d88a8d7b942a74ca9698b46d66ac3e1214e2c9ec2a01)", + "P->V[52160:52192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 3: Field Element(0x33ec3e8484bc9d1ac763ba57e88bac9438065504594d09fa209814b9fa93ec4)", + "P->V[52192:52224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 4: Field Element(0x446fae8d588bca0553845534f600bd2fd7ceb709452d21cfba78be7c7537e60)", + "P->V[52224:52256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 5: Field Element(0x76433226141fdd17026362a4e56e3fed383efaa0c3a2b5b8ae0c672074e2055)", + "P->V[52256:52288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 6: Field Element(0x692975b6e91a3d7339f00105b5e82400b984d56a43ffa25f68f29df19a10be0)", + "P->V[52288:52320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 7: Field Element(0x67cf50365250e6cda5ffe621c16387db9f1ae1385f257f8bc6bb0351f4ca31f)", + "P->V[52320:52352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 8: Field Element(0x20a74ffcda3b3a179e222d50cd5b864086017723bffb85664b91f057ccd31f4)", + "P->V[52352:52384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 10: Field Element(0x6375a5076778e82dbac3c9045ac610ef47fb1bc944d7d5b38f91432bad117a2)", + "P->V[52384:52416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 11: Field Element(0x7ede8ba3597314b4a4c3bbc22925f343c840c559f206531933de96d5f85ec52)", + "P->V[52416:52448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 12: Field Element(0x2f0a597676ba0c8c617a00710416640478e0fd1f0139ceb06e609d69187e379)", + "P->V[52448:52480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 13: Field Element(0x3fbfaef890f5b4df8a041e5dc313aaeb8a2b07cec9525952624dbd50033f68a)", + "P->V[52480:52512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 14: Field Element(0x7d1e1c0b6cd10b010a3aa977543e5cbf447261d9d3fd000aa21e304e8deb11)", + "P->V[52512:52544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11825, Column 15: Field Element(0x486d39432c2c3f23078f66bd5c498631f567aba54e3a2d2439afbfc5a46bdeb)", + "P->V[52544:52576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 0: Field Element(0x34104f53b29d339d60c09b876bcb9a7d5151b5b3988ac87363e026b6a0b14ff)", + "P->V[52576:52608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 1: Field Element(0x7f05c1b4bd69636e692877cbcc10fc2ba8a3b43e8d2c97df4ef1c88af184966)", + "P->V[52608:52640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 2: Field Element(0x702b63ba68e2154abfec72f2014292584c6755591c1d2a8b1103dafc5da1b41)", + "P->V[52640:52672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 3: Field Element(0x4645080c0db9647701684037f294a143d128d94b7c96be7f2dabf73618ddbbd)", + "P->V[52672:52704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 4: Field Element(0x38eaf74dfa28a8608a1018cb7da028944205b1720742c666a8d8219070e231e)", + "P->V[52704:52736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 5: Field Element(0x288a386eb0561e178bbabc791eca72a7cebb0997de2b6ab331bbbee322d1d4b)", + "P->V[52736:52768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 6: Field Element(0x3e68edc08f70bcf506b9850b31b0ad57130d3bd33e60eded159ac22fdd5c79c)", + "P->V[52768:52800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 7: Field Element(0x78fda75d862a6c7b64aa376321a6cddad252f7241f5ad659bda53d95c426a5c)", + "P->V[52800:52832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 8: Field Element(0x7214d33cc5ef9e139c59d55a1195ac9952ef92f58e350f6896658af4d67d2a6)", + "P->V[52832:52864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 9: Field Element(0x5ba89df7ff89443e46c9e03a6ff80f9ca372dfbd9510effd250ceceeda8f86d)", + "P->V[52864:52896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 10: Field Element(0x4d2bdab987479d37ae5010f48dde1dcfc72e44c289703f854216600baf206ac)", + "P->V[52896:52928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 11: Field Element(0x8b0f91c3ef2ac64689530354e3f24543e5c2e95333fa3c21022adc1ea845af)", + "P->V[52928:52960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 12: Field Element(0x36996f5cba02bff43bee71157572354761102229fe48ec61a0f949df92b5537)", + "P->V[52960:52992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 14: Field Element(0x420d130e8a45cea22ace62142b5d073a10063b807cf3ed2e2246d55d94adeea)", + "P->V[52992:53024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 164945, Column 15: Field Element(0x186d54e6a01d1a15d384c718535bc41ed53c9047d536830cd4b12b38f8f11ac)", + "P->V[53024:53056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 0: Field Element(0x7d7e0fba6e7ecb29cc83ac21151bfb96863b819131d34b03010b3f4d2cdac6a)", + "P->V[53056:53088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 1: Field Element(0x4b70c0846c4fe395e187b790ac212b8da4732d8c5f36c2893c78d90224eb766)", + "P->V[53088:53120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 2: Field Element(0x2cf8ad720752ac44d23d4c41105e187152d356d2d8cfc0aeb68ec6109f9e58b)", + "P->V[53120:53152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 3: Field Element(0x5fe046a2c7feed79b354a8393d31db0a185d07689e757c6cfe1a5dbc441f1f4)", + "P->V[53152:53184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 4: Field Element(0x698a2711d12719d54cdeff23a51538e8ec806798c2fb6b8b41068c97d5dc690)", + "P->V[53184:53216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 5: Field Element(0x6dfe16fc162809bdb8889cd31608b26e1fb951d07c1b49663935f7c33b71e75)", + "P->V[53216:53248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 6: Field Element(0x6343ff33d184c58a8f88016ab4efe72c6ef703dfe75d179ee65ca27cd8bd1e0)", + "P->V[53248:53280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 7: Field Element(0x160fba43cb8f2c7248dd8853db27be3fe2b4464f588d9c719b27c7be6223e8e)", + "P->V[53280:53312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 8: Field Element(0xcd31328087d1305ce002c4f534cbac0edb2dd88830013b987b45e0ea7fdb52)", + "P->V[53312:53344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 10: Field Element(0x242a0a91e18cfb2aaa7cd8c4ac50a6f96af597b473f3796c453095f68a9fbbd)", + "P->V[53344:53376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 11: Field Element(0x65ffe0a1109bc14f2f91bc441a264d6d7031687e4e6a4857e7625b52b104c7d)", + "P->V[53376:53408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 12: Field Element(0x51e511ab50c6431e3655ea9f4a4e230abb171ca904a3c9a598d3d3b49de1b91)", + "P->V[53408:53440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 13: Field Element(0x46bbb32ad78363ecedf13b8246165046dbbb341902c6ddfb8cd151672951474)", + "P->V[53440:53472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 14: Field Element(0x480e7015023a7da4c55c7a53a88fea753aa386d97489cd007453ba1017e6c4e)", + "P->V[53472:53504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 252979, Column 15: Field Element(0x7edf51a500cd1400561856d286f675dca68014afa0e70cd2d560ceda8dafbc2)", + "P->V[53504:53536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 0: Field Element(0x455ddf9c43e8e9ad9ff6b98e6f169101a5730b834bcaa81da6cca0a49c74b47)", + "P->V[53536:53568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 1: Field Element(0x3f93d5f02dad88d73c3d45e738e3b8b86171307fe454e80d1211df070ecb4c)", + "P->V[53568:53600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 2: Field Element(0x402f0fe06aa12633d6c8da267004a94ead670fd365938ac7c8cbb8f240500cf)", + "P->V[53600:53632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 3: Field Element(0x143aa7cc9ac8c13e6832753030d580fcc770a80da4eaf2a99e4b9bead2ee155)", + "P->V[53632:53664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 5: Field Element(0x29990e960151e5b1aded64cd590c2e87bcffc9e4d9a28b0fbc588447e6a92b3)", + "P->V[53664:53696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 6: Field Element(0x66f7afff77ed68394b95a720837e209466bd68900af635eaeac1f69c4fae757)", + "P->V[53696:53728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 7: Field Element(0x67237853017db9b310d7c63aa3818da8bd4da710fbc5ee002914cec70aa8104)", + "P->V[53728:53760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 8: Field Element(0x139ab6e7a18633b04db58dac34c640881ffe0ae2ca4d7133ec8e4ec1df72633)", + "P->V[53760:53792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 9: Field Element(0x670c15cf9fb0077583dfb2abad0d1e4ba6a097a5bc087802339b87307dda698)", + "P->V[53792:53824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 10: Field Element(0x6612bb6bc560c8ff5ad73e1969fc8c8091e2197afb0aa7d076c9032395b427b)", + "P->V[53824:53856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 11: Field Element(0x7732475ee3df2b3a5ffa845ba2f57b1433788d0f8e7acc9c849cde1e7a2a0cf)", + "P->V[53856:53888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 12: Field Element(0x586971dd273000729218a6f3280e35f823d5f677022786274a1ca62a71f5821)", + "P->V[53888:53920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 13: Field Element(0x14df589e2593c4c2af03ab4a261614abfe66944d35f727857d97eb412d1111d)", + "P->V[53920:53952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 14: Field Element(0x5b4ea26d1e02e5156fd7f1bc29c01ede2e81280acd1b34d8cb9097d9bf07776)", + "P->V[53952:53984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 277441, Column 15: Field Element(0x77cf96d2a569e3b04ea3f7e9897b566f2b1a16896f99477a8a101fdd4d89b26)", + "P->V[53984:54016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 0: Field Element(0x11e2c8d0786850d5b2c5d9c34a651c638631c656ca6a4fc97be9be0b6b7eb34)", + "P->V[54016:54048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 1: Field Element(0x5bd57d0470ced0326ba002aee6520cefb9cc34df137971d8410e5f66af43056)", + "P->V[54048:54080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 2: Field Element(0x4afa2ec86be11356526a6bd3a48c60f0f3edbe708f12e6dab631da2fa44eecf)", + "P->V[54080:54112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 4: Field Element(0x5cb23fd0326e2e61b7b7adff6e59a7599619fd0628ab64ea9c699fe7b27f131)", + "P->V[54112:54144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 5: Field Element(0x8651e432bf2bd3890925f1fb6f9b01faa6978c803c4561436ed81f04fc78b5)", + "P->V[54144:54176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 6: Field Element(0x62f85d8a585fc270e5de9c85c67a849562b7c5df569b56e39d1a05421d235aa)", + "P->V[54176:54208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 7: Field Element(0x4a36b95ee69962b98b57e7c4f46bfa55271104c2f0116306777d58e111bd803)", + "P->V[54208:54240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 8: Field Element(0x49adf74629a2065e75eb2db18d81117f8d3ca8102650cc33dec5658f6d2955a)", + "P->V[54240:54272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 9: Field Element(0x184ca5b424fdaec5e4c12b36e6c70df34d7d6fc419ad1b55427281838a8543c)", + "P->V[54272:54304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 10: Field Element(0x4608443c56eb3466933cac525adf7e9aed7d6c1f56b8bc9c2bed4c4969a7d71)", + "P->V[54304:54336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 11: Field Element(0x585f6af5f97953dad01954690de26b07703654b2d26262932706ac399e3842)", + "P->V[54336:54368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 12: Field Element(0x7d0973b8d1d8e8791611e85a71dbbb0b75113dc10f2c6783b7bd6cfe24ede8b)", + "P->V[54368:54400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 13: Field Element(0x3bcc93aab8ef8464d317f0f2425a410df806b179f6ac9a1c0fc888492075261)", + "P->V[54400:54432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 14: Field Element(0x6b66d476561cf8354765a51dc4f6bbf001996544aeea7395a3a5404990b71c7)", + "P->V[54432:54464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 337597, Column 15: Field Element(0x535a2c6b012e6b1b1fc4ab3abd32d2b471e7c3f5505863d7023583255d8b750)", + "P->V[54464:54496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 1: Field Element(0x32f08e9e768abeaf8c00a617f1a4850aca301fababd9daa13cc3afe10864b90)", + "P->V[54496:54528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 2: Field Element(0x31e4dec31153d143240da1bf1b9cd4eefda34b70752eb8ef2e0c110a0e4a6c0)", + "P->V[54528:54560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 3: Field Element(0x4f7961af845361786d323b3a466b25ea4157ca7e19046f18537a1b165202387)", + "P->V[54560:54592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 4: Field Element(0x6a98162079d46ebd9003e4bfd4336c55e5059cc60ee169acdb38e355164b511)", + "P->V[54592:54624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 5: Field Element(0x1bc4ab1f5d5419372ae36724035de109171ffad2b0fb262ade0fec3b2742b8)", + "P->V[54624:54656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 6: Field Element(0x4ad697b5ca036d6fbd2692d7740673c4d33a1c22b6c5ea57e67d43c862ab33a)", + "P->V[54656:54688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 7: Field Element(0x6cd3731fe62d35dedc277598f304b9148f9bb1bf1e6fd1968366eb95ef2e693)", + "P->V[54688:54720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 8: Field Element(0x4da7eea6cfe8321eb9758f232116bc0ac3b9f934784ba3937df38f868214aca)", + "P->V[54720:54752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 9: Field Element(0x4b1dcd3fac2a314de1ca307c2b2f07a49cf5976ba9131ad7898805f06be0ce8)", + "P->V[54752:54784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 10: Field Element(0xfed87fd62314c8df5c3929004174717f1f6d2069ff08a529807b4acd5838f7)", + "P->V[54784:54816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 11: Field Element(0x67193c7a68f9480c1e21ae235f43024e635f8fc78a35ba0f66b3d5476951336)", + "P->V[54816:54848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 12: Field Element(0x54c2f5cc5ee16d52e18fe9903c30ca0f38a6629a2071efe37820296d3701477)", + "P->V[54848:54880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 13: Field Element(0x49db3d23d3d960aa095f2fb641bba88314bf0ebe9bfaff1486a18abc2a23b7a)", + "P->V[54880:54912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 14: Field Element(0x1eba9ede56e2cddbca9e206643cb5c6f3d27341f5f9042b4e6cde314f695228)", + "P->V[54912:54944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 373109, Column 15: Field Element(0x4804aa8f12421edca3fdfe2f1ea86088b99ffb926dab090a26fce364a622e3f)", + "P->V[54944:54976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 1: Field Element(0x4b4ada69cdf0d4d3bea79f965d63b8c9632feb6ca37cea915f09da3b518a074)", + "P->V[54976:55008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 2: Field Element(0x5910b8f6e783359a3e5d17c67ae7c5f1e857e95fa9c767d7723ca6cc485b226)", + "P->V[55008:55040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 3: Field Element(0x3651b2065ef61395edb0946ab1858617882f95668b23f3da426c04a31d3473f)", + "P->V[55040:55072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 4: Field Element(0x337e85aef63753cc56a6f7c218a13cde7ce3c58db11f95a6ce1ff0a804b6d90)", + "P->V[55072:55104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 5: Field Element(0x689f79007a407f24c81332c77744c29d35f3c1543a9e31600a37ae7afdcee9a)", + "P->V[55104:55136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 6: Field Element(0x26395fb679918242c71adb8e7cb51b6253e5eb58549f7181a1d9ccc160f0310)", + "P->V[55136:55168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 7: Field Element(0x235fb2a6c39b462ff814be9018ec040eec358af362ca1fe8e0d9fa499dff63f)", + "P->V[55168:55200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 8: Field Element(0x392bdea831acacc2c47ac4657a348a03cc8befa2b4b61e5210765d57618d587)", + "P->V[55200:55232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 9: Field Element(0x5744d7d75df5dbb75e09de7f460d2c0ce6ff7635d82711918f9391883514d7e)", + "P->V[55232:55264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 10: Field Element(0x579f937647e055546ca2b4c20d5611bff95002a6c5dc0c5f42a1cc04d9114d)", + "P->V[55264:55296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 11: Field Element(0x4286554d499e42d3a2700747536f7b9607d03181e3f984c61d4a7e045d40ea8)", + "P->V[55296:55328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 12: Field Element(0x48a762139b718624da7ab0fb9f6a35ea20388ac076eb4a60260ce494ee03e48)", + "P->V[55328:55360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 13: Field Element(0x6cff61cc2c1b69f6c466adac8f6f2c4228414d3f7a39100ef9959ef0e7af6d2)", + "P->V[55360:55392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 14: Field Element(0x6d59e92433f4ce422a3bf9403b4469095179334d4179261442f95cafb0aa3cc)", + "P->V[55392:55424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 413101, Column 15: Field Element(0x215da54d3316def39730d6205046021092c240b0956c38b5af21788cdaf01db)", + "P->V[55424:55456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 0: Field Element(0x20288365fe772319c2c750b6a9e5e5bc6860067e966bfe02868cfa5dae41940)", + "P->V[55456:55488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 1: Field Element(0x7fb119497349c006c92393732575d4da4e329a76fa7bd8bbaa5b7c9996fc025)", + "P->V[55488:55520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 2: Field Element(0x6a29f2b386043a61c3afffedcad5501ffb556bbebc763ccb71828477ef3794d)", + "P->V[55520:55552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 3: Field Element(0x6a680f48632ff1a498c65c276afe66d19cfb4a5f792053c5e7b4a594f0cd27)", + "P->V[55552:55584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 4: Field Element(0x6dda9a232d5b7657dc3de4efda6908df5fa857adc81abfed3153b4f267f763e)", + "P->V[55584:55616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 5: Field Element(0x4a3f045ebd20fef2276f3684208b46f5680f19c5adf80300de2deea5ce4f199)", + "P->V[55616:55648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 6: Field Element(0x409911d41aa39cbf2f3e420bea65b137702d9f5ca070b7534297650d15e46b1)", + "P->V[55648:55680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 7: Field Element(0x1d6514eb68bf6cb531186e4a15097214004ad0ceedc7fe3dfb835646e197ab1)", + "P->V[55680:55712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 8: Field Element(0x46c80f43e04a3b0cc9c214815180059309e5c27d2907fc28a7101b125ca383a)", + "P->V[55712:55744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 9: Field Element(0xc397329125e81145691a97332ed13ea5d5482f8b62d72ec061725dde4a6e2d)", + "P->V[55744:55776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 10: Field Element(0x1508928294e999830c1e8e0a37bf40f26cddbc5e248bdb672eb60a1dcbfd493)", + "P->V[55776:55808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 11: Field Element(0x7bf8841d0c21272d17bb3b8899bbff49bfde9362c96d907c60920dd3a1c8b4a)", + "P->V[55808:55840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 12: Field Element(0x305978a2a52abaa785b13fc784a5567b65e8d5626b2e8170fb4da6f7faf324b)", + "P->V[55840:55872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 14: Field Element(0x196bf6cbaadb388d856fdd7ec66857131be71fe72284a981cffb4250379df20)", + "P->V[55872:55904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 488842, Column 15: Field Element(0x24e3f41cec20e24abd9797c6074b466ef9bad2e771badadc7e2de52bbaf7876)", + "P->V[55904:55936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 0: Field Element(0x5828e20d970490a606aec2c4001675a571b952c7803ef58c5eacae6e24e5015)", + "P->V[55936:55968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 1: Field Element(0x3c12f966bf4fe51dcb91fd502580137febd3e966d3ca508153f32340221007c)", + "P->V[55968:56000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 2: Field Element(0x635b45462c252f8a0d4d96a96e80213acc6b6ee4d963b116ce6d2127a0d46c0)", + "P->V[56000:56032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 3: Field Element(0x61ff2e2ccf9b20250ba9ef258c8e21b4fbb424987f2df72e4bb04ead845b1ac)", + "P->V[56032:56064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 4: Field Element(0x19025c5cfd24dbc423af9fc58ddb965ba89f54483f8a6c1ceb39e7fa731a4f)", + "P->V[56064:56096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 5: Field Element(0x7c31f241f63c79099e2e0e7c99f398a0508660a9c5109e2ca336021f5e6628a)", + "P->V[56096:56128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 7: Field Element(0x6d7a94110f15d26f906fbf95cea15b40c9a9661b77712256505ce3a94723481)", + "P->V[56128:56160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 8: Field Element(0x5c7e5c581b6eb4e9feb9c6e8de9bd9cb0b8a77db43ba44a7256446237e9e291)", + "P->V[56160:56192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 9: Field Element(0x5ae881b8d5cd74cc19acd6c0a304e97bdcf5f8e930f1e4dd078c00a48761876)", + "P->V[56192:56224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 10: Field Element(0x5696e3bda42a339cdd8405508f08bebceea9117de07e265d5d26356b1465576)", + "P->V[56224:56256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 11: Field Element(0x5225e73cc513f52858a71089036f9615a2ec0d9d9e2d9e5a348baf41b6c898d)", + "P->V[56256:56288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 12: Field Element(0x21adc37445e50ac6473cb8b870f77f1bbf8c2658cac8113b1350303806af9d5)", + "P->V[56288:56320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 13: Field Element(0x74232b32ebc6e989b97d1045d2aa24c61bf85f2cd9ee61bb567ee3552183b)", + "P->V[56320:56352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 14: Field Element(0x507549f2a9971ebda9bb4ad902fdac2eb5505d1446a314b71b627ca2f2848fd)", + "P->V[56352:56384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 515967, Column 15: Field Element(0x3c34f21911f699fd17388c983428bd8d30af304bdc3ae24aa15d78e832a6145)", + "P->V[56384:56416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 534602: Hash(0x3b980802e2255cf3b13c446a973b86664311bb1982a5d61b1314e7f26fa7aaf)", + "P->V[56416:56448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 536112: Hash(0x44b542d1f84a5fe8df2501b21f35a8c41a328fe34077e447af7c8f62bde8b1)", + "P->V[56448:56480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 689232: Hash(0x5791dab95ab64d0bda0e2c2c4be1ccc30dbb39958a71a4a2b679e35f08e6e4e)", + "P->V[56480:56512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 777266: Hash(0x74c4e6afe6abecc600e03988adf8fab59c74349e72e5d1479dff9e35bd67735)", + "P->V[56512:56544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 801728: Hash(0x5fd8b2fa0ca24acefd1fc16e657488a055b4cd58117ee6609bc19989a126748)", + "P->V[56544:56576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 861884: Hash(0x710e92553e8552b54fd5e9e0866616b51f017f01779f637b3fc816a8be4cb52)", + "P->V[56576:56608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 897396: Hash(0xf9a64b07f9290b55c17a02c066caf1d0410a0744334ab0cc0e50b9f41c974)", + "P->V[56608:56640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 937388: Hash(0x78155810eef747d277923026a306c928218ab334111de65ca421d6191489326)", + "P->V[56640:56672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1013131: Hash(0x1206a48257920c8974eb4c01aff01f647afd0a5ecbff15d40de040ae141f2b1)", + "P->V[56672:56704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1040254: Hash(0x374429d334cd947376263fb656e94f78bdf35e4341beba1d96fec0bb6267f39)", + "P->V[56704:56736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 267300: Hash(0x39f5104f136fa5af19e727cae8d5da9745e8ff91e3f36eec62bf49bb2f7cd87)", + "P->V[56736:56768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 268057: Hash(0x7aa5b852e8c1bb7044e7c9b5fc953b64c5dc38b4cbd1be39357c4561a7e100)", + "P->V[56768:56800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 344617: Hash(0x44a68a4999f9430c3b719681ce32ecfddc1ae96e6bc6c9bfc93129d71791504)", + "P->V[56800:56832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 388632: Hash(0x144a11275a8df41a939e2c112a92d808b69d4fa82430df6df6995a7cc3124e3)", + "P->V[56832:56864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 400865: Hash(0x7633263882ade920e66ead42dd2edf5bc88c92bf773c7a8ac1b40a752f3529c)", + "P->V[56864:56896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 430943: Hash(0x2783e0d5330051e8dea43e21870ebe4b5bd8e9ac9f3e33c0f10601047a20d57)", + "P->V[56896:56928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 448699: Hash(0x3522db325b5279b0aaaefd042f93b5bb2b16e96c194ba33543f5685a3fb2d43)", + "P->V[56928:56960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 468695: Hash(0x6318e7bf9d6b663b0d15098104073f0dfd8eff4e9f0e2c64338b6f098355e50)", + "P->V[56960:56992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 506564: Hash(0x1b9c7654fe5332cbf4f76dca96de2f66e3919942f1d190517be01fb462668aa)", + "P->V[56992:57024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 520126: Hash(0x1df55d421ac75e808f072bf09132223aa79381a2e0584990a3577eb14594d5f)", + "P->V[57024:57056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 133651: Hash(0x2e4255822d4e6ef6f057b7aa3edcaeab1e486f6078905e1fb6e7ce09c0d1b33)", + "P->V[57056:57088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 134029: Hash(0x69a122615106cd56a63a1618acd62edb95c574331f4c080841c0e3dd66bfa0a)", + "P->V[57088:57120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 172309: Hash(0x1f50537de20ad861f3e87d0265633e174d903f1ef50d5e22fd55c97ab3a7b75)", + "P->V[57120:57152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 194317: Hash(0x295717a25f6dc9c459c9842312659e54cd0aac3290c6a14c5604fb8986baadf)", + "P->V[57152:57184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 200433: Hash(0x1b06c9a14608796899b3c8c68ff7af9285e67085635a76b40d91919a43965bd)", + "P->V[57184:57216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 215470: Hash(0x678ec3b3e507bfff9b63981bd08a60b7914fdac727a7b885353872f6e2d7e34)", + "P->V[57216:57248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 224348: Hash(0x61df660325db32fcdbde9955886d39432b39aa8d01feb8105dd9ec6aceeab0e)", + "P->V[57248:57280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 234346: Hash(0x49ea11fc3fde0af003af46e0b8de3255714de3d1d691b27a7258293823f325)", + "P->V[57280:57312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 253283: Hash(0x4465f2645d2834b7dfb2a7356b52f7586365b583a4e69c77791b7db52bbe314)", + "P->V[57312:57344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 260062: Hash(0x282da9edb6e27b56d847682cdea06b4d72384f92923eca2f6ef65573dd3acc5)", + "P->V[57344:57376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 66824: Hash(0x13fcf573dc307599b49ce9ea60c9413521da993f9c9ad7098b92eb10b8e23e9)", + "P->V[57376:57408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 67015: Hash(0x27c9e5a9bf69de2891302b210f9ec94284fbdd5e92ee5e2ded533fec9ff294c)", + "P->V[57408:57440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 86155: Hash(0x60f38bfc7dcddaf965daae488bde435ee30922130b41f44bbb428ab4cb36cf)", + "P->V[57440:57472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 97159: Hash(0x67680930bcc677b1fc0dd8b43eb8ad6b0eae9775ebb8ca0ada8f275f872f90c)", + "P->V[57472:57504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 100217: Hash(0xac719e23832ba2f62ee5b563060184b1f2cde7644881d241d84c4388f952a9)", + "P->V[57504:57536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 107734: Hash(0x18904aceeda310a88d885511772d5bf8fd99543beda45f1a9a83789d6c7e05)", + "P->V[57536:57568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 112175: Hash(0x1732c918398b7e8943872ef70d262bbfa9dbcf7a4efc4cc8d8caf0dc351824)", + "P->V[57568:57600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 117172: Hash(0x1181cbd3f49f3619eb7a456e2e49370006e2f80420ca9581e84b25d6ec95c5d)", + "P->V[57600:57632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 126640: Hash(0x5382f8ec5f02d57fe7652eae1984164cd8fcc53639d786708a5c549435b37d0)", + "P->V[57632:57664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 130030: Hash(0x735307043dc0d9e7c60346ee782c66ab5671d2670ccd1386ad3c5deee3cc442)", + "P->V[57664:57696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33413: Hash(0x75382894c7e77efdc1581263f330f03d6b08121c8615c49aed5662a2e94fa1f)", + "P->V[57696:57728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33506: Hash(0x57e9261ce4a0fc8d8b2ec2ca5a7dd838ef450a3cdeb3270aec5b31da1c73bb7)", + "P->V[57728:57760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 43076: Hash(0x633977da7016d931ffbcccf83e0d784ff615f3be21777156fc8adec5977340b)", + "P->V[57760:57792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 48578: Hash(0x7343dc7607b299339f46fc40293e47b4f797422018c40031450fbaf4f8ac2b0)", + "P->V[57792:57824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 50109: Hash(0x1ead2b937512dec217f5ec8e5d295939f925ba0ae9ce346ce5e1f871194521b)", + "P->V[57824:57856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53866: Hash(0x56d15648b137133e91ea1bfe4a6b98f0060af600add95a6c52a90f4be114637)", + "P->V[57856:57888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56086: Hash(0x7f63cb143275396fe173c3b893de6b47f7f5449fc11f3e6ce0fc6b8a6a39794)", + "P->V[57888:57920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 58587: Hash(0x437dc891d34705fbf73513cfa072ddd5dfeff9040ebdd157722895c7537f078)", + "P->V[57920:57952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 63321: Hash(0x6e582fde312cc74ac8b8f1f3fe9d889093b87c0325988532d7a3736af9c4a53)", + "P->V[57952:57984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 65014: Hash(0x31ce7057ce90bc848e1ecb46b8110e23a74a94ff698fbecbd6ad6f1eb557719)", + "P->V[57984:58016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16707: Hash(0x26503fde5c753648bafc0d19196c9cfd7a57158fde57dda387839cbb6f79ee6)", + "P->V[58016:58048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16752: Hash(0x54628a4083abc5cd43fae3d5df657cd2ec7bd58fa64010048827530d9c83379)", + "P->V[58048:58080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 21539: Hash(0x5305341e4d81ca06fc6fb9385d277e6d1e39e12d42ebf6df82881dc4a108732)", + "P->V[58080:58112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 24288: Hash(0xe6a93f5ce1151f0d4741a8256d76c9e3ba15accb0173a4182d146e2dba4175)", + "P->V[58112:58144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25055: Hash(0x5b90dd069de75f55af88af5794be003900478e1e9479a0fc6993848f9c5b956)", + "P->V[58144:58176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26932: Hash(0x4d8fa7b45563cb4a6504326d3ae7771591b687cef2b31ce54472d655e6bd1ba)", + "P->V[58176:58208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 28042: Hash(0x2ce40d190b20894e5df8db6c3c09052e10ed35cf09e3f77ed8ae3d33e21bca8)", + "P->V[58208:58240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29292: Hash(0x3c457039b67b5efc24ca75ef462b454282b9963b400dde11bbc090f43acf35e)", + "P->V[58240:58272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31661: Hash(0x6b4cad3fda8c674c2234701f0de5fddecdabfed4c78836d2fc9107485317e57)", + "P->V[58272:58304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 32506: Hash(0x20eeef72c4fb6ddebd7ae61c504c3e64aecb485c4e2755df4b5360a7ca38948)", + "P->V[58304:58336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8352: Hash(0x2724dff55d09676645cbb5b7a4a86bc3653169334798444093f93aa39745403)", + "P->V[58336:58368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8377: Hash(0x41187ff9e4d6187254a1faf0de97d26c6f6aab66ccefde99554972125d27d92)", + "P->V[58368:58400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 10768: Hash(0x14d692fdfd2ed9fed81a6fd0e6bd4f75fe33e8b48f80b29969ce4972adf2c3a)", + "P->V[58400:58432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12145: Hash(0x774aa2a80dc44abf9418d965d5c4525edc7ec2912c3fd6b3239c27634fa2029)", + "P->V[58432:58464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12526: Hash(0x34688607fd1cbf44322743c62253518fb3e851ebf992f595c03fe7847f2a93f)", + "P->V[58464:58496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13467: Hash(0x50ad2c58ce73a035a9e8cb5ed1fb5e0b552285db32ddb571a25dfe2d2d5e63e)", + "P->V[58496:58528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14020: Hash(0x77c3f73d5b6970dbbc89e88d9fb224bfc22199e95f580637bed23dddd55c692)", + "P->V[58528:58560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14647: Hash(0x635c811fab7576c56aa83c60112ea543fdd578133f4ac544246d7be5bf57eb1)", + "P->V[58560:58592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15831: Hash(0x1563e7ce4ca28fb3967a3c920bef8401dd952f04bd6c0bd2b6059d884785ecb)", + "P->V[58592:58624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 16252: Hash(0x6928b8da9931fcc54b92c66b2800cb7c374f4044691cddf90175351c5b3f5cb)", + "P->V[58624:58656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4177: Hash(0x347c0870ceadaaf364b0c2103ae87b0ff49b8b609f9cd75cc77f83a47311ce2)", + "P->V[58656:58688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4189: Hash(0x15f343f587047ca37d61945d97cd7d3088cfb6ce3a2352304d0987e22ec96e7)", + "P->V[58688:58720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5385: Hash(0x2b352587584d89b1c552d313129fac3771337f5a953e57f4c324ba14b4addce)", + "P->V[58720:58752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6073: Hash(0x759cb7c3ed73426baef43e4afcee38fab000d6d5874f99455978c00f4cc13c6)", + "P->V[58752:58784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6262: Hash(0x67be79bbb2b32d070d81795f969716615e7f2041a4dddf1f7899331703b757a)", + "P->V[58784:58816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6732: Hash(0x43da9e0ecac41d1d9f0020cfe15de561d8650858e14ff05996a3d44f8f7b104)", + "P->V[58816:58848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7011: Hash(0x3d788c289afe1b40a35c5646ac8be86fbff998b398a2daff9b3979ae2646ed8)", + "P->V[58848:58880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7322: Hash(0x26e364695fc7a397c710657bbbf4853b579cca25328e9d3e3b65e29113282e8)", + "P->V[58880:58912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7914: Hash(0x514591e645bfbfffebf21a872ef401624777bcb1a64824f4ef12920a2fe4c7d)", + "P->V[58912:58944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8127: Hash(0x11d72be5a40f0741b3992a4ef9237ffb429d6059a9f2695d091bcec5d4f0f86)", + "P->V[58944:58976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2089: Hash(0x3225e9b518efa692ee8c3fd3e9fb14e8f77ca496dbc4312a29ceaffda66a75b)", + "P->V[58976:59008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2095: Hash(0x105dd82b547f5126023face3d410481cf2512c043265f016ea3ec138db65258)", + "P->V[59008:59040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2693: Hash(0x58f4664b012350e65c2be23f30650670e99eb6b53fa8f555f7282e41e033e44)", + "P->V[59040:59072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3037: Hash(0x54a6de7cccd3f9dcd3668c3552827ef3a4615cc51d59f24bff8f2a1722892d3)", + "P->V[59072:59104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3130: Hash(0x6ddd1c589a3bad1b47db42ec9230d826045ea54f1d93a3a14e3072de701865c)", + "P->V[59104:59136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3367: Hash(0x48b4fa04b2ed5c5236b4c89e16c915ee3ac3ef8567d2649d1520f96ec61b0e1)", + "P->V[59136:59168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3504: Hash(0x4c086f29a9efb4fb0def41033988c8137f9b00f3663034779977d127e33f5cd)", + "P->V[59168:59200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3660: Hash(0x607dc13c1d6f284fb1f40d6924d9a3b7673c249f3ea44b76677f704233a3d1e)", + "P->V[59200:59232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3956: Hash(0x279016ebaebf484666c590a04b0dce71a6d8fb1f77b3445df1a67983fe8a612)", + "P->V[59232:59264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4062: Hash(0x385d6a0b0268e26bd4471b8ba5f0a516ccd9b9541d5c7b08257524608f34c86)", + "P->V[59264:59296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1045: Hash(0x36d809ff1b599f75409b2db576ec782e0ccec76be6c6beae7950420ab9e26ff)", + "P->V[59296:59328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1046: Hash(0x32f6332c3fcad7c4c33a7d20399e1eb29b11069f69bfa0fec24c757e1502f8e)", + "P->V[59328:59360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1347: Hash(0x340775d32a54a268b33e03fdc939f3d72871174d4c51207f4beba88b9ed6457)", + "P->V[59360:59392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1519: Hash(0x7650f8b47983fa35b71a6ead6ba9ea662db618c1fd8ea6cbd2c22a65cad0134)", + "P->V[59392:59424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1564: Hash(0x7e71ed1e335132a88ef4bd489598874acbed330a5437c8e2d092d16c1713913)", + "P->V[59424:59456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1682: Hash(0x63322c7c836082121ea5d5567e776afe1b14e5656a75e7cb50fb01da186db18)", + "P->V[59456:59488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1753: Hash(0x722d6a5c43f4c584628d8f7ea972e00c5ddcb48103d8436535a9219fef17938)", + "P->V[59488:59520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1831: Hash(0x68d78564835c618c777b4c2e80269d3575208913be9d6996500aadcdecd30bf)", + "P->V[59520:59552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1979: Hash(0x28e8d94fa9a441f3685a3e20b2fac4ac354fd7a61d0b6eeacffd48ae85e3e2f)", + "P->V[59552:59584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2030: Hash(0x554fb515385dcf3b51e71920c17f79c2f7bf5269580cb328bd92796d5998850)", + "P->V[59584:59616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 672: Hash(0x73bfa6809155e68cca91257fb0f5fcd2afeeec3cc2be478fc25fc824c192d1c)", + "P->V[59616:59648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 758: Hash(0x2a9cf42b7e4e7fa948e2262c5232181bb0a6dcf8eb301d4991b0d5f87091ae2)", + "P->V[59648:59680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 783: Hash(0x27fa1d17a0be7c634802b023ee4b0cc7e888f07412d7deebc9e9a72fe7ce744)", + "P->V[59680:59712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 840: Hash(0x764a265c4a8d9fea0901eea1120455d1b1090c1752c25c38b637ec9611c8999)", + "P->V[59712:59744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 877: Hash(0x5e1066b471b4bdf50b692242b1a7027e2c20e4431685459b10961fa170c7849)", + "P->V[59744:59776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 914: Hash(0x3623313bfa778c2d79098822c4475b15df94fd8b6c2918ad720ed18782331f2)", + "P->V[59776:59808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 988: Hash(0x4f3194f404fbfc38faea128f9f334b22507aabbf1fd06c1a6631db32878c14a)", + "P->V[59808:59840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1014: Hash(0x7c7e4b97d637ffae51c005c78639481bac33eda1c7a39b1d52b4bcbe22a61)", + "P->V[59840:59872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 260: Hash(0x2a6bdabcd31afdb37e353c655d601e8d769ee503b4e5cc7f2a6f44296d62d66)", + "P->V[59872:59904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 337: Hash(0x78c98d99e440c658d0f42beb66732a516e2b2428cd8f88e2c16926506acc086)", + "P->V[59904:59936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 378: Hash(0x60b40bcb6a775a66e92695093b3f859bfe2a876988e1e41abc674e5fc412922)", + "P->V[59936:59968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 390: Hash(0x690300819dcb5029c3e5761e5c9a3b0739bd87616a8c27e733966ca64175988)", + "P->V[59968:60000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 421: Hash(0x7d28d62884c6a429302c9c544b1d05dcf75cf2c182efd34e9844704790919f3)", + "P->V[60000:60032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 439: Hash(0xb62fe4c61c551a541b7b3f4ef152b1b75e8f85e1131060bb238544f6091ffc)", + "P->V[60032:60064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 456: Hash(0x23751cf6852b1bf5f611c59797f3e5d063f1d8b6b156d4699d0bfd76d5610b4)", + "P->V[60064:60096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 495: Hash(0x5f8698e4b2ec1312b246d25d9b5ac48b549f3e1aafa763d66488126a52f0f70)", + "P->V[60096:60128]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 506: Hash(0x78440b230c23bf7689a65735da8c7b85ecca7c55141fe807da2956aba1f4861)", + "P->V[60128:60160]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 131: Hash(0x653d8d08ddae1dfe4801b295cfcdac32a755c76ca7d47b652d4ffcc16319f8c)", + "P->V[60160:60192]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 169: Hash(0x4a4b937e79dec3935c2a664f1bfaf6ff953a590125b448f4f46fa821ff53eb6)", + "P->V[60192:60224]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 188: Hash(0x6f5573da81a05510b0ce0afa1d1456345320c0bc72599967776dc130e40ecc3)", + "P->V[60224:60256]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 194: Hash(0x69301532b628f5f6826d34c1e8ca8c6e21a6638219f669d59023570cc5d07e7)", + "P->V[60256:60288]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 211: Hash(0x64d6ccbc5f68627b25993d497d998b496aaa8e29baad3698c38c2de69bd7e62)", + "P->V[60288:60320]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 218: Hash(0x36f4f8411dad37d67eb3e009640ff078918266788e9bb235fd342627cf40432)", + "P->V[60320:60352]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 229: Hash(0x62bc5d98c78c9bdb08ef558bbe0e64992995d4574eb0889b7a62ee37f8de41b)", + "P->V[60352:60384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 246: Hash(0x10e2ba1da00a0ae64a2a38eea81c74d4b7b8d092172a3d3e0c83ef3d864a365)", + "P->V[60384:60416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 252: Hash(0x75051b21b5402da5bd6b354387a3e12d4271a0e5d17f773bfcfc71ce55db9cf)", + "P->V[60416:60448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 64: Hash(0x4112fc58637b5c29eacdbd701db5a2257e2d2be9be45d92bf4a75b4d3d126c4)", + "P->V[60448:60480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 85: Hash(0x79151bb1e1d2e7faef9cb5b83205eb65344069ad7d347dff798666cc9500087)", + "P->V[60480:60512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 95: Hash(0x11f9f30d2953e59e75e53e9bd49cca787b17566b7a7997f441e06b0f4f9d793)", + "P->V[60512:60544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 96: Hash(0x34df797d6ecfbec28d9dd9c891201d883e79693bfc1e7be0ad9a014d337e355)", + "P->V[60544:60576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 104: Hash(0x754acbf6f44d58296c982019c1d1d8d93acfe84770b2bc0f33313ea9d7e5709)", + "P->V[60576:60608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 108: Hash(0x584a113df7cb6bff9d9a16d02535a8030b8177bfaa2ed617030df9a07f72d51)", + "P->V[60608:60640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 115: Hash(0x6a8132e3d6c0a64c46d8ac74e51f8b3e32bd29223df4991956bd8f4eb3440c2)", + "P->V[60640:60672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 122: Hash(0x3719690c56d5e0d657f14ba764bf333e72bcc3535f86829828b5916f9f4e2d9)", + "P->V[60672:60704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 127: Hash(0x79a87f2acf6f453fd0e2a3b75181102b6b0a4ecc88f72d899b26dcb025b7db7)", + "P->V[60704:60736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 33: Hash(0x61fce06203405270c33eacd1d5132e2575b9a2a7f85e80bc971446229fe2a0)", + "P->V[60736:60768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 43: Hash(0x36af8a290a9cd4ec51f6d322c4133d94083f5ceecebe5bdbde5ac5a9d052568)", + "P->V[60768:60800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 46: Hash(0x66b8fa295e6dfc8693f315d7144ebe83fee3f095b42917dbc7736c2783af99c)", + "P->V[60800:60832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 49: Hash(0x2b755048b3407ff0564df00549d90a423f1e70ca954350aa738b0b6f49107bd)", + "P->V[60832:60864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53: Hash(0x6fbdfafc7e4afacc95ad92608862303b0be40bc9da9075ff8da19eae029d042)", + "P->V[60864:60896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55: Hash(0x165664e184137820f77b7ca394bbc0fb7bf263a5e780337ffb0120f5aab8795)", + "P->V[60896:60928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56: Hash(0x280778a6c66cba6a1c1d74219b7f6107a7cce066b9f869032e2d738a986eb2f)", + "P->V[60928:60960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 60: Hash(0x458937078064549c85e27c8d1d237ecb1bb139e6e78f8cbf0a11604d3d0ce74)", + "P->V[60960:60992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 62: Hash(0x117ddffcdf49e1cf5c9e5833c21594d3349b50b0ff640180d074931f1a576a5)", + "P->V[60992:61024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 17: Hash(0x3907d09d0009b7fe419ec3645e2cbde315b018ab70b98a3ee8130ec72e0d2e5)", + "P->V[61024:61056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 20: Hash(0x226a3ad5f3a59123e692543a12c05171e7d54a6cd9c46aea135498d799d7a5)", + "P->V[61056:61088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22: Hash(0x1fefffa0b560a817a89264e09248cef8c827a24b1097e918ca1798676e24666)", + "P->V[61088:61120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25: Hash(0x49931fbbc0f0e6894b4d08fe677d0d0214be542e294ba0d1cba05fac34456cd)", + "P->V[61120:61152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29: Hash(0x6d02e900ce5008414311fd7c1b9062f9cca1bdc329e90d1f69b0e50b13446e1)", + "P->V[61152:61184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9: Hash(0x67b9c1d8b6aaa7f8098c5aab0a9a7aeef90c2da7eb79ad72f29f1bfc484ea5b)", + "P->V[61184:61216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 0: Field Element(0x3d4ff1165477fb7f469574e4b3ff0c7cbef2e45e5e42c628a7a0f591f6fff43)", + "P->V[61216:61248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 1: Field Element(0x53053087bb21322c60c346233350ef89248c830699da37963a9746b0ab29200)", + "P->V[61248:61280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 2: Field Element(0x62dc87d91f055de93ac29e9c7470ed97c5239221ec03ef6fd29109ee70ed0ae)", + "P->V[61280:61312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 3: Field Element(0x38578d2dbd73e0ec98ae4f8a8bbfc9acd3cdd79a1124b51efdb95bcf48f75)", + "P->V[61312:61344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 4: Field Element(0x2ae0b044f7e8cb35c1a3939290ce6144ed24b88bbefdf97f4004f6c1ae591c9)", + "P->V[61344:61376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 5: Field Element(0xec2986c36068ccb8ad7e1b56386e24f7eecd86ca7ffc8c2c0a37ae8e02f387)", + "P->V[61376:61408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 6: Field Element(0x6863b5e254ebd823ff1b4aaa4a66fe45cde5bbfeb34798d1a20becd9f300b8c)", + "P->V[61408:61440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 7: Field Element(0x7dced3e186654d9782887adff906499126337f4ea00f741fd7b3806f84b2cd4)", + "P->V[61440:61472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 8: Field Element(0x66ef528266d0ae8d39222d541804c28c5bd16651e6827465d88b23c92fcb2fc)", + "P->V[61472:61504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 9: Field Element(0x7d5ac9fe32b259a17197e8341d723301e67980370fc14a6f0559345a04441d)", + "P->V[61504:61536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 10: Field Element(0x249b96d28e8dc75eb632e00343fe16ac57fc4e87cc0801724eba2e8c146f639)", + "P->V[61536:61568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 12: Field Element(0x576467551b69c1f3d31983359524f6f0d68da788c723972522f796e526e1165)", + "P->V[61568:61600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 13: Field Element(0x66d354e2dd520d4bb78946e159ef7a4867d05930142cb7586f0930c232f5035)", + "P->V[61600:61632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 14: Field Element(0x44f0b867be0531ad0b9bc0ff0a258a625215f013f3562233eb82906e8a8b192)", + "P->V[61632:61664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 644, Column 15: Field Element(0x51ba6a2fef58fd55f4f7a1441002687d51c7795e8d11c0793466eea0f8e6a5)", + "P->V[61664:61696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 0: Field Element(0x43a3369406401ba6c47dc2c45939d982d3e3b7c4e5ca427c79e2d16702e1988)", + "P->V[61696:61728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 2: Field Element(0x2c5f86629301006e8fa244a89c75c68a212e79018954e48a9bf2ba62400900d)", + "P->V[61728:61760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 3: Field Element(0x321c519c2580affaaf5456039805a4c89b1eddbfe583d49ee1f54153860d1ef)", + "P->V[61760:61792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 4: Field Element(0x7a9db6411d89634600522263f5681d319807cfeaaa60ec6a8307ee949a1c3d3)", + "P->V[61792:61824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 5: Field Element(0x47a1e069eec1503727829feb6189efc42d07702397b9e7af776e181e08221ab)", + "P->V[61824:61856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 6: Field Element(0x71106b276bcc34958442e7f047cb1bfc857e7261c015010f276877e147525ec)", + "P->V[61856:61888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 7: Field Element(0x7bd8eeae2fbd14f0ac007923aa9074591cf1f562011962167fcc3f97c9b7c3c)", + "P->V[61888:61920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 8: Field Element(0x347edfd5627bcf816c9997f3f90bdcc69a54dff6a279484afd8948ad3aa429e)", + "P->V[61920:61952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 9: Field Element(0x6efbdc50efba8e5fa389cbcad78034ccda837f38dc5b8658421e095319b7c93)", + "P->V[61952:61984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 10: Field Element(0x155453c6a817e83b5969b1ed7aac7de4f794da1ebb5693abbfd684dd4be6738)", + "P->V[61984:62016]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 11: Field Element(0x44a939c160ba5311aceb2bb50c89a5afccb2f9cc53463f06b4611e4b5e8c39b)", + "P->V[62016:62048]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 12: Field Element(0x30e11844ad24a841c46257a6b44ee7e72a6a91dccb9fbcc2a5f65a259b9f647)", + "P->V[62048:62080]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 13: Field Element(0x1a5d48ad62f5740687aadfe1d7e17557c0e9c9d9e81f6d64a0be40e9f86edef)", + "P->V[62080:62112]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 14: Field Element(0x6397624ff923a1de90352e369448e3ee4d0989d8d49a89074c9bf8292a9a5e3)", + "P->V[62112:62144]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 739, Column 15: Field Element(0x2134fef414a1366465a53caa6431a9091ffa3dd07a3606141eec12ef093bd67)", + "P->V[62144:62176]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 0: Field Element(0x3e4ba4502c44aec63c38ab248ed36427b5970bc5f86f13d6cba980816f35252)", + "P->V[62176:62208]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 2: Field Element(0x6c85e5acefdf831a452492b0de0cd43a3474a997531392fa491b68b74cbc315)", + "P->V[62208:62240]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 3: Field Element(0x3203e094d18ed21f4128d80ec934339c39951e9b0a2012d541ab7180e9a1784)", + "P->V[62240:62272]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 4: Field Element(0x692ed7c04e11350dbb610d4d7abfb949a2c7d1148bc42d4b3542743d5d9b15d)", + "P->V[62272:62304]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 5: Field Element(0x2e5ff89744e3ddfc803b3170f7e253ee657ecc57a50e84c497610987e529173)", + "P->V[62304:62336]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 6: Field Element(0x53edf734c90665054295b4435ed524a9836a6e0399eaa3a7ff08539f96eca3d)", + "P->V[62336:62368]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 7: Field Element(0x58c57ba02e685086370a6b32e4c898a91f58fbee03db92ff12f8b5942d28e0b)", + "P->V[62368:62400]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 8: Field Element(0x6e10e1a7e018f65a0c862a4489fc528f7be66d6cc1005ec0bf95166d06baf72)", + "P->V[62400:62432]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 9: Field Element(0x61cbe9b4935d80d06e8f5f19dd3197b50e775de89ea0c94b16513eee192423a)", + "P->V[62432:62464]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 10: Field Element(0x7b05cee0c5106db6bdefa13ce41d42d04d2bab5816a10f33d5a04123c1e3f13)", + "P->V[62464:62496]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 11: Field Element(0x31c807749de1d9d73db983e161dbca76c70c0348e4b10c5a278579ca6ebd3e9)", + "P->V[62496:62528]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 12: Field Element(0x501e9928eaace2f6e31bce35b5c02fdf4c4a8aadd0c13df861905f076d7862c)", + "P->V[62528:62560]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 13: Field Element(0xd5832995f68cd219dbb701c4455bebb13de7497e1d88c0e0a4fb8778d92a48)", + "P->V[62560:62592]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 14: Field Element(0x2dcc9cbfa28a3e75f1d65125ab510a5c669c2253ce8cd118520754b8ad3f4d7)", + "P->V[62592:62624]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10309, Column 15: Field Element(0x571d1110700a960bf3b2653aeaa4897cb54987729b7536901248da27e745b67)", + "P->V[62624:62656]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 0: Field Element(0x43fbb2b99901984ab8851a9129c4be193d7d0dbc4dfc080a1d7b00bb37a7dad)", + "P->V[62656:62688]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 1: Field Element(0x686ee5a75f83298acc405a24c3da68ed67226fe27a2297b11be15351ee3ba04)", + "P->V[62688:62720]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 2: Field Element(0x5be6f629353abf1e1067e6a270b1f1f35c5851f7a4174b2684be1c75ebac51b)", + "P->V[62720:62752]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 4: Field Element(0xd2b16361edef8b3b8899afd6b559779a21821339a315a73c10707ffc6cc04c)", + "P->V[62752:62784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 5: Field Element(0x255ad9efe3351bb078397efb8c248b1dc5726f84779dbd07b65158ae2597663)", + "P->V[62784:62816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 6: Field Element(0x7924346b5295a63263ab82770722232979bd6e99a62a10c4f3774acf5506929)", + "P->V[62816:62848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 7: Field Element(0x3cd2752b4d141afc3a4f880cfbfe5ea9d5cd81ae7ee605e1e0a267919fff210)", + "P->V[62848:62880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 8: Field Element(0x28c133c59d819d7e36be57397324982cc3fcd89b5fe3d75760368199b58c40a)", + "P->V[62880:62912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 9: Field Element(0x7266490eb286b41eca3e9d042d184eb359fa3c767f9b8958878e2d05663bc1c)", + "P->V[62912:62944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 10: Field Element(0x5976507318f27cd84cbaf5bc6ebfdea7465397bd3a6aee2ba9b35344f7e6f5)", + "P->V[62944:62976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 11: Field Element(0x72257e9dec0a68803a862aa121007ca755ec76737f090a7f1bfd157d721e936)", + "P->V[62976:63008]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 12: Field Element(0x6972c0474fe7cc95b95859a9a344ec26a9b39a7a5e1b26fe2996654d778627e)", + "P->V[63008:63040]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 13: Field Element(0x35d38c2635ab19aacb8bbd907beb68b714fc6d243aa7549d4b80fe6ff283564)", + "P->V[63040:63072]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 14: Field Element(0x5b7cc8f212c4316a60629dc0a65f9ded77ff4491043e5ecf4883cc438bc9711)", + "P->V[63072:63104]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 15811, Column 15: Field Element(0x3bcdd97e995a225d760d317274f7bc95c908e96f372da293aadbe5227406a00)", + "P->V[63104:63136]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 0: Field Element(0x89ba7b67aa686b50f2ffe08d9f6902c330439eb7544f51d90637c18d1e8bdd)", + "P->V[63136:63168]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 2: Field Element(0x5ce39d6a9ea1de89130273689278f18ea9930c2dd8ab1af4448aab22aca311)", + "P->V[63168:63200]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 3: Field Element(0x5faa0d289136734c0e43b77c59375b59dcb786f0b97e03be754f4fa5a922c6d)", + "P->V[63200:63232]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 4: Field Element(0x92fac012c852466632e6d5458257e559b696112193b7fb9fc3d98861eae8b3)", + "P->V[63232:63264]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 5: Field Element(0x7fbe7816b8a46b6f27cf2d5ad4ca12ca02ae3231378bf3d7801dcd32f5a9ac4)", + "P->V[63264:63296]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 6: Field Element(0x3f42bb7b83dc0c0487b5a1f4d0ff314eb05d105b00c7052f0195c4ed6d2a3da)", + "P->V[63296:63328]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 7: Field Element(0x37c3b9e4112c80736ba4c0b4600056543975ff2f83aa627b11ff046d9461e15)", + "P->V[63328:63360]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 8: Field Element(0x1449dbf86c23976bb1bb7ffc820e82907cc2d1e973f8ca52562d715a5420c6e)", + "P->V[63360:63392]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 9: Field Element(0x4764c3a9799375b1ab64cad98ad58226a9473d0528cb3933a2f94a28f83957f)", + "P->V[63392:63424]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 10: Field Element(0x297dbcb6bc8534c8e470a411837e6edc1d8fd714b7df694e301ce5c543f0272)", + "P->V[63424:63456]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 11: Field Element(0x3b691f24ae73401ca3e7f52b9fb1ef91d39a70da1af4eebf5f0da5952b13bad)", + "P->V[63456:63488]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 12: Field Element(0xe7273dc31b591538066406a30b9306f96eeb08f5ac262bae7dae9e95856e1a)", + "P->V[63488:63520]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 13: Field Element(0x5385e685ff23a5e36372b758eb35f83ebc0edc148d3e962334515021f1c3511)", + "P->V[63520:63552]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 14: Field Element(0x38c42a20cd75d279fde1db4de0ebda80992c6440aeaa23e3370990a6829a7da)", + "P->V[63552:63584]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 17340, Column 15: Field Element(0x438ccc394cee4bb4fde56fe956860e75cb774fbea1c2e2b4bdca8efa7b27d8c)", + "P->V[63584:63616]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 0: Field Element(0x77e52332db29e8002f089fdb2462376812aba0679931a63fb1ee95a70abf1da)", + "P->V[63616:63648]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 1: Field Element(0x28368d47dbfad2b21316a03268fdf22b120e1fc1ab5b1fcb54d9c0a68c1f4f4)", + "P->V[63648:63680]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 2: Field Element(0x29e8c4063ef591b31af1fc27328973f08d035cb6840a3c2ad314030f0bcff10)", + "P->V[63680:63712]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 3: Field Element(0x5e1acf51d784b87fb6d47fe0fb45312dbbfce0ef2b39f1553425e428ca87450)", + "P->V[63712:63744]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 4: Field Element(0x36498b36730c675284449cd578f0c5c427da7dc4d2db1c5ed9244efd57db4e7)", + "P->V[63744:63776]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 5: Field Element(0x5e0dab36d369143107e59d6841bab2f05402d841979b9bf06a146162520467a)", + "P->V[63776:63808]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 6: Field Element(0x647c7852cc5d5f3f55faf04b19406276ce8e643d626dcdcfc09b2a1e7ddd042)", + "P->V[63808:63840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 7: Field Element(0x4247efa5d138682467848cfaa17bd95f4fbcba468b5dc2a53604658efc5e5b4)", + "P->V[63840:63872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 8: Field Element(0x5d7cf03075f8bd1bc12ce2485709e61c0bfeb3895cc69d0d5817ee8c25636e7)", + "P->V[63872:63904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 9: Field Element(0x2807be08deb2debcf592053e4747974c3d762c6e4c64772e276cb0ea8ac8ab)", + "P->V[63904:63936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 10: Field Element(0x7f22dec1cde707ef903ca301992fd0b47f1c77c264d44684610f4fd60d8e485)", + "P->V[63936:63968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 11: Field Element(0x4da0b0ad6e842154a83126e74036d43f86c87ad8a900036757d221580477551)", + "P->V[63968:64000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 12: Field Element(0xedcc3d89a512f8d96561801105b12956b8eef4af5cd041953212f73b11686d)", + "P->V[64000:64032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 14: Field Element(0x1f68bb15957b03675f0b29ef351999564f63fc7ea0a68183ed6b3877dc2c4ef)", + "P->V[64032:64064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 21099, Column 15: Field Element(0x4ea7355ce93134b3202261af7e90503d993cbf0e7ad1725768ac969f52b8e7a)", + "P->V[64064:64096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 0: Field Element(0x76e917142db0115749d9dfaa76dd568d81ef8fa0a17025dd9532509d05682f6)", + "P->V[64096:64128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 1: Field Element(0x235354736c03471c3956021231614638a7fcdc2155a85ae0555da9ea93840a4)", + "P->V[64128:64160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 2: Field Element(0x5657cf28aacc5e5c8161a97ae92ae35b8cf924aed67057e9d617d3858165159)", + "P->V[64160:64192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 3: Field Element(0x54c404f6ec240e0cd6e9ddf75c43ce17a61f461a115343081a50962e8e6c7f4)", + "P->V[64192:64224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 4: Field Element(0x1b27ef28d844cc14f96f25aad512a50c5ba3eab091131143e9220d52c05b7e8)", + "P->V[64224:64256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 6: Field Element(0x1d503dab7bc21c08e82799f50cc171504cf2e51597da0643d1fc53637a59bd2)", + "P->V[64256:64288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 7: Field Element(0x2ec978233ec8da3f4f457d3c3b9f739c8689e1e687c708cead8f649535b212a)", + "P->V[64288:64320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 8: Field Element(0x2660efbc7c7d2f2200967475fa91631959e18a9d51039339c1c994858f5f403)", + "P->V[64320:64352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 9: Field Element(0x175a60e68a98117c785fe3c9039a51f80802bb80aca47f7c4a0e6fed97e7b7d)", + "P->V[64352:64384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 10: Field Element(0x3b50e8f8d7a5bb2b4fd28472f718120423253806d0d94df8c25460e5e84f617)", + "P->V[64384:64416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 11: Field Element(0x2120ef66e91bfb1014876ae5f9b0cb18cb734add4b97693cae5c2e7ad1d2854)", + "P->V[64416:64448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 12: Field Element(0x73c62e1a3d373a8f05df86e7d14b3477f175bd6ddeeeb37888990ae82c2975c)", + "P->V[64448:64480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 13: Field Element(0x3f2a3617b0bbdd271fd04dfd18e941e2c8a1572e81d4541e0975826cc78ebef)", + "P->V[64480:64512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 14: Field Element(0x52c0fce8eed18210d7ba9fcc86626260f480d99b50a6e07e29bf5b440beda2f)", + "P->V[64512:64544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 23319, Column 15: Field Element(0x21264716f311116237b3e497159d79fd7bf5f20731a8d7cc3d12ea671d3350b)", + "P->V[64544:64576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 0: Field Element(0x3878a08278cd0a45cef1d9fcf13bb609a399f6836c398838cf5f1b7eb8157dd)", + "P->V[64576:64608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 1: Field Element(0x24bd8bc0ff4eb44c9c9b900d44fb3e63a6450f91ee95c7d859a6f2465d044f9)", + "P->V[64608:64640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 2: Field Element(0x31af2fd0aaf6f6b1fd69b59a273ea5916589a326518be6b6eec4b108e31b3b3)", + "P->V[64640:64672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 3: Field Element(0x7a9f39e33cddbe5e2d95a914ddd1d5c89e29315ae327fac4dd2d24df7aadbf1)", + "P->V[64672:64704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 4: Field Element(0x18d2dad2cadaacd619dbe014d49e6e05219277e2888e89b14f0e002876feef0)", + "P->V[64704:64736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 5: Field Element(0x124b171f353697e5f7837daae2bfaecf597725b699d24b3a2a7a6d50f66254f)", + "P->V[64736:64768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 6: Field Element(0x3b94adc16c2c70e4960be9db1489e550b9c3ef3794f1e959745625262ecc30c)", + "P->V[64768:64800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 7: Field Element(0x1967ce28a7d490b5086c648869e0c863acc25425b493d721637b6ee48e96107)", + "P->V[64800:64832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 8: Field Element(0x786ffe91de01d207933dd15b722bb3d1f7d40676336f3da28a011f2ce35c828)", + "P->V[64832:64864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 9: Field Element(0x10410780f0e99da9ed631e441b221db50d7552834b3d5caa6e2e5cc7a2816e6)", + "P->V[64864:64896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 10: Field Element(0x60395c9db6a071efaa93241c2fe39c6c2c2bde573abba2768626f03b025234b)", + "P->V[64896:64928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 11: Field Element(0x378a04ed22cc39c8e3195cc677f76cfd2ee71c790e8fd43b800ea7d51598c00)", + "P->V[64928:64960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 12: Field Element(0xc3b7b2e52d338b4699bedb8ba26a83bdd4bb2dc14f2fd012adaf066e5ac31f)", + "P->V[64960:64992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 14: Field Element(0x66732c224814cdf54e00ff0304514c616d23abab79d2a551bdd44c60605a1fd)", + "P->V[64992:65024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 25818, Column 15: Field Element(0x66fafe3ebe2eac95ed13256506151bf5b89cec760ced95e4e0b5f0764825b71)", + "P->V[65024:65056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 0: Field Element(0x53bf04ea4fa95da147b1128874b90c15c2693aad8804eb3542321a7fce390af)", + "P->V[65056:65088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 1: Field Element(0x61aa1ffe599e22aadb14dbdfd4807ebe3efd3c709bd03091b5e166f80ad67d0)", + "P->V[65088:65120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 2: Field Element(0x18df2f4f4897eb4a779b25edf0a0cefab8ce33f64b114e5fa0860fe59deaa85)", + "P->V[65120:65152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 3: Field Element(0x16f8bba73c4beb3141f1ab26c50a650ece6e0d58dc867abe3e840119fb03eba)", + "P->V[65152:65184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 4: Field Element(0x20bd075fad222f650dac568e189f84843fe3cd0bad7662510a085d95c45d02a)", + "P->V[65184:65216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 5: Field Element(0x73aec5ad5836b1e900659c56cbb5ab95cbd9fef158652fe83f247a838daf965)", + "P->V[65216:65248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 6: Field Element(0x57d05d6ea268fba23cc719fe9d3b1825783844646ccf8d3dc54032413437c3b)", + "P->V[65248:65280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 7: Field Element(0x74bcc57e9662be0cdbba9dfe03fc9c313a2f080ff70f8d0b5f215153592529b)", + "P->V[65280:65312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 8: Field Element(0x7174799fd5cbe3467db9b52f385883cffb72d4445e73cf56b5c3d94cf7f56cb)", + "P->V[65312:65344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 9: Field Element(0x52bf871c5705aa0f4c426844c52d65bb7b17c945a0f8e5a53bf9f070a940ea7)", + "P->V[65344:65376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 11: Field Element(0x5f01bcbede1b41e8569bf1a122eb70d7b68174144535d5ab5021fd14f8e0b33)", + "P->V[65376:65408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 12: Field Element(0x509a2c8154f8f18fb80dd1c05f1d1365e60c36e4a081e3c5efad8d24ecf44d4)", + "P->V[65408:65440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 13: Field Element(0x41b1295f25ca7f2761ce7ffe8138796ff9c72b3e9cabc5f2a3d79100d6328ce)", + "P->V[65440:65472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 14: Field Element(0x2c7cd5db5156724b35d49391d6352edb98ab3e5b1fc6c9357d607303a0547a4)", + "P->V[65472:65504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 30552, Column 15: Field Element(0x70cf43f90d6b6d3e423d8846b50815a4eb686f754b16ac182938b005429ff33)", + "P->V[65504:65536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 0: Field Element(0x23567ad1987c328f00893cde54111986aa553e4e3d69dc6bbd9d66b9804b52d)", + "P->V[65536:65568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 1: Field Element(0x5b36a5f835244882bb2f5bf6309f81bf0ce3e48fd00319118550c9b601ff547)", + "P->V[65568:65600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 2: Field Element(0x6d978eb674e5a2ef6a810ea5d45ff05393323cffaeb5bd20ea0eb136d79fc6)", + "P->V[65600:65632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 3: Field Element(0x34a5be182d7e7a277bda7a74a019188e4cd529ea6884f8c5b24e41eec94fba0)", + "P->V[65632:65664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 4: Field Element(0xd82e3c9a968b97730f38cda906f8807ebfb49e6e858494b33c2d97147689fa)", + "P->V[65664:65696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 5: Field Element(0x51230148f8323962cdb2cf8d72c302cf14a417c9186f81a2efa14e049edf8dd)", + "P->V[65696:65728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 6: Field Element(0x6d00047fe90972276733e83a1bc49549598dfa6925907f1b01f34841adc376a)", + "P->V[65728:65760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 7: Field Element(0x74a389d2ccecfcdb4e832fa3c07a10314f9fd538ba84d16a7ae92a365d62b3a)", + "P->V[65760:65792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 8: Field Element(0x200bcdfe18643df37431bf204ae3b2f8b20fbac3b0762c6dc0217f8099af10b)", + "P->V[65792:65824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 9: Field Element(0x1724414c2f1a299c6339a31d6b29d32ff68abbb04a4243f620411027c062b1)", + "P->V[65824:65856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 10: Field Element(0x370adfc9def01654d063f1fd714d54fdb03cdf0b9ed4180f2c33f2f5e440476)", + "P->V[65856:65888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 11: Field Element(0x5a6629a51144ddd1c044877b61a5c929193b2890d3e25ae6598d05be0b0fbcc)", + "P->V[65888:65920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 12: Field Element(0x3933eaf393c782e3faee0326fd2539bfe6046695f2fcce8a9532c3b1e216f82)", + "P->V[65920:65952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 13: Field Element(0x61d66dd2b0b7c631bd166d712a48aa9e7c37b26ac03cab354bc09a9693afadb)", + "P->V[65952:65984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 32247, Column 14: Field Element(0x6b583842fc722a4fb92b2c9fd3c96fc2f054cabbf3957d070e7d14a77d35bf9)", + "P->V[65984:66016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33413: Hash(0x1acc76ecd9c6cf0a3cd3e0f3bc5c7a47b54113a3733cd2b3b5dd6013bf42dd9)", + "P->V[66016:66048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33506: Hash(0x285dc8998ff51e8c7a7ee26cd3392f062cf6f02d245b5da109b1174f433ef4c)", + "P->V[66048:66080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 43076: Hash(0x4b2c39fc6d76c112f1b6e405ecc36c7a46ca09d4a52ad3496ebf5575d4e2471)", + "P->V[66080:66112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 48578: Hash(0x6e5333efd742424168db99cc60ad1926358a5f5493a9d43027d04a12437af02)", + "P->V[66112:66144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 50109: Hash(0x2ea246ab5c19c7133346196d204355fe5c1a3b5bb08586038ed9793cc38fc71)", + "P->V[66144:66176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 53866: Hash(0x235c06d184d7f254c58eabe6de8556181d9975f5e4c2d57e3e3891dec9243e0)", + "P->V[66176:66208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56086: Hash(0x36d29b019dfa04398be9a88e1a3510658d30b0ba92fac93355c045ff1693acd)", + "P->V[66208:66240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 58587: Hash(0x6c8e0e04efd724f4d7035a47b6a7416f08d52465c2207df1ea68af29abff113)", + "P->V[66240:66272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 63321: Hash(0x5043344cdbc22545d8a496688055c39f1c0eacea00fd29dc4d830fff6b7b9ab)", + "P->V[66272:66304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 65014: Hash(0x168671791a3a62653a540a16afd87b2bcd84bacae60c186515e16a54aea86b9)", + "P->V[66304:66336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16707: Hash(0x295f7c854af81974723e59181e044c48008c62fdc63fca1fb93956bc46172f1)", + "P->V[66336:66368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16752: Hash(0x6c5eb0a6684234593f5563903b45fddd49c3de588e402ee4318fda62219c632)", + "P->V[66368:66400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 21539: Hash(0x1a6459a18a2579666b35f8b409a95a967770e5d6e675c714860a7c4a454bbe0)", + "P->V[66400:66432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 24288: Hash(0x6314c8cf4c9e1596c4c488120ca5f20e1d234dccf5143f6c8755af84042a256)", + "P->V[66432:66464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 25055: Hash(0x5dd4eaf3ed0e3301715ae0d7811a39cb025acd7b2df21a53059992f1007ec98)", + "P->V[66464:66496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26932: Hash(0x265b0ac14072cb27316b6320f056cde77da09a5e05e046e78407cc72d10840d)", + "P->V[66496:66528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 28042: Hash(0x691287791c7c1615babb63e009a4d3f553b8dfeac84a56a572ca46536ef22b0)", + "P->V[66528:66560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 29292: Hash(0x867218c054ce4a724c34bb1290a97cfa72e635e64bb2d0e014d2d4f081d624)", + "P->V[66560:66592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 31661: Hash(0x172b6b5a0ddb9d3c5af30f3ee5d44eebcd8153b93867f807b7ec2b6778e8f26)", + "P->V[66592:66624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 32506: Hash(0x7956724d3e1734dba8642bf5febdbe65205b3878407fae59fd896290abdba02)", + "P->V[66624:66656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8352: Hash(0x7df6d3bd09023ce4923a2ec9f90f03d210c5e4c9aa6ecedefbbebffdeb62534)", + "P->V[66656:66688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8377: Hash(0x155e3331e3f3eb618e4caef10294330926dd59215bf30319531cbf849220b85)", + "P->V[66688:66720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 10768: Hash(0x26b4d910b64ab485202734355106a893cd97d887458b76a8d0022a77a3d3074)", + "P->V[66720:66752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12145: Hash(0x75469eabc2d7dc3b300b0e67b6599f24c910e370a8600661e0bf90bf7fbac73)", + "P->V[66752:66784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12526: Hash(0x7cf5288566e90a02a2e07e2243d5d821fbb9742a06a7c1f7643a398e901e314)", + "P->V[66784:66816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13467: Hash(0x76c730a3ab94dcbad7b4eb1b10bda120837cf6bc40cd7d397a14e3a68c04d77)", + "P->V[66816:66848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14020: Hash(0x4bff588b0d4b80451b8eb9f983c9b98f5e9579df5f31df28fe75d7b3fd24f74)", + "P->V[66848:66880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14647: Hash(0x51fabead3a3b411ded911f88fb5ce96fbae8e700b90e67c3b653b8917657c6a)", + "P->V[66880:66912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 15831: Hash(0x2025cda174718886953b6eba322e312ee446dc74903d8a4fb1b314d4ca92506)", + "P->V[66912:66944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 16252: Hash(0x3b4b25117ab942e41e8a5c3ef86957c5381dbd8ba735e2293e0d08f8526d6a3)", + "P->V[66944:66976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4177: Hash(0x1b75e4aef3991a78be989efcc4e8bed00e4f55f72330e2f43fb81f913d9cc25)", + "P->V[66976:67008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4189: Hash(0x60e0e73d0aa5fb89c136166318304960b880eea61352269fb75b914b74f83a9)", + "P->V[67008:67040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5385: Hash(0x33c1096456cf93cb2fa9cfcdfc5fb775ae1799932ab0d4816f532a969942b12)", + "P->V[67040:67072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6073: Hash(0x6c0ace8669157b3df2cb43f20177e8b6c8887bd4a32baa0da8868613fa71052)", + "P->V[67072:67104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6262: Hash(0x6527a80ece812a127022c48ef75a07bc04e185454ec3a3b9377679604add117)", + "P->V[67104:67136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6732: Hash(0x53b98eef48ae35068f9a347092f948387ab2d62d75658d7a20a7cc628538e63)", + "P->V[67136:67168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7011: Hash(0x69af6292ec3665c7ecb7e2d6563c8ed29386a9b46a56bf6137904f4ba231d08)", + "P->V[67168:67200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7322: Hash(0x2d3f5fbf4e2d1f12c5387e120d38fe58e4db8032b39f47d4d1d7e63a0ed281b)", + "P->V[67200:67232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7914: Hash(0x1c2227d268c6069a826ab70d63bf15e4a784ca4fd85740c2ed63201074becae)", + "P->V[67232:67264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8127: Hash(0x54c10db28b90a4b4521cf5b9ccdc34dca44abc8bf644308024bed6d8f68dee0)", + "P->V[67264:67296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2089: Hash(0x3ab4e6c75dbf365dcf37d89e01fdbe94045f77bff6eb4a6eb104e95a1741d83)", + "P->V[67296:67328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2095: Hash(0x15160f88a1e3c60e8a1355d6fcd2903ba2cc15b1f0a7ebaad8bab47a068c3cc)", + "P->V[67328:67360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2693: Hash(0x5778bf0574828d857d0e9ca2c4277eed02207e6983cefbb98e7569c7c7b9d42)", + "P->V[67360:67392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3037: Hash(0x303d71d91e47a0491502bbd258ac4634fe98fc861e7beac7374342f0f1fba7f)", + "P->V[67392:67424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3130: Hash(0x6af3bddf0ddf423350cc754a9f55aab023636ed05b87575a4bcb283ef83a718)", + "P->V[67424:67456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3367: Hash(0x6a684d9928cc9c122bdefc506d9cebb8e468e7ed084930e37d3ceaca57f8223)", + "P->V[67456:67488]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3504: Hash(0x45072bc5f450941ccd55d6aff87b339645e43053fdc910775ccba9193af4141)", + "P->V[67488:67520]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3660: Hash(0x766425adb39ea38e428a94b9b2ae187dca4d5790ec11fd5cf22c7c1ba8cfb2b)", + "P->V[67520:67552]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3956: Hash(0x10f274dc130b214c3de680f428c41a3a5bcbc9f11dbe60449878e8182d2ce47)", + "P->V[67552:67584]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4062: Hash(0x3d207326e8cea3cb72bd881aafa332f9404facf846eb881dde11c010a909f1d)", + "P->V[67584:67616]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1045: Hash(0x2ffc08148456e16297096721b276f1edf5cbd379589b815624eba719af682a1)", + "P->V[67616:67648]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1046: Hash(0x60df7fd21e8f01c48cce3f405d5e4c1af48591bdb908ab6ebcccacf6168be8d)", + "P->V[67648:67680]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1347: Hash(0x30ed7ed46fbae4b9f5d361cfc4df2b9f93718d58b5ed6c1a7376b4aa49378e0)", + "P->V[67680:67712]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1519: Hash(0x5a2f31a6652b4370a1767375035e51ea7d7381b2e2bc8bcae621346062dd6cd)", + "P->V[67712:67744]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1564: Hash(0x5a5526ad1060ae64a01794e1869b64e596a5cd22dfc18e6fe5c41abf63cd975)", + "P->V[67744:67776]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1682: Hash(0x4b285b627a581f35ce68adc6aaea7a0ee9144d250cd1aa11d801d776391cdbc)", + "P->V[67776:67808]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1753: Hash(0x7f5e042aa9e3602eb7c2161911aa1144be1b82a518ba1df1d429be3e498e936)", + "P->V[67808:67840]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1831: Hash(0x10e1267952a3d5882fbf3c3ea7234b1a7dae84937d90dba5f7939f282552a89)", + "P->V[67840:67872]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1979: Hash(0x7614a30452f36ead851e7d8b904df4de649d8043fe06cfe638e6dbc9ff96f43)", + "P->V[67872:67904]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2030: Hash(0x50214e1a3c4ce4c8e7972279e0821e86b90354be26846f5e3ee38142e6b9b9)", + "P->V[67904:67936]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 672: Hash(0x5e6096f4053241609555ec2f0a70eb2a5b55785ae952985c5af6d091d08190d)", + "P->V[67936:67968]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 758: Hash(0x489c9690806bde2bd6acb810a2a654f2a92318097789ecd917fbe44370abaeb)", + "P->V[67968:68000]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 783: Hash(0x444d2b8391159d3dfb4d51c181b89b2ebff91f43eda250c067903ed4530a984)", + "P->V[68000:68032]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 840: Hash(0x6cb927bc03ac94c1c181443d506fbdabbd54c8a6b0ceef538b57d685d588fce)", + "P->V[68032:68064]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 877: Hash(0x67e1dfba06c03071cc04f7bb91254b5be47e8fbbfc6346f79a4e11af69fef57)", + "P->V[68064:68096]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 914: Hash(0x26c7cbb410a635d167474d65393667775b9c3d11c4171cf02e49afaf442a397)", + "P->V[68096:68128]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 988: Hash(0x60853f0d1440c986804714527b7eb5ae9c6eb226ac91d332a1cc8e6f86d8ecb)", + "P->V[68128:68160]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1014: Hash(0x699777647f701204ea13510d253ee9716d28e7ebe33cc9650610cab2ac7a464)", + "P->V[68160:68192]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 260: Hash(0x7ff7943a83755b085725a1a3f502d7dd60b3ae8dcd2760dcef984d275c7bf40)", + "P->V[68192:68224]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 337: Hash(0x7aabc5747c984769e094caa8f9eb1509ddd41aa4f8244f511687d70342d3710)", + "P->V[68224:68256]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 378: Hash(0x41a0252a5c440491f9033378fe44cf55c21eb035ae893b30e50a654b8151eaf)", + "P->V[68256:68288]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 390: Hash(0xa4dec4220488b3d0120e84949a59ae2e648050e763e8af0cde42a3a9e1eb18)", + "P->V[68288:68320]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 421: Hash(0x6986bb845f1e35e8c16190a8c263200ff5a1c88a9dcb5d63ec1af608f21f49)", + "P->V[68320:68352]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 439: Hash(0x37fa5ffa1f1d0c7d7aa52d590ef1f08488cad108c92bfb7791feb7bcb73094a)", + "P->V[68352:68384]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 456: Hash(0x19b981294fc24ae6b4ae5440d9ee6a97d9c7432406be7de3bac88cbb84570e)", + "P->V[68384:68416]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 495: Hash(0x5c39ca77647b22998acf4a469c371c93f8b664279347d677a0dd5f3f60b1618)", + "P->V[68416:68448]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 506: Hash(0x19626c843320be30e86a411a1bc66250a0d78c36019e14f7a1f58294203d42d)", + "P->V[68448:68480]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 131: Hash(0x17926f93fe7454d9e767e6ea50e72ce0ac3c2e4ec158738333edfa4f2951078)", + "P->V[68480:68512]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 169: Hash(0x7012f65d1c916f4327ea52248c05947935f0f54d0ec10fd8473e416e60ca11a)", + "P->V[68512:68544]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 188: Hash(0x3288f5989ee3592f004f7b119ed5aec9ece831eeded8d7c17c500a98dc6bce1)", + "P->V[68544:68576]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 194: Hash(0x44480702a49c6824bb394e5c1bcb5bbedce66d0a80ea8f862f3fbbc449a41db)", + "P->V[68576:68608]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 211: Hash(0x3c1b0cac8639bedcca1b34e5281b58e33027bf9914e86dd31343b39b9fbf264)", + "P->V[68608:68640]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 218: Hash(0x389ff07cc96307efccada31e7dccb176a1b0741d290cb63025bc476bf4fc618)", + "P->V[68640:68672]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 229: Hash(0x2cae9125d1b3282bc67e3ee4a9239bff845ed095bbb843f0b64361754c6bb86)", + "P->V[68672:68704]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 246: Hash(0x79ca3dbbe3d548635c431bc170d9410fd99c812440de60c482689595c16bb7d)", + "P->V[68704:68736]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 252: Hash(0x362486df1695ef0fcbe78324a0c763a67a57ee65571d6f870684ecfe776ef94)", + "P->V[68736:68768]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 64: Hash(0x4834eb25e970acc759ade4990a7bf55e8f6a2e696f0b9b8360a012e769719da)", + "P->V[68768:68800]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 85: Hash(0x44f9e2cd727e1babd81eafea290efd6cd0403fad2cbe83b6c7f45e809466816)", + "P->V[68800:68832]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 95: Hash(0x7924b656519083c075bc09afa8a82bcf3a9743980d45396e0035cf4bfe756b5)", + "P->V[68832:68864]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 96: Hash(0xa6deb7b83104713f2d525895e72d79eb67ed5c13a157b7b8d2e6b2144bc033)", + "P->V[68864:68896]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 104: Hash(0xc7186b40603762ba951eb7aef31626dd5164c1640011433a295b3ee6ca0df)", + "P->V[68896:68928]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 108: Hash(0x4b6ee58c8f489ebc61be63bac70d2263f21523a88084c01d399b641d311a1b0)", + "P->V[68928:68960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 115: Hash(0xdfb14a5d9098af4723bccc55fe4d05acffd7bde33a874bd2d44d2570737334)", + "P->V[68960:68992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 122: Hash(0x2736b304dc195ec6a064bc063210c59b27a30b8246187c19479903ae714a486)", + "P->V[68992:69024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 127: Hash(0x3072895c1086a37b5dbf0a0e6c6f1827cf2606040d6993ff17b1778bed7e6f2)", + "P->V[69024:69056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 33: Hash(0x56eb7ebf58510af437f2d6272a2b47535e0189d5e6f19c472b8f6166c368f29)", + "P->V[69056:69088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 43: Hash(0x435f4a4623f68ecde669db34ce6271ca4e4826e85e404b84f88c759e9f6fc5f)", + "P->V[69088:69120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 46: Hash(0x321b4912960a2a3938bae44bd7ba1b4b7c075e4071197e7a3b2e07075da2817)", + "P->V[69120:69152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 49: Hash(0x75bb0d7b73cafeb1d291136215acc9fc15043fbc45f0fb4c827012a82547af7)", + "P->V[69152:69184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 53: Hash(0x2edd68cd31a19604a7404848c86a0979a34f6bbc1e46c684f826019b9b48184)", + "P->V[69184:69216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 55: Hash(0x76d92cef3d89dc26daecce82fc42287195b62667b3eaeed9b351e0aab3922e)", + "P->V[69216:69248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56: Hash(0x7f917f959d2a891ddeb0f83310e64a9fa7ed32b2302f33a2d7d854ff3db4fe9)", + "P->V[69248:69280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 60: Hash(0x1545694134e3a3aee51bca306b5c57e051603fe8c64171cc64df37d53920cfe)", + "P->V[69280:69312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 62: Hash(0x19b1dd17c6b8e3550c9d73b6e614e78f90246ec267d586d7433f0b514ffb208)", + "P->V[69312:69344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 17: Hash(0x778ceac63cb7c5dcc65f568b107c0ce156ab5c8322d5fcc82edaa352e90e6f7)", + "P->V[69344:69376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 20: Hash(0x58ce32def64af314c03dca5ad4173b07378b5126ca7f12f24d7254170b20521)", + "P->V[69376:69408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22: Hash(0x650e7927928160783092f4eda3b2e85467388f9b355ea0c56ba176fc87195e7)", + "P->V[69408:69440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 25: Hash(0x7e596d94c3e72354597f3247de4323f84823f159f7de2b4d1b98d6e6e9a20dd)", + "P->V[69440:69472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 29: Hash(0x872c983baf8aca0ca170d14fd4da2798ee1d4a87ca7bc2a0bca0bf1c34f943)", + "P->V[69472:69504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 9: Hash(0x50de00830c9de21cd032364b320b2fa8c64dbf0921d15ec2cddbbd7cef81314)", + "P->V[69504:69536]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 0: Field Element(0x181ada578ba2a1760d7b8a43f554398aae18a7f181d0017cd34256ffacc5354)", + "P->V[69536:69568]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 1: Field Element(0x3bda27ab3328e2f12b0e99c963052f85a6e0609ede9c90eb84bfaa8af8ce0fe)", + "P->V[69568:69600]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 2: Field Element(0x7d7f06f8b4d28898a25a4e4f49039eecab239a30ede4c9749dbd69408bc2067)", + "P->V[69600:69632]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 3: Field Element(0x505cee80f6bbaf62e545370dfc63efaf89a9c0425b83b722a3a6c8261c9dd91)", + "P->V[69632:69664]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 5: Field Element(0x69bbc22c36350b28ffb0b061638e70943d4079c829e1da2885e253844b719d8)", + "P->V[69664:69696]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 6: Field Element(0x54a8717dd407ff18349473bbed323db20b68aef0606dc43849397d59c645efa)", + "P->V[69696:69728]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 80, Column 7: Field Element(0x82f941b3266db348c36e08ec1434d1cab7027bf949648a7a006cec6e3cc858)", + "P->V[69728:69760]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 0: Field Element(0x1a89c11e3fb961210709e2835bdc1d987e2ada41d8c44d4127d4c89cbf0947e)", + "P->V[69760:69792]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 1: Field Element(0x70322eaf1ec6914eff39509176ac73402b3cce2ec530735ec4e4f802184338c)", + "P->V[69792:69824]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 2: Field Element(0x384944ebd44132c40d2b3a9ec7cb07de57bf9dce6cd29a9b5bb55e082de3f2c)", + "P->V[69824:69856]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 4: Field Element(0x6be82dadfaa8e5429f7d32cd3a7a74d5dfada445797ef9496985dfa66f07e8d)", + "P->V[69856:69888]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 5: Field Element(0x6e27f540d4652440615115de919aa18f3b3ac649a82a75cbb0fcae37789eb7c)", + "P->V[69888:69920]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 6: Field Element(0x53c97bd96cb5f25ccba0bbdd375d55dd8231959e883bb886cbb5130e0f30ce5)", + "P->V[69920:69952]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 92, Column 7: Field Element(0x4b0d5e7ecb0db9216364c6ea5ce15355c7ae1d30ffc30cc2b101590b25c025f)", + "P->V[69952:69984]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 0: Field Element(0x4a984150de8d8ac2cc8345f3f24f406c2b17b0e4ac435d90b2af484f35f26a5)", + "P->V[69984:70016]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 1: Field Element(0x7ccca3e8781ee735b58db681ee0a6a23815ac669e4c6e0fa244169e1359c70)", + "P->V[70016:70048]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 2: Field Element(0x7d1368f3fc5fee80227985f44ed11a2b74a704122414d0b20b91ecadf6020a2)", + "P->V[70048:70080]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 3: Field Element(0x5590dae002ab6e99e3e520b0abcc65ad2c4dd5ac6f623e358b6212074340ff)", + "P->V[70080:70112]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 4: Field Element(0x736ba215fe70c3cba8d528b31c98f76ab441bad6e1061b1aadab6290132a477)", + "P->V[70112:70144]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 6: Field Element(0x1927526af9a9686006d46d3d525bfd8fcbcd84134210fc7bd4d0f70b8d7d682)", + "P->V[70144:70176]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1288, Column 7: Field Element(0x372a75bcd51e9fc46d8d7649b0352d214b02d7a3bfffc06642da4c5cb229bbb)", + "P->V[70176:70208]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 0: Field Element(0x16e40fbb149e6a746dfd383aab1626c39cea9e34392bf79e71ad45250696faf)", + "P->V[70208:70240]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 1: Field Element(0x488c36ce13e38fb7099b445787fe7165ba97c5387106e15b30027fb9ceb1a32)", + "P->V[70240:70272]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 2: Field Element(0x4efa43c53a92e9b3c3c3c072e168ed37c14289ebcedd0eb1a0ac9d92fad9ad6)", + "P->V[70272:70304]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 4: Field Element(0x7edb35df61a4ac8deb4ec848075af675cb425a248ed306571c1f1a75e1352b5)", + "P->V[70304:70336]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 5: Field Element(0x6fe37d772efdc1f3648fc01e70997cb0885f2f4b07966c82164aacc9bffc718)", + "P->V[70336:70368]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 6: Field Element(0x4c107c8799f22dd48821ebef7cd7ea55084bec6916889d51350f052bf888a04)", + "P->V[70368:70400]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1976, Column 7: Field Element(0x4add2678cd69dfd676f388a8b57642a168554b7ca98b4e66240de19d337a11)", + "P->V[70400:70432]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 0: Field Element(0x64d4f6a92b17b270efbb54619a0fbe089d2f096b2b066116eb54c70b511acee)", + "P->V[70432:70464]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 1: Field Element(0x7326a6091592e62637ead2e6efb3f8634561c433a7ad4b5b00dda9515faea86)", + "P->V[70464:70496]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 2: Field Element(0x6af47d642d9856d152237146a7cd8a061e9fb3d4d6065ec48cedd3ba004909e)", + "P->V[70496:70528]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 3: Field Element(0x4e2f8960f7c4b908a5a0a3a9bcc848f14de08290a100dbc8023583c5673cfe4)", + "P->V[70528:70560]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 5: Field Element(0x1c0627755c07be568e11420ea99fa3160bcbeec44f820bfbfe8343e966adcae)", + "P->V[70560:70592]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 6: Field Element(0x40e17f4f449814e33b6bfa2788a9f735ee0762a249ffd9c44cbd9ba76b4e048)", + "P->V[70592:70624]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2167, Column 7: Field Element(0x20cdaa560c15e21b803acacab0cd2b38e7b817cf6aefdeca2ac88b36b39150d)", + "P->V[70624:70656]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 0: Field Element(0x66fd024b6e73993619b699dd7bbc884deef046af92c3bbabed2382834f9dd5f)", + "P->V[70656:70688]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 1: Field Element(0x7ef197030feca04c70af3bd24e831b472829b1b2d422e017becb64b584299d3)", + "P->V[70688:70720]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 2: Field Element(0x2617991c31906284785cfa12ece3b04f78feb13c8a99d1a8da23fd3f51b196c)", + "P->V[70720:70752]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 4: Field Element(0xb8ea41c32ecc636e3802760575f49b7975ca85e608707654b8fd281f93b20b)", + "P->V[70752:70784]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 5: Field Element(0x16606be28c1cc50eb7d8a28c4ed0e260f0a43b892c1396a1ef320b6ce736343)", + "P->V[70784:70816]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 6: Field Element(0x32250e5a2be268cc04e0e20804a0d4d735f69d490ddbe39b73e129ee23ab751)", + "P->V[70816:70848]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2637, Column 7: Field Element(0x652a89488dedb350ffafa1dacf5406b7e9413c82b9988c99f53949bdc14caa7)", + "P->V[70848:70880]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 0: Field Element(0x19f103b6bcbcd362c07657610076fefa9ff59fc0fa402fedeb229293c0a7b3a)", + "P->V[70880:70912]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 1: Field Element(0x3076485c869ac79118e95c39d80a20b3db18338028e5006dccf0fde32a05643)", + "P->V[70912:70944]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 2: Field Element(0x66fa680b29a33482d8119f6d773c9f39b964b569cccb7859335760c9494844c)", + "P->V[70944:70976]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 3: Field Element(0x5688a5bfa9ad1791a94e9c2cd55474231aa828d1041a5c9a27301ed778cc137)", + "P->V[70976:71008]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 4: Field Element(0xf0d026a583f609d1a94ef4b67356fde6a05344ba9b282db8cdb55b8d1b5732)", + "P->V[71008:71040]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 5: Field Element(0x22c4e8bcb7d4b126415f5a84ceed6ae0eafb0041f5d6b3dae517b71c4033c14)", + "P->V[71040:71072]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 2914, Column 6: Field Element(0x2fb90f252b1569e1dfdec5e3f48ba64c58b686a6cc467474f59a8592c970c6)", + "P->V[71072:71104]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 0: Field Element(0x66688c929a90a9df766b61929ec56edf36d5daf68655f858de1c1215972df01)", + "P->V[71104:71136]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 1: Field Element(0x7da4223d6e8de0c076c54d42a148db96100b87a6d3c49f5d7cd9c9b73718253)", + "P->V[71136:71168]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 3: Field Element(0x2c1891849a40d3f6e3e4debcfd6f29894ccb860bbbbe3f78d4f2907c7955d21)", + "P->V[71168:71200]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 4: Field Element(0x18c3f9fbf25eb33c8aa0cd4fee9880823b3241971731c1e8cc6c82d7df344cd)", + "P->V[71200:71232]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 5: Field Element(0x6b18a0fe663e8c7c7f1953375d81f800da293d53a69091da7bcc81679090cb9)", + "P->V[71232:71264]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 6: Field Element(0x8a06b2e81f40cba6d768cbe01d7e71afdffd83bf3aca80e340edb0fd151d57)", + "P->V[71264:71296]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3227, Column 7: Field Element(0x354a5a930d49b1b34ebaee2898b1a644e826cf3d42052a008380f79089fb4e9)", + "P->V[71296:71328]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 1: Field Element(0x3b21db41594703aa17fa5b6f1c8f63d182250e5ec4b89d71f9b678480eac834)", + "P->V[71328:71360]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 2: Field Element(0x409da15870150d787d187c12269802aebabdebe7f456c80efcc940b530b7518)", + "P->V[71360:71392]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 3: Field Element(0x5beb03ad27b43e294ee5de1ed422504afc8ca4fcce9ea14936f3febbf914425)", + "P->V[71392:71424]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 4: Field Element(0x2d3a08f3f0450100c613b309ab83dfcdee7030d01f016d4c41000f4b4fde39)", + "P->V[71424:71456]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 5: Field Element(0x41edca94d204de3311114581e4d712a9fc05aac992bab0f9bf1edbde5e35d3b)", + "P->V[71456:71488]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 6: Field Element(0x8a000351c919eb06aebfb7c712ca991ac6e89e5a5273d54d2bf6c8db789cca)", + "P->V[71488:71520]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 3819, Column 7: Field Element(0x34a2214f72c5b8df2f040acccce2e96760d644d572af71ad17a1b429c379fcd)", + "P->V[71520:71552]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 0: Field Element(0x184c535dbf4716a8a2c93a816579003e0d95449a85e3cbfca6dba1b27fab066)", + "P->V[71552:71584]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 1: Field Element(0x7e7411e9b7cff7df3bffae1653fac9ce9705fbe1135f613337f214d52bd4032)", + "P->V[71584:71616]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 2: Field Element(0x5ac11c39a82251b2f50ed719d6254631aec62ba5d92e73dfe0d07a1e7e2bfff)", + "P->V[71616:71648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 3: Field Element(0x4565689359286604b74edf589513cd602aca1216c4e2c2439b2f081ed355f2e)", + "P->V[71648:71680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 4: Field Element(0x2bae4793b872b27f7ef6dc030f042dabc4194404fe3f27be67e0c3379f9c9)", + "P->V[71680:71712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 5: Field Element(0x5ef459b7e9867839002bbc13c12379d478b2beb7e47c78f19fee278fe03578e)", + "P->V[71712:71744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 4030, Column 6: Field Element(0x57e71efecf1b49192e00154c53e03b7ada7320127ece6dacc565c59af3bb128)", + "P->V[71744:71776]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4177: Hash(0x5b6f8dc0b82cd20bc6b7a4afa689e1a997f864f88cc11754f489e201586219f)", + "P->V[71776:71808]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4189: Hash(0x34b893a377dd04486e6f018318631a4335cba52b67e1779fb67a3381ba26d27)", + "P->V[71808:71840]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5385: Hash(0x571cb8e56c6d25af1a3960d8ec1737b71b28ce0dd96446c9496e9481a9360f1)", + "P->V[71840:71872]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6073: Hash(0x1de699e1fd907489985cf174b1e67b78bbfb4a9e63472eaf6fba0df21f3f266)", + "P->V[71872:71904]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6262: Hash(0x4af0e455182f0b8f514010fddf696c0a3a004b1b00f16a02e3ccde79a8e2213)", + "P->V[71904:71936]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 6732: Hash(0x21d786de88bb83783217b63b8e3cbc7d4d2059fcf67331a0e633c5edd23f19c)", + "P->V[71936:71968]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7011: Hash(0x64ccdff79512f9090d984a006e18c308359e0dadd8fb2655133390b2ea8ce7e)", + "P->V[71968:72000]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7322: Hash(0x1e506909b9819eab513ae8b09290b33ab96f331b7408b7fb5b62e6934d47ce9)", + "P->V[72000:72032]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7914: Hash(0x275abfa436de03fbca4b21d63b515a1eef8c45f8fec0df28bec8ffcf5d41cf7)", + "P->V[72032:72064]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8127: Hash(0x7f51598f5fe519a0691a629d6765ae7fe731777cf9e2a2212687816811ebdcc)", + "P->V[72064:72096]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2089: Hash(0x51f0f5d10c88052c1e2c45f29ea6d9aed9ef54d7cd481192914f8756747d9f2)", + "P->V[72096:72128]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2095: Hash(0x1f97cb24395544a1fdeec41c7bebd1605b5778c0e5f59a2b149139ad1d9383d)", + "P->V[72128:72160]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2693: Hash(0x6c9f79d0c096e98a1e559fec2bbe88869cf9c7b7f702a4173e7715bc6c14772)", + "P->V[72160:72192]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3037: Hash(0x7c2bae0d86e183c8f97f2b6ebaf216089dbafd19a386a64a2d096a895058933)", + "P->V[72192:72224]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3130: Hash(0x69a5f1e02607b1967503460bb3d1014cd65e9f1453afe1ab5901be874a4d0e8)", + "P->V[72224:72256]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3367: Hash(0x1f31308ea6c9eaf99c1456d4f2934ea28d0042528f50a8b97e61c732d866e40)", + "P->V[72256:72288]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3504: Hash(0x6d215c294f2897d55a8286621ab8e70c171647c88d7b35341fb5bdf693c8df)", + "P->V[72288:72320]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3660: Hash(0x5d70a3558ad1360217ab3f1fb71bd9882918c6306838bb122662065e0c07b18)", + "P->V[72320:72352]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3956: Hash(0x41d783b98732bd64aed534b4cd5446cf6b1b2f3e6b69ab248497b960451dbc)", + "P->V[72352:72384]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 4062: Hash(0x1d91292e42f51e24e383ce01603db806f487bf30999ba1b954328ce30d66008)", + "P->V[72384:72416]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1045: Hash(0x14bc158b49b6846f121a34859f07f64a446565b8c73f8f9a61d8ae51f527031)", + "P->V[72416:72448]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1046: Hash(0x7515f533635d1ebd82ddfb483450447fe79ee292b87233cc803bc4f15eef5c3)", + "P->V[72448:72480]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1347: Hash(0x76d39e229ef3bcad3442bdcbf9ed1cd62c9661c42251601c4db1901baa08e69)", + "P->V[72480:72512]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1519: Hash(0x65fe83d54d06e18ba6b0eeffb119ddb68c9568ded45a3508735b21ec9b77b4b)", + "P->V[72512:72544]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1564: Hash(0x75226d6689eafd94745b6c8187461c5e6b61842fa0efead76134446e2e2f206)", + "P->V[72544:72576]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1682: Hash(0x565747899d5ff3ef4082cccd6233adcd92634ffce2c92f1d609d47e46bb196d)", + "P->V[72576:72608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1753: Hash(0x72f451890b06b1784436d732675083e661311773e883128e94e059501da84f3)", + "P->V[72608:72640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1831: Hash(0x2ea304962cda76bd1b31ba2e349d4b61979107f50259d32b82634673fd5f5de)", + "P->V[72640:72672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1979: Hash(0x5f1a7549d901ce60a06a61a60fe6ea22d56a4cb62c149aaaf0ed1497b915f9c)", + "P->V[72672:72704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2030: Hash(0x4e2df731dd659f158adb86e87aa2ff715048c5cd6572ebde0d1c384742a9807)", + "P->V[72704:72736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 672: Hash(0x30ef297f0d880483947ff0b706c5ee6ff98143b1740d0d42090d904bbae082d)", + "P->V[72736:72768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 758: Hash(0x566e346f3d1b45a167ed665cee533e7e801bf7346703770e6e383e64b74e073)", + "P->V[72768:72800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 783: Hash(0x6633ea9eb5475b9fd8af3737481d705a601d02dcdb202f7878e4934135bf1d4)", + "P->V[72800:72832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 840: Hash(0x15ae0198aa7fefe102832b08ab645108a4c34173a7fde3b09a076b4506814b6)", + "P->V[72832:72864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 877: Hash(0x78200fe1ce938eef7ce4cbc874b6c5dca9f1166522262f5341184161204ecc5)", + "P->V[72864:72896]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 914: Hash(0x626ccd99bd9a6fdf965efc887502daeae4b4ef0bdf8d7b1d2005b0ad45ae5d1)", + "P->V[72896:72928]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 988: Hash(0x39c6c18fe503698f87b8b9be4116c3d74cef420cc056db7836a0e2442283b5d)", + "P->V[72928:72960]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1014: Hash(0xd0dfe4cde076efd81ae51b5ae112be40c57b0930b78e2a910da4c920e41110)", + "P->V[72960:72992]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 260: Hash(0x74a4723182c1ba3c986b619d6a559dc2b74038243ede3b20b64bde6e69df56f)", + "P->V[72992:73024]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 337: Hash(0x41687c8ac33c1def8466766ab56b6dae455a1bfcba5f3652366c77c2804ba64)", + "P->V[73024:73056]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 378: Hash(0x2881ba90485ec93ad40753fea7ac38a7a25b225bb45b7f4b10d890b348473d)", + "P->V[73056:73088]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 390: Hash(0x76dba08a47105007f3a74e4bc9b81637ca56e7455a6aa2853928aad658b34cc)", + "P->V[73088:73120]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 421: Hash(0x68c103991045d384841d618e05884fb8767dc8e748ae23dd75d55833cdef40c)", + "P->V[73120:73152]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 439: Hash(0x30642fc5d2d3c878dc26f00309ad683d7724cf431f060ad491cfa8f0bb69f6f)", + "P->V[73152:73184]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 456: Hash(0x6596a36d14e8dced10e210e12eae98e0d3240fc0fbf2d7d489ebec2463dbf55)", + "P->V[73184:73216]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 495: Hash(0x604c96181b0e8292626c5ea14ec401ecd42acc518d0e5c80d968b3d362d7ade)", + "P->V[73216:73248]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 506: Hash(0x170affbe7a53963664962ee2dda283c08a2a40c76058ec6e14b012440b1c2ba)", + "P->V[73248:73280]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 131: Hash(0xa08923f2208ea47bf82ef5c6de9d4a664255457088eeaf2deaef5f13a6773c)", + "P->V[73280:73312]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 169: Hash(0x3b84d1fa96b9e7e6e9317bda2458d7cf89bf230afb12237ecac4b144d15aba0)", + "P->V[73312:73344]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 188: Hash(0x433b0b9a578787fbd78063bec7e351e4901307b9bac3b214bdab6d455cf7e1b)", + "P->V[73344:73376]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 194: Hash(0x12faf4ebbc3771da2292aadb8a213d255ab0511d1431b916b4ccb70cb0a4198)", + "P->V[73376:73408]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 211: Hash(0x28a3614f9fe1c2744c2727e88374df16c30c6672b40f4e6c81b6107f9e0245c)", + "P->V[73408:73440]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 218: Hash(0x6fd700b51361b65862e54a0ae6e8cb57c65e82246909b794b31af1d70149214)", + "P->V[73440:73472]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 229: Hash(0x2394c305cd18351cc54ec5b798b4e104d89faca789b4224bb119383392d48f4)", + "P->V[73472:73504]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 246: Hash(0x57897350a8b0a08911f166eb30dfa57c823d15041e7b2850915054a97859cbe)", + "P->V[73504:73536]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 252: Hash(0x368e3020e21bcac82035c7f43805a20b2f9455a12427fb718a35bef95fda5c2)", + "P->V[73536:73568]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 64: Hash(0x1946359910b15c5664eb8ec37c589152d8daea1460d04ff7f31f515c6d92c8a)", + "P->V[73568:73600]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 85: Hash(0x1c46b6e1729062aea643369fcdced45c38f17da6d022dc3197d978e94d32053)", + "P->V[73600:73632]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 95: Hash(0x465aa421b6d565ad8854f33dc4373bbd6241446347592148d9e014a00556c7f)", + "P->V[73632:73664]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 96: Hash(0x22c004ead1eee2a08ec53ac230b0a9dce7a8b0859ac664c19d9779bf3fcefe9)", + "P->V[73664:73696]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 104: Hash(0x53693316e36095766edbd50296d8964c4dbf2f9a46d42db4d1a3b2a7e7afcaa)", + "P->V[73696:73728]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 108: Hash(0x2b8ce1f44dbbe7428176a8f8f4ddcd3c6d276db3abfbc97f835b580877891c0)", + "P->V[73728:73760]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 115: Hash(0x26dfccc556f44ce6c8bc5157387dc2a7b85e427940c0a1f730606ea392baf63)", + "P->V[73760:73792]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 122: Hash(0x66ad4d9c26dabc273a49d678f8fbae2847e427c29e25e4377639f154bf491b)", + "P->V[73792:73824]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 127: Hash(0x5131de3442661e898fd801dad578dcbbe666141f090bd7941723fd87f0f1134)", + "P->V[73824:73856]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 33: Hash(0x108fdbd325409d4a9367c3e22ce382e6fdd846f75cdc8278a458f0e7de0f996)", + "P->V[73856:73888]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 43: Hash(0x169bb079e8e1c19839c937833026125154fc4d7bb91a3c5e0a4903a32db1916)", + "P->V[73888:73920]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 46: Hash(0x46445bc1679a8ab4038e3307188759dc7e30aef6656e21074fd8366bfd36584)", + "P->V[73920:73952]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 49: Hash(0x658bf4dbffe486d0af44e9157600c2ddb088923758f4856695c1e8c3ebdbbea)", + "P->V[73952:73984]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 53: Hash(0x66883e1326841901b37d51564e37194991fe1957b4edd945dd940e2f47ff0d0)", + "P->V[73984:74016]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 55: Hash(0x3ad04bc7b0ec9ed6a3abeb350b29dbcc09bd5310241b45463e1c0d366e76f9d)", + "P->V[74016:74048]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 56: Hash(0x2df56fd16fd1671d32d5c026ec0d0f7a663a7b5740d8affe6d392bc90c5a636)", + "P->V[74048:74080]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 60: Hash(0x41665b4b7356222fedcd68861e7357cc54068affd1dcbb60207f2bef73efc90)", + "P->V[74080:74112]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 62: Hash(0x12caa88a48d707b1737f6c5f22e9a6d487045d6c897875eac23497ea23dec7)", + "P->V[74112:74144]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 17: Hash(0x69d952b6d86a04679a99d439a31b9e2f04ef14aed8da74b04d2a5f698f3d952)", + "P->V[74144:74176]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 20: Hash(0x19ecadc82985cde1d916fb88c7d126414f70db186296e2744ef6778a0ecf8ec)", + "P->V[74176:74208]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 22: Hash(0x561f3533f9c9059ad84964a1c4b7fce8957ada7e9107a433ee3031d1b55dd6e)", + "P->V[74208:74240]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 25: Hash(0x5423e027422067c128d49f4c413b0067c47f2a9695a2b7efd65b89a7ee1e896)", + "P->V[74240:74272]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 29: Hash(0xa860cf92038cb7a31586e5e10c2b187becabc079431dab9225718c3dd4fe4)", + "P->V[74272:74304]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 9: Hash(0x401eb0cc5e38339898eca2e2c45bf55a672302c76cf98083fffa1a4cb56bd0f)", + "P->V[74304:74336]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 40, Column 1: Field Element(0x49312998db06f031cfb87bc005be86d16faddddfd9587e28652b88ef980a7f1)", + "P->V[74336:74368]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 46, Column 1: Field Element(0x3010b97f0eb6d5d70f67ec5c154564d7e0e1a79bf07ff05396c4db835e2a3cb)", + "P->V[74368:74400]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 644, Column 1: Field Element(0x6d13b0274f251a7eb109bd638497470798b15e35b3b8daadae3d25bed2014c3)", + "P->V[74400:74432]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 988, Column 1: Field Element(0x21d0eed30223b716d4d8237ef62d43b780fc9d710bdcc3b1454f00cde2126c8)", + "P->V[74432:74464]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1083, Column 0: Field Element(0x72b313dc5b581071d17e201e9a19c1284aab112847f9f475cb8b1580e6605e0)", + "P->V[74464:74496]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1318, Column 0: Field Element(0x5db41738d583e9bbab6d2ba2da4979b5556ea32aa06ca08538e9e419ae60653)", + "P->V[74496:74528]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1457, Column 1: Field Element(0x7f8940fbe9183636aacfcea8af2d2a73de3302c268b1532c0f88998f480acef)", + "P->V[74528:74560]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1613, Column 0: Field Element(0x43a19e068086d64ce8894c540a31685845da0c6eef542cdb9071d6398715652)", + "P->V[74560:74592]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 1909, Column 0: Field Element(0x5597668172746270a0c6182906ed9905947a5343f377dbb19530272a54d6a4c)", + "P->V[74592:74624]: /cpu air/STARK/FRI/Decommitment/Layer 4: Row 2015, Column 1: Field Element(0x2b404ad02877931ad06271e6af09b3fec8e27f041ce428e070aaa7f54a40808)", + "P->V[74624:74656]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2089: Hash(0x79b03b56f1ba558290c92e5c54c6e3fd8b6de64f4c14f162420b29ff9058da7)", + "P->V[74656:74688]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2095: Hash(0x4f5b4baa4666895715990c7519ef6c91607afd67a35dd05f098fab12d76f5d1)", + "P->V[74688:74720]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2693: Hash(0x588ae51659fda953006a4e9c302c98e0c73170e0219645b4eb8c9efe77d9073)", + "P->V[74720:74752]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3037: Hash(0x72d89237ad0a84c778e906faba4245a94f578e6286c07e544781ad5bd0d9092)", + "P->V[74752:74784]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3130: Hash(0x72c6d5c17931f44a33bca8cf72ad5fc7c393e02aae3a05b42f349741f2826a7)", + "P->V[74784:74816]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3367: Hash(0x3d5c026ccd73d62101f682a31de2737ac70549dc429be4c21a950615b3ec7dc)", + "P->V[74816:74848]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3504: Hash(0x5794d29ad6eb301a6fa09e36b453cee7df3495718ea59c06d2b55d8667fa0c0)", + "P->V[74848:74880]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3660: Hash(0x39d239e2694edd0d3bf54e5a3bf3479924d21dcde464c721288e91d212a7d3b)", + "P->V[74880:74912]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 3956: Hash(0x155c4eab2f6c5999bbc4f8a628e70d1ac4d63b0614b4f6e8a2d84202f5c984b)", + "P->V[74912:74944]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 4062: Hash(0x1df5ae90086eea7978c40b374ee2478e5f15ee30b327b485c5a0e2d89c734ef)", + "P->V[74944:74976]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1045: Hash(0x6b9bf02691b03808237441d9e041f5b2ac3d1b5eb0187401ed1a05ffdeec9a5)", + "P->V[74976:75008]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1046: Hash(0x2453954401d4211475de358bc909ab64cdf4f0e0331c08432aca01a7ab49254)", + "P->V[75008:75040]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1347: Hash(0x61c64d145f7ca7fd6d28091a6103c04a976d9e4b1887e676a627e8928d142fd)", + "P->V[75040:75072]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1519: Hash(0x326fbebd85995b123b04dd4004c03fd5c926d5286d97ae28cf5ac2f89da3113)", + "P->V[75072:75104]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1564: Hash(0x163dc20a6450102c11349715a6e7252dce8ed6c5d9b80c892604436484c5792)", + "P->V[75104:75136]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1682: Hash(0x1d251cb05becbec7988a35975f7dff0efca173dee6efbd75030807baa8b11b7)", + "P->V[75136:75168]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1753: Hash(0x76db451b5136463d2fe8f53e39b8de3424c3f55ec91427154b304c2e576f747)", + "P->V[75168:75200]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1831: Hash(0x197b1ca906de31b81f3bde866d06c82c8e89eebbbc3ef96c3778dd937c2c417)", + "P->V[75200:75232]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1979: Hash(0x73ab40bbff5bfe65760f1c225cf07cbedbc2c5466345a1c1f6cb93b704173d4)", + "P->V[75232:75264]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 2030: Hash(0x52e609ac508e9477c60006289e85eecb461485a8e11e895ab4bbeb1f40a5c66)", + "P->V[75264:75296]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 672: Hash(0x49753b09b85d0371ed1a668333428558cbb0cba396acb693eea701f11eea1a1)", + "P->V[75296:75328]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 758: Hash(0x168b8116a47929828b8f4010ebdd8a05df3407d9bfa6a4331c660996a89f5e8)", + "P->V[75328:75360]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 783: Hash(0x6c242c40f6b362d78394cf53b39a02ab0f0c50744d0d0580967a5f9882332ac)", + "P->V[75360:75392]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 840: Hash(0x3456c9667313c65900c0762ba1451a3299137e96f3400cbbd5da48c393d2b18)", + "P->V[75392:75424]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 877: Hash(0x18a4d3285a805bfbce5a47e0b8e5f1184aea50e8ea0863a5aad3c81ca69a60e)", + "P->V[75424:75456]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 914: Hash(0x1f8553926f5668abe6fb455af8e931504114163499b52fb75e9f6040108a03c)", + "P->V[75456:75488]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 988: Hash(0x1a0f3fce8399281c625900b311f4570c230a25dbb4ba435606472347098fe21)", + "P->V[75488:75520]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 1014: Hash(0x50986ac537aba2df7479cf77a1ec74ef9f1439c906b813d9c1a98da3027336c)", + "P->V[75520:75552]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 260: Hash(0x31631a9ee3a2f092ea0b04b1fa96d4fc3ef5e54054b4cf31ebf9f1ce4ad73df)", + "P->V[75552:75584]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 337: Hash(0x5b6fd4843ae8d5d6ac619d206bfde35426fc8ceafb7ddc15941527bf20ec335)", + "P->V[75584:75616]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 378: Hash(0x539e40dde4b3e0efcdb50850922b2c96172d2f00652fa443c4718042e0fe19a)", + "P->V[75616:75648]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 390: Hash(0x1b5a6d6b934102823a0da47917bbefc5dd479ffd22ad7ff6c28f6bd182b2580)", + "P->V[75648:75680]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 421: Hash(0x5403d4cd2160975ed7cf629f7fc7bf7e1640f7219a5e542e9520199e708f35)", + "P->V[75680:75712]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 439: Hash(0x434133447a02811b7deda38e993f5286098cd5d3ff955009d9bf971d3470619)", + "P->V[75712:75744]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 456: Hash(0x42a51bc811f65b5b6634d154884ddff9eda9723fd7b97dff8db22cb51e5d30f)", + "P->V[75744:75776]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 495: Hash(0x1912a1c6c5bc9eac0a0baf69f5917430519457a89bea6d26f85d536623ef47f)", + "P->V[75776:75808]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 506: Hash(0x642d5275dedeb9236f58efcd774d8a6077894c623eabdf2805fc3451aeb8f8a)", + "P->V[75808:75840]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 131: Hash(0x1f1fa9010d7b8be0fc1e20ab11151b9f9b4836346e018b231ea4693cfa74b39)", + "P->V[75840:75872]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 169: Hash(0x6773a31c5b40acb3120a3a786cf331e1d237d22117c50551614382b67ca0575)", + "P->V[75872:75904]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 188: Hash(0x5d3c7a700f4eda10bcaf6041951fc9c85b5a23a2a31e90cbc49354f90f180b)", + "P->V[75904:75936]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 194: Hash(0x5e7afb6e50a64106f4df8112fba9d80c72ef8de4f46e4d77247d990c5c43244)", + "P->V[75936:75968]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 211: Hash(0x6ff0feb4f9439657d0fa1320570a6caf8f21ebdcc5ab28753cf70f1642ab946)", + "P->V[75968:76000]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 218: Hash(0x12e96f0c7ebfe2f11fa9834a621fd6c6c2a29573c23e29a8f9eb90dc105d615)", + "P->V[76000:76032]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 229: Hash(0x5ad11c1c4e0bb3ec29e7bdc9b1f1627d393fd95dad3ab1bab7581f10eff7d73)", + "P->V[76032:76064]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 246: Hash(0x3b4cddf6f12a741df196642392cce8e728dc282402b5fb988e3e097c11b6aba)", + "P->V[76064:76096]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 252: Hash(0x5100cae4e89d2baa16db22e043a270415fe609ff2634cce6b291d89ee997241)", + "P->V[76096:76128]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 64: Hash(0x63b4dc4b04afc1f60de387a5eaf3eae86bebbc739b27935c6365947883611d1)", + "P->V[76128:76160]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 85: Hash(0x57fc37bba933e16afb81e0ee98695b417a1a8576c2f8bac79f17645ce506093)", + "P->V[76160:76192]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 95: Hash(0x288b921a2c6a9f5a56030a0b8ce9ab7dccfcc3001a76bbeca73cfc1ba3e339f)", + "P->V[76192:76224]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 96: Hash(0x37e74225fff08f7b30e4262529be28e44e1587ea5422c46d5c8264a6a8114f2)", + "P->V[76224:76256]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 104: Hash(0x60a498fd76efd2ce06e25b9b7918ff48422b18f8a02b0310c82fa58481d7b8b)", + "P->V[76256:76288]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 108: Hash(0x19427a750b9db2d8345a78b2ae771f12716f43fc5917422f2d63e91f63c6712)", + "P->V[76288:76320]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 115: Hash(0x6ed5b1839805018a138dcd73ff277e9806b9bb2d88793e4f276fc5b62db4435)", + "P->V[76320:76352]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 122: Hash(0x1b62a7d35d7c33f4a406446d67356327e97c7fe4fcd4de4bf6e94e4cb321e40)", + "P->V[76352:76384]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 127: Hash(0x1f5f3cfa36c0b84dff5a3f71ee7f2799f56f1b4696d9be3a485421736a8ac6e)", + "P->V[76384:76416]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 33: Hash(0x4f8ef12246997f26666f2b342f0519cd49a8aea9d6522bfa9a8cf12e6986626)", + "P->V[76416:76448]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 43: Hash(0x1ceaf6765aae1e9df7cd1f71ab712f957c20cc7081bb12a4edc93183d6c309c)", + "P->V[76448:76480]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 46: Hash(0x1503d6302e01b65be0e1fc457f678bafd8130e809fa08150c4bed415f15d692)", + "P->V[76480:76512]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 49: Hash(0x5017bb3ff5cfb9bb8d753a4432bd6de32cfe4ecc5f8bcefd4ac956c76952253)", + "P->V[76512:76544]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 53: Hash(0x5604a4c555187b8cd045b722776c2260f432dd26918bf1b834f02586a24e2a6)", + "P->V[76544:76576]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 55: Hash(0x19c379f68b0127bcf026c3bb5824f978aa3b5d5e402be0ba07cb425bf5af0e1)", + "P->V[76576:76608]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 56: Hash(0x3abcddbbd17864098d1544f9d3c566b867c83593a8bd1d18c36b57724167e55)", + "P->V[76608:76640]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 60: Hash(0x6a4e25f8b252181654d8d973a28d3fdcff1d8176ba9b009b89fd5cce717ce27)", + "P->V[76640:76672]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 62: Hash(0x790c076e9ca5c238a75123e812dce4b5e7cc8be07ddc4810d87a596af88e928)", + "P->V[76672:76704]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 17: Hash(0x5574fb7a5c63a897580cdeb9f0759dc5e9d50f57e42ece5ed63aa5a86ea8dac)", + "P->V[76704:76736]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 20: Hash(0x1d61a275d6d0de049c1e6bb2641e78c1d80681b5c60170556ac0257a255cf70)", + "P->V[76736:76768]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 22: Hash(0x62d3058d2582f9fe1ba4a851d4cb100d413c8e0cdab75678ac2ac23ebf3241c)", + "P->V[76768:76800]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 25: Hash(0x445b95435f43789d6b0ec50e70d367f4faceeb5f550ab79f37c34c427269e42)", + "P->V[76800:76832]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 29: Hash(0x45803abaeee1f718264ff1b1e9afb575c2a91cd8a4d0a673f37622bc5a27e2b)", + "P->V[76832:76864]: /cpu air/STARK/FRI/Decommitment/Layer 4: For node 9: Hash(0x705bbc8bedbb54e63f9823164ae4155a96802439db9c37a0d67ee186be1ac06)", + "", + "Proof Statistics:", + "", + "Byte count: 76864", + "Hash count: 987", + "Commitment count: 7", + "Field element count: 1414", + "Data count: 1" + ], + "private_input" : + { + "bitwise" : [], + "ec_op" : [], + "ecdsa" : [], + "keccak" : [], + "memory_path" : "/home/bartosz/workshop/cairo/stone-prover-cairo0-verifier/stone-prover/e2e_test/fibonacci_memory.json", + "pedersen" : [], + "poseidon" : [], + "range_check" : [], + "trace_path" : "/home/bartosz/workshop/cairo/stone-prover-cairo0-verifier/stone-prover/e2e_test/fibonacci_trace.json" + }, + "proof_hex" : "0x0102abbf5de5bf0535a5092db9b5dda283c526e2accf12335dd7d13873502eaa02225ffa50048d77753c64a9fbb14f4721601e6676c3dab39d1ccac6cffc72a007d6eac1b64359f0700eee952cbbf1bab456384f46bbd42c39ec629d1a6130c003774fbfcb825ab6939205607c835d9994171347487a27dc3d7aa09577d2fb9f03b7a10e1eebea9f47aea1ae38fb6197e4025666ece1b4adbd57d43b908175eb0633b87fe847cc10ef459f0af708ed0e30766596f4f44a823c7bb07cd017358206d5da06d9cd12e65c4759a525a8c1b70883a9e4e63eccfefef59d6273e1f9f600094d9d7d3b4d66ea860579a0227f0f9f9bb12e95afbec0072e1ae20e1ca97606943033d5dbc68acc280c7400e4e364a2ee1db8fa1ac4827c2ca3f429f8988800708c8ae3ec4a30541ad4081d0e63a99f9d6fd5e3d8604a422e7bc0236430ff06ea2d4a02cbedf4f549ca17543eac1b5cc4cc187853c12f337147589cd679d003b01db969258df8384b1406d4177e1c483999ea2b535128b1e4cab28afdc44d039b7dcba6bf03edc962c038e73000291dd728b957ff1cda1071e4f88276b883079bdf6b906e393e1f8cf20f38471a8a64537648ffdac4b12ce5aec9a960463606ca4d86d647533cca9ec6fe81a9649be58329bdc69da0631d5b30e61685901d0316e45f8428a77b6f3072fb3a4edef45eba76e022b4ba03152a845570df41bf04ace739ff3120a5d222e42137c2142b7c9cabc20a856b837d470c5b8df23892000afed394829900d4bd801db59d2e986dfcf660acf0147e5de23522350f5761057c20ef70cb7841f0594d52859f5b9fd7d425ada0798e9ac786a063fdc7f4d202c75303a329a0e2ee6a944f77ddb7ce7db0c3c802174bc13bc5a89d901a317a0201668bc20fd86aacb62955c4bccec7bb9f86be3c85891411a3690c3fab10ab01bb261d0518f8408de922e68302d3dba3aba0b6297e5a62610f77202ee632e3048c45bb82ea80b5d0067811b07b48e026bcda60346de22cc66fb51f781432a204a0b023e55662028baf68428c3857e57f183ed40e37d86a70d9ed33ec50e5eb07874bfc6fa3615c23f338d216069c5279c0c783511c62a853d96333fc2e353500ab8ee2a887cc4cd8e7ad5623d13a534e2b9c3de54eb927ad9c0d3fae6cc11e02f7a2e7541e87b72189d4c83effe142f6003edce59f8dd665b9d1a4d96a1f0401b28c9f81026b7e765d0c97232043e996f861114cb682917f15967b6d20650d048dc59469859e48e3fd2632a9efef9f1dd1c25a55104e5e8ffa87e8950464c20422b1d8f3f684f8a2d5d6ecf5cf9645a132665bd8a2296b0faf1a28b5a0faec03c755edba09b825a7b79e71aff9d1c8dce58e148236ddc460ad1f2587b4852a019beb7d34c4b3f98a33c4bcc1e90bd98001f0f8c334d7b6924d1ce301747b52044df84d9b17baf16ac87874f1226634c8aba3159afc6c2ebf18605204456c9c0115c36e7c17ac5ae17c84dd1eda627291e48d1cbcd78c8475fa64ca07db21b50027e6e4033087b868f68752eee75b5b57814f6371f73e8ac340a500949401a0058b371082399ea4925b3690dad64e261984d482fce779f45f301ef66dce732405a6242058d387bb970c045a1494464104c5f5795466ff08e99825fa3995f2c105c5fc49c2d4eaaa61be56431c201d77bd70ecc9d52999b116f89b23e29ef9bb071d3f6cec49dedda62894271bd27c0859c37545e63da2a79901f72fc4ade3ab0475262f0584dd6ab7a5e1bbb82675d7137e1ff7f7620c0d0569ad7d18e14cf60729bebdae9ff2b1b8a5a9d9d8e1356d015d4da4733949941002e795bd22d3650065fc844aed72a38962207ed325f065d119d0eb19a971d41a26df5adcfddb6007d22da8bf1b46bc48a80360dbbbc0e251d6220fcd6d7a2c14b032c4d7b183da0151753d4ca769c1d629434fbca39a84bf14bc40f6d582f10b7e237ac4158d3c064684c3e9e1a27013cf53e3e05e8c02d0ad8eeea72c27dc4ecb57509e1904fc040e141627867ae765de19ccadb6cf9a8b5a32879f158a20894a4b1ada7f960d030ed404c48e5079f6babefa25330f9ce2bdf84407b68f029ec971d8c4c4bbfa04e282de68c36850fab573e444e01bf8fb9c96ed8810a09d74ea201492a9eb6d0181d7f3ac23583f539ec8f7721d5722fb4df57b3495a65dfa499f8182e1f065000a25865c86243edff51f3c037ab0f4fea8507952df19d2946dd191a65f1909022e73f2a8077f43a1f23e9ea93a1aa5710d39455634e528c66469f5e4cc9c27053d6698446747c7197a44f52d10c2c576b9522aec26e7c1d2bd48c0f69fd478025626c883750d3c2947fda47c4bf1f73f1a3a8d9ca8d6c3ce4a676af6d1489801d7d7b0cc05927a27d4facea0c313b87bdecb31174762399ea81e4dd0c3143c055777750257ad532bf0e956c503057fac35970073e24d86faf423af6dd2f7ff04a54a60ff8a567060a0d6b25e23081ed687ff09e16dc024e24d5b1dca0485d3028dffc9c869e69b40459e62ee5b0b801f32cd4d16951ffce7e5e8cc53c82be60592b4e7936b0fa93c48c752e394a517132fac286d21ecb88da2610fdabaf0970761cf404241c7a955366e681402226be6d67c55ecb2b09c833489a1f1d995c80299afdb5156bc71ee03b5a297698d436f3e893543c0c7262e137b4609f68ed00623ce554c971055b3383dce07a54d48af681193338cb25dd4bad70af0f18c55036b0a39c13a225bfff4c18d7690ee66e6181c2de6bad19566bcd91028f4b47703dc630e7836da2b4cdb42b04c1445d561c675949d28f57dc64485c2cf08214e04b4172c581892ea91053e31833b240d2beb3ad695ac6162a7e1dd779ae9e0cc029397369ed2c19fbaa490195cc284d0ba52f543f11f50474d5f247cce0cb2a0054cecb5a7590e80a9c5237623fedf64084a0acc72d2adaaf9fa772513ba5d4b027ae545be315cefe10468bf349b25e8aefa8c37afe27906e12a8408d48e1e2a03bd88c1cd37c936936c9b4ad953be37e75b46c930a98f41a04eb692289182700548da3ead36fcc787cc9cff4ba545d3b8bcf76d08765d370e44f8dcf5fb74d007e8bb4bb0d8ca793612570f836f595546eb0762e585c358f594e57d7f19e6e8040ef852eff44b4d839ed38a03bd09062cb24c5f6e052f6564990df4004cbd3c04a7a2899364947ef395bdad229d7b08eccffb1a0ce0a983116e33daec2773f5005604c6e8a782f915fcbb60dc78b6160c1e5e11b166d1caeb9648b9ede0a84f01d0ac45fd54824f1288b853212cfdc8343a82a25aecc3491f7bafe8e3bb95c003585df76db59a3ad84942a9fcd7c8c7145a62e3099e57c260b44de823592c4406772537ce3f56993526e01ef20a38466251793011acb65260e9b9adbaa8310606fd55e449a47da263cd75f4b310f1e870e75e3decfbb559d15e89bca4e9a8fb0005de94234ed81ea88951bd3ae06b01664096a952604e8ac53503ed97d56aed051551d9634eea64257ab41943ed990373fef7eaf6e07737fbcc083cb098ef10030322bb2a089a62ba798a8708929e6ffc8cbdce7302268db55ce0badadb840e0796a7e41d356330f5971a5e00bd9c5bd1be07d28ca8795f307dc43e30301c0004f5f79a2cd6c56da0d104d6ccffa7a793afd71d5ca1ab0139854f2cddd5a2b6017168dfcc3125652c3cca6891a926d6781dcd71650a44de15aed843af87721005438e10b9e3bc66de80f7c77fe51a0f8a2e784024d99cbc236b3b35ec21cf8d0700a5952f692322ebeb6c82de4699ba1a6aba7eaf60f056b193d99424976c5f0478ea22a206b990cc4d8b510a8fd6f25de75c2fe71fbc1e006113ad16ecca610522d1827f78e1b46f9851002aff204bbca7f91c591ccf3ded38d38663f543d600c4ab9a204daae0b30073c41cb51989553c41aed9ad0337e54dafceeb9405e3005e9e58420e6059cf86aef4389eeeace5de59a3b99ec00e858a6a4d25a3018f05c3cfd8c172a46e36d100112a5cd91d33ac903e19d506555887792e34af5eb102dcbc5fbf969f35b68911d47d34ce6ee496b48e23bf8bae852f96d8780f073c06394c20e7060e0c3ce0bf11fe1818fc11e23c2bc42468125fe121db29524ea206d111385f5d8727fca2173d3a1eb22594aaa82d9d411b73ddf9dd2e2c7f285705d5e5b6ba071309d169a469183991bf594258e1a27cd90e2af24686772851c9036fd3461cde45a568eee534fca3336ec4cddb646d80b012e8c9c34ac037a4fc058a601fc4a3b1789ac0e524de8837a2c7b5dc5c816092ccfd9bc4eeb6dda3420326e15d17ae4e532add334abf02f6cc920956b185210b01e3771fcb3c6bb79a008f4b893e434b7a0aa3909751f6ff4dadc69127f2931b6865379e9ef76deba3025269ab8b3ffaf0da30b9c29b603853489fd38b009310c1ff3c52d0b2cb6568043b7d963c24383642b403a87fe1edbc9621fa776acfccbc1451cb11a70190e101fb370f287e01b00b9cf76284913f851b0be2021823971ebd1a203903695a08041b80902d48856818a1e258d396613d139c778a82930b2ef16a8799e2a4cd9a01d2c4ff4ac26ff5bd98e6979bc883a6385b858e13c0320022aa47f51ac8762806ab22d1e9fd44cfff4ef0521cfa5b9c5d1a40bf7f1e33df85846a887015430e02480e24ca80fd427c4f18edb741830cb9f8fc7a0588830dbc32d4fa9589a4fc034ecfc29dbb25d3ad6fe4a30104ba164023dd3dec5d31ec80e0d590c9610a9c07a5c3ba022f371389f34c4d29e7a732f31674cb9c1656b4d2dcd4ff43544e7807161134197600d71844d319dafb18e88b74be3ebc5cf8f4118f3d0782a67faf04117aad40883848b53f9437a968924b1eb08dacddaf50b6d390290b4c0b281107cfec1604c3ebcd78ae48480eb7691728a560e408771e54046c3a08daedfda80769ebd1690bb8f4cef7333d42c098c5613df3ad42c4387b8e5a22bc9f41b11004201c88019f52c1b7e7081915e4cacc36bf6167661e0d9e0af3b9283789f19106961a5d6ab826c43eda0a040d254b3008a4764f82b15c989ebdd67a0f01200f05447a7b7d01abd8299f19403c4f8c77b620ba638d771605e1f5f0a28fee5d49060d1a7fb273be9b1165f0aa0393f8b3d552f67b3124d085cb12e36041d2d026045f619242fa80918951dda8cb33d3a81b2b17ebf0807b40534b6ba9972bd93f03a1b205da6fbf6529c90fa6194cce8d1514622337d2fa688eefb205eafc27410543711fee334e0bbebbfb0e0e0e4f5db07be12a1da5096144944aa5a78deb7d03c1bb743247eb1f9656055c22f483b685aa72c7d9db0850d4b13a23198d70b206e99aa4b7b90ba079b12c753470e188b2f363861b028801687513d7f89dd5c703f1971572da917432e3203dc200cc5d6c615b46127f7f811db75fd06a3c3eae031d2076cf9ae91bd187b9d23254f050d88a31f0da6cde4ef7f5b6216601129c04f87280d3364a6a0504eca4338bceda490cdc684ee5a3a5057e736e7ebc31c700fa91ce44c46685f905b458b347085dc4021d1345b1292f1fd60c794ee00afb01971731939b8f14e025c8acc358af3506a4326a6f94b1adc512889bec084e9303786e5c993b2be41ca68d4a2892a2d351937ac3f8bf9b64d5645fd4668593cc03cbd9f3d0532242968d2c0da2282597baa55012892728bed76fa9bccf0ff0560341701d07e74ee7b4afef515968c90fa7b0f4752f30159320e72866d671d95601de0296f4df6e8983118e83701528bb62bf564dd99bb554a927ffea29f31137032b214f359f0ca0da6e6e90df18ea5a40b65a5fc1ac41f095fbfd5501770cda02d7d5f88b7050425b7bfd8313a400ecfe6cb6b08c8af1cfe30aab4b6a6db0790775c0e20eef309f2a29fd0ab29571c53a3c40b0b5367e02367c25414dbe077d052f7cc239e356c7e5d7bd1f1b50b77d4f699a21183b62d1d0724bd3ef645ef907b8c4e07bc8e963a51bb885b3459889b24c65b728dde92420c0624af1d583b2023680e937dffc71fda47a9cf9d8ac1d419d0fb4e95d3818be5e878c4af2940c00f1c0ca5e64eeae8f08f190ba8034d9f66b073e65bae5fe4ada6aaab5d7985e07605c124e5655f1814023b90265cc72d5645feed1195ad52cd018c6a94d3c6a050ddbd051d8993fd70c94597cae2781ae00009b3c6f2304aa1cda3d2c549fbf02a6d271c58589d059b1cf97ae5e03d73f54e80f2170746e803eb83030c84fc40074d8433b50f5ac910824000daf23a0b7d3a3b7f9eb3068d3781759016665be02c3b772da6f3f00b02ae7c9a5099f97466c6dae6a06f8a05863719828ece83a027f452d83bf6b9b1fe4edc13fb11406c8dbb4c8ba1463001be22400f58079d603b5e20ceddf7ed960f1bd69a4e058471657ee0c286c3d6630797d5f868a418003ae4403d1f2d297958eb95e5f7ae71187bbd0799177c8402659994b51709de502ff2939c2969cd4c7d9bec28b10a582a3aecfaed916b68c9380296392a4cb4a07a888ee9e72341ab2f622aeb7b0c56bab6cd58ac4127a4fa43148db6098bdc7060fcb2b7adf9784ed068497b3b1e625b5fc88a662c346cae8f42b0e6612e48200aa7b01a907b5c1679074fe810c138457951b1f80aa35510652324ce572fbe901fbb638a1b4031e1347365ec83e4b2c518e15a005b7301c6f3abbaf9f97d9ec0760550b8439c60989ecbd642d16698013ca311134675adcb2ad67fce30115be01e96506ecd21a72afa0d69c4ecc46685137a365870c76a85c113ad03da00233042148e1f93bbe0bc804a2371282a08b8d86cdaaa74c007c726a4bba39568bb90244af23d829de4cd4677524e399909cbc81527af304c8cb75e7395596930beb05053470905fd391febb720d71326138652ec75aceb7dd974fa11f7dd6e967ea00c8ebe018d3824c80fa6b7724d65916732d0d90bffde0a0664230f55fd739cb0237dadb084a75242e3762fb9b47617745354170788245a2529ecbab4fe597000056cc935d74a3bf593899e0beb7795973220661e558bfe8b2bc9bc26e6ca36a02f8865132e20fc910496b08baa0fb529b1fef1005b9d42e3a43122e3719ed3607cf00e266608d085acd24745780218c510d4d17cc74bf6caed78e42170a58460754e609022464bf99bd3b775c3b4744e3ca9189e8243db45c89dc2eab35fd7f02dc1562b63ba427f2c3188f177412fb714540f8fa73198adb93cb09825fa7ba07aea1c34b9bee35467a2eb8d41b336c662d8f26ac1ab7e30d613846c3a377fa000ce996e23662d7f44a7b3a5c58359ffdf96f892a7cd06ea1f13bf9786adf15006da1cfdf07493bd7050e915ed29024876d5b9813ad2d2aba415249b217d86c01345cd45db7805b89164ded5a9b027d83fcb43bb2afe266efe151d9d642e40d020c596dcae08249724b6ea6d1992ba7816b199fbff5ddfef9ab45086dcb385001b83270e481c909a51c9e56733bbe647eea028c52ad6927096d9e66ae56b8130315ca73197b6640587d841e320bf8f3acb64d7ebb0f81a66dfe4a9bb72e2c770470056c9ee33b54c847fee4743588ad782daef403c9b387f2de5f2834f96c5b05a1d731d6ff289af074715c5085db105b9a47696f5ffdd7a27d0d30d10ad9d204690638405c678d85a25b329e8cc764895c3579e14b100bb494971af5aa351905d4414c3c318670be2f26baa00ed0d0f5882c91ca1f9386d72ef118ecb534620232cd909938cc1729d83dd68da4c9c66ce51149aee904b7c4ad85797b767d8201c206c86737ba329810f8245b595e4dad0ca0297fe2be97c44730eb2e2f246f05bd3277b96a422b519c19808ce8fc2169bbaf9cee00dbbe9baad5e935bcfc5507ee1d855a70f5f4841548572edcd0495643126765299b225ddcf65fe223f38d013c6a06b1829ea1873d51af3b540a11d4ba5f77134b2ece4c2cd9404af6faf6076f3e30d03a299f6e0c7330b282b27c794cf57bd33581d0d58da9e3228893f30270bf4072f54a4ab3dfd4450c7f61392770b2cb97ebe5551bbea42eae1c4d6f00c67fa77e6b305d25617cfde1b3b6c08963f46d54a662f2f5916de4a24e8b1f07ee6f4661ac2857e01f6035cdc84cf490a04430890aa971aa5e6e6f87e61cad01b101f061ee10828d7389f658be765f1eecd8ca352941f026840c203c5b6b38062761c35705c1b41e03022b0ac09570cd7eaca7a59d097bf5efaa8776aa56a500dd2a06620e106187007c758f07db00a71c5f48766bac4f5c03a47d339e99c102aad32c2299fe41e83307bc827f5532ac7e1d6e8c4cb7379dc33aafaa56ea450642beb1bd86b6dbf554fede8b90846bb42a9b7a70270ae680cd4aa02ded7b52016edf2cc3062507ce3b39bee2a06d0cee01524ee6e0b5491fd6887f72bde80e05c143a3f370cfffbccd3d925931017d94b15c5c64c60e5ac930c59ff49045ef0012b717cb278219dc55132285e6006905319f8eb8cf4708f2ad99548c7b899207de990dc9e64801e533fff4ddcd52800d82868fe432c980f544b8e00acccd1a05d020b3e455cebedbdd4d455c3442f69dff86b2848033694c115d7285266e9c0736fc99a1e9effa2f4ebe903b3fe2a5c47b55a00574a9296dc32b8d63dd95a004df7d137dcd9da7a0f9b970b60780e68c1ef3f2df7c316ca4da119fd20ea44402d0e193196319583ff11dcb8ac02e86188163ad0f5453a3497f68165726a54203c96a219f959690a1e4ed1261f5537aaf16f091e75b29652edf6e4862901b5d05325749a0f2a8d9ff36bfb23eaca6c7ba82e90c10738465c43b243fc9545d36008ae49d307a13797a9606bb6355db5de0a72faed6c92fba70eb59c77a182f0202571ab1085e593670a4c02911da3591b969576fe98d854b4bf1400c078917cf05f06ab4a31ce86233d00b5ec2167a2f8c616e5a68a0733f388190dcbf60eb93004146f2f63c8e7a644ff91dd9bf274fa7caabb1fdaa7b4cc7e04669dfa1ef7c05af446dbfa271e0dfec613f9ad4e017838d1b7c497488e7d2915f238c69dce00071ed6c493bf1627ca3c4c1af942ca081baadd4bd27b74779c18b1bb995fbbb05c29d62ee52be97bd30f35ad465330cc5aeef632abdd8fef7cf0b8be0f8c62302470baa865d3738ca640888f7b9e9f970886c54770c0100821b562875e5424f02307922aa2bd63c8771cb8cdd3263916981f2962bdb93695fb1994b84b2b9fd073a74a7100f2fe5a3a8b7e2dbfdd7d457bab47346d6590c23fc5eab0e528afc06531107affa15d9b85a84e3f4f3e46aef02cfd985a4af877ea32b79584d7dad0179e4541923f6debcdbdcf992bbad9e9a770dee8188d931d66ec3d747f568ce052081e0410c282e18a77a3f944a3f73509d7447473ae19707e67519ccb759dc041b23c97f922a0e07f0063f50589b6da01e0be974a1c4dc3cd326996b3e4eb2020cad7ba41e3aa65ecd6a7bc6d70f49cf0369bfa36705a870f98134d582225605da8a2bf7adf3c65d879f43bd37891519da2de9caa6ffcc987a0da05c19db3706bd009ecfeea72693b7b308408d42dee95fb75e8e755b0fdcc26528c1ad2d6a005db452c7af8fc11d206cfce7dcfcbeaa38202a759568a22d35e5df013a9ca6075302a737b62dd619e988c991a530831f9a135f7b484718038b8b31cf80973e0106768119d75e45df7f7896b63b124d6a6f56a24709690dcc21f9585dbb0ded05fd0d1a603f9376ff066df96cc30e729a37f01ab066aa2ba549c8999f6e42110549b8ef18fded03d9233c65b1386db33fe2b85bc6299cbd3097c88281d3250000086e43cedf91d1808e287b2d24a3b6871f8b28af92b9c53d4de51d85a771b1031f273c1d3918ab911f906095e148b97ee480899d2e2edff61c002fed13f83200b559f34c4d629e8e132fed566cfa01e221c8d6981fdd489c43f009796696c200b7e1379649603686a72d87adc7f279df45cd1070722ac561f62a1428e4e5b804efbaa926ecf416074a15c50fb0a766ae9d13ed53f751ee6dba47322ff5d2ab033d7ec6dd21e77b836620a58b3069d8436404acaacaff40f16d623b4e6292190453843b4c372c1ff89914700f6321f642d54ad244ae45ca80464f3adbdfa9330195640223c6b25b0255ea8ba316deaaccd707842efbadddc3d2be2d01cba59404f81c4911b4dd01ed37cfae7d6f0c8998ef01ffd471e26daa3436392c2783c7061f32667eb5f637d4155fcc666e00823ab2a1c3b2d05278a245ff108057d296008ca0aefcd22682966acdf1ee930cfc7c3248977a5acd87ec3c4e0af3f8de2c032c486b2558e61c3229d473f725541bc448daaa3ef86283054166311f58c09b01313b22cfc81d80a3db7a170f21b4f314547a069259973872c85bfdc54acf0905af334fe90e382be0c499cf02b142d80a51e292efe9b569ccb4aa53ce09b15106f7a02360315dbf4fe6cb86eb23097b3ead6fbf141aba028fed44ff280a8c5106aeffe94d8ab8331ef90f153aa99834c0ad5a8984dbbdfff32d709cccfbed3c0032576fa2a263f32b74b06515fd4bcfda2834c374ba5a21f51ab6304adb0843060c75cb1d097d45645c2a90be1904c1c70267c14a878dea6a0dd2eab9ab23d6047570aab8c25d9435bc4eaa8688b334f361597071d0a43fc09e275f63eb1f3a00d1c3ad08facc41ab717970b0fee595cfb98e3c23919e91d606cd3a0fb1500d069825c43db784f77184f5b467cc39a85628a55301b6f21b575abfda968087ae0157f2e594127edd331535ab29eecbaacb5f502cca18dc366ef20b205433cbda002a13b2ff1e34801b73cae6be2055c961f27b3648ec2475712d8b8401608fab0570eef417afb76ae61d20ba4167fcbb61321e5992576c854930ec0b5cea40d004b7ea9e6b7117ef4374f6c708b40850a13ea23efebcdf3192140ed7fa2cbbfa01d5aa9448c2946dc6b440faee45fd13bea521da4219261bdadab1781ed2d3d8042c5262e133f6284481735d93c47965c8715036407de541176e2e011352638200791ab7aeca47e6d9b2d68b877c0e31e8e534b53ef4610f021d11c9598791c301d59c6ab44c42cde12c20c36c2d885525f0bfc729d620452ee363777370420e00ef9e0655bb5e73bb6c81ef8a22f5ecfabe450829f9ec86a674e009248f43bd049de7d324933ffb78918514de4d9529a42ebdaa75d811d883dd1d923e52322b052f9db5690777f58c3ea068d294ba6ad7550fbc28989daeb9aa1eb4031d3b6204499180c83f726403c8d8cf396746670cc4feeb6697049d5ff5460122bb52c3019831e21173b1d8a81cf62c2df7d857d05204f3b978bafd6984321b5356044b001a0bdb3fc0e65d231c8ff9952025ad3808d5ec5d352bf3441578b92de5bbaa01e9f386e25b07cc672e23b9df189fdd61e09fc310701226d52c8df2b954cfc7048d7623aca87b09e86eb67533077bbcccd9cae9b991aec03c74cc7ea43351ef0449db277e7bb8b7ef0e8f4c28a6e7639ee7b8e7b715ccbf68c3b19b23236fa603741cd56ba447360bff5eedd4db15997813ddd7549a8e8c9d8180bb7064798000b056aaa3878a63c4760caf67c93e25118d9e30a83fd04878b8f748d181dd87052c3fe2921f70591f09f3d073321d741f7b5ea2cda2b4f34da90d1891de2abd04ed01da4be8cd8f10722077ef3a82912ce116eb5ca1c8f300bf73c8bb41c99c03cf85e3f58439292d4c4c3fea6adb97e65127361f2f7504f264251c3fea50a3026df6448a84781799f5dbef0058fb66ca0934fc46dd00f3df53f931043435a705009ee9a53053f08c2b0a667392448f81e0db7027e1533cdda0a76e68d937b2013c3b9435709a70d282d129589826462f25d252ce719752df12f992e3475a780285404ab25463e374ea3a9b5e736a3ac2bd712bcd122f3e3fd09803e6b52b90011b6cbf05bb10e5500b720fbb461f92730dd34b7d7a862a427ab6f403bc1da7048b54e67eb975d39859fb3eec4342ef69b354a23b81d3bd9778307acdf0614e04e12f2185ea5fef2c9a70c65a007c84d277f67c6dfc04d2ee467f0a2fbf157a01ac614e6a6c60e7197f97b1d8f34f11f0479ba000f5bd06d340d26c7144319903d353bdf26e3219d08038e76b4e8f497727fe1296b39a0644c065ec7c88af65033bf50151ea73cbb70708ecda1a5b6c4c9e0f1bcd37f59c34763cfa5b2ed6c607a72c5ed6898307ba18d3bb882dceab40afe16464a3d3bdbdd2c4fc825e5f78071137590970c4fddabe952377b161454736319c3326c5154a0cde85aadf49b30734cbb1d4f0328af99a911432f03697c8af74dd7765eca1a974ea054b79532f00b7e0d6900d834f846badcbd00ce133031920e5654539d8dfe51b09a48422de02d8f9dd4671c98f4befc51a3c1e54760a13d90d666e002452924c3a3a30d66807ad8ce70f7eefea091ba39a411c33bb61c531ad22748aefca357481d50c5d820547ecfc6d88f276001dc200fc05934b36860147177cd46090667d1db982ec93003772a6b138773c3a55f0fe431b35c42e55d57ce6dc847f7aa6e722e7e0b79c03a98abe332dc66ee536cae6123f8fcd813938ef2be246f0601b832c47c44e29045a1d0404c0c05a310223c8ef7585704e2d7d348aad6ac5e45c84439bac174902a8a0ec0254e29d7f41d8911fe739bd63a6d0993cf0e83ac5f4ba429d03c58504453ac5fcffa1c4787957dd6b6899e124ba7142cbf7311c9e0fba0239b1370805f2d984f3352830043f082212f778c5895439d5b6698eaa824a40ae852bdabd0568bdd72a1432eb8fff6179c1eb4d53be9104fb1e80321ec820cda1e131590704461e0b4dd6409b4c9976eee5d3cfcf6915802c39bfc61ccaa86884910c15cb03f1cb00cef07b2f6f7d835afa72826bc7ba7b3b5b1b510e50229bd53b82299503296364baf073201dc523c4fd83cba0438e2dee870b2094a80ccab34476559a01fedb326e34ee00f7a6090aa7cccef2ea9561c4425e12b5238fab993a86af0804ea900a02d0f2ac711c729176ad54b07333e6d2404373c6908eb6411cb83be90595f3a028688a58dfb217eda6e1fe461e308a10aade43aff0bf77c10038a345042a89963d206a2ccb1fab0026b80795b9d375ec4acd83b4b6415583d207d6ee003c963969de161158a30beafa2f4287598547aa68250332314ad203c57dc24f04b070907618823af5fbda0c1008e6f99baedf0decc7d9d2952d659d09874f1a045d23556a5fb483d9543d34d539809bc241a51d2fe565fcacf3eb399313b9ab0287531b2dc22637a0d76c7ad7dc909fc2ad3ecb64ceaac58675f47c8076ed3a0714449e802d3724b101a385e775eac041a04028e635e2e4157ee391459bc7f0007356b8d3530290ec0fed41e769273ac4c4f10fa3ab215078bc2560f67c18ac03f01fbfcc8232a21281aa4c361746b576b599b805292f2375c67a163f28fc840185680474620235d9d9b9fc1b401b63e8929b2673c540dc70be80a5adae77600751a5bce54e893b485d053d2503c4a38f1517b6c03e7829980e8d3a85afab9500fad1aa798d8804b09e9e234882960e0ffcdd8e5e856806a601a17331010fea05ccfb8c0b23985c12fa188e16e16bbb0f3355e14a674c6fa8802d0bf1e0f740003ea0a9901bb0627c1626561ef3bc2bb585440a59ca4bce203cc16f49f724ce00e8ee22d042f5468c8007679bc27f4f5e1d756b3670e9be3a942d65ece5b58d029459e773f9d87a1e8526f1c437730e2d2b8f97bba8a494b1f5cc32ffe513d30743c01f28efd92b77fa618b2d6cd89fa5837ad133c96efae0c8f0b4e8fbbfaf04132acf5d26129b1355684568f34748312d724d1e98f72a62769e92b7f863c702ad3fda8be029f4f8e5ff4f42a1ee8b203e13f9165aef7e7020ea09ee2ecc6f023d4a048bc682a189addbbec5535191d70c9a12c3a39d57257b4f236ff070670477776490ee1056aa50a38301aaa4561649f7512fc139a2860c0b96e6a313b302aa74628a45b4e1fe464676c3dd0843f0e70b7c948688365c1fee2a67393fa607712a69bde984e4869e4f653ad5b28c79728ae591935028f1a9c33bed775b2f056ae38d497993b8fc746960cea064e7b295a057bfb0962029a7e8de595a33ce05c7aac9446099999c7f394397bed38da60da5cdd26998deee47d6f0339c9820045135a05db4a2f838571449f0ba099a021499829c91bbf2a198bcb86413b51a00286e24c5d5ef4edc0919b3e98ff3add3f5c3b3f7f2811e04b14c7cdba117f700cc34e334f1d70fafa32516c15b3a7aef62822eff9f33c4f296b838b4ed7c9a022889f876cab19e0c073720a0837e35d2e1e9640358e48318876c04158e4b9a06440ddf9d7cf1d815e5026406d7af26b4fb19b669c7f4284ae153ae7d88b5400436e5f0c0d5ed840e286dd548ae4b862f89040ea2060096c1e4bb9541a68d7b0514ba0e4e25082ce6c3fdca7df9e60c0fa8b6cc7f5e3e0ada0241a545b19a1007d6465bdd4732b12da72d1888da251a259a9dbbb7e26c8c68df3efa735998b1042498cd8e2c9683a5a7b769b73fa0eea3b6a6ca39ab7ddd2b4ea8f49b5cb3c40215d600cf8d8c25cf4240f1abcd7735c84439b6cc5189782905ae38946e6cfd0410c193ab84d4048c66e6afa448195a86d0550f3b73547c27f41932e47abd4b07c79ab855d20442688d3ba4aa38e3bf876514b254f99fad537eb466b616465c07aa429decb0f9593db1bc6733c31fd05a13e4c1be3117132f8c1c6b318af178007df59aaae6a94adfc097b8c80ebaae19428e19ee9d1bba069c89035d4be38e00ab138252ab6bd58703e18800ce1d1f23a42ebfaf360a21d52109100644293701c313c1eaa71c04c7affa1e6ef89700aa8f1b9ce18ab4cd3b7b878a181e0dcd06cbc75bb65a852e4b217d1924feca02fdd90a48c43f131359d21002448238c805020e30e12c2f22bbdc575377e5c4c6b170efcece8b8a567cf430ec7b9d5d410438775125a1db0607cb735f51dafcae98c7cde39ba93113de4f317f379fb7620631a257e70e8ac015190ae6284d30bf6373258bfd6a46061aecc4bde6cabcb806dcae8ac1215d7b389f38267ef9d85bc49aa762bb4a505ab1532503f7a5572c06309cad6f783392cf0fc5902017d638fc596bca1348062a48378238d5dee85d0620ea0e4b3c2b83dd3382c0032565f314da86f347abdacaadf613907d1dce2506337b14bb273b00edc6d81ada0c06818ded87971d2a38d052e7480005e4d84400f61b73641c51cf2c4ec6c52d4f25b9f2f25b30a1abc586fa392d014afa2a27063267c08c9ca8bd2547c96c6435b5b511bec40a89c217e2fd0190a84c88f6c301d162b116b053f16d0dd6c691ba7df9cd1b3b2aa333d0042b52149752ed3c2a02ba904f7146d6ccfecc47838374b7d8c6e70a301e24fc9811adbf15f694fc3d02a75891bee85c9db75346db86cbc46bc7519118d4c42f05548cca40eb86d762059b30f3f773d0757d2120e9541cd390c311bb2efb4293989f2bb47e269769a204e18676f36a2534dce5591b1ad4673a25948f238600b57e59788e8c40288e9901e6fe5f88d2422138c95937633a54c0b6596d7eae9c3874e8a4132ca01d8b9a054388ff3bbd93de0bcc39f0947abf7b66ec473d0e5d4f12a03e85d04337779105d52781a2c8aa5b5d9a985aba824738cc93e1d8c674fdb1b561f1dc5eb2c6aa01ca94f5eb51883db0f2c8e8c5616604ae7dd195a5e999cf2f299fc127e67e03047f896e9b3244dbea67ffd607a1e1d7ccc8fd72e7f1c81a6b09522c3d33d1b20208e93d403b04fce176d0c8c8e51b98b87b2041b4a64e7136d8bc891bf06c370583f9176a056b72813dbada9d117920c61073a4b8c9c0dd614fe437a4f05c6403968aeed2ccb6e3c854ec850001941a29e29d35c7c84c9ad5ef2cc5c7f78c3f049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca680403ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a03ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a03ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a03ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030bef028cd674ca604152fc0292b51891f1cf668bbf6b1aaf6dbc1588a773dd03c69b17b0c8b66fdefdf992e299fc6d082737941256069e5d0994198a59edf70040257423996a60ca77207ea13a5138e4c2586e10faf3dd414c79a16708ed7207cb16ed3b4b88ce0c24b7b1d26b960416310328840295a7a4204682481da04c0388a31f2fa7d4405c6d326975f254edd565967ab5cc61d48e959dd3f6962fce072d736c88affd888fabd0688cb759fd88ac0ffd6ef8bfddb26f2fcddc9b3fe307adace747b5ab974e3a133533fb71dd4f04ffa0210d3e6b345d21b348cebc8f01f0817dddebcc1d76b41a57e964141b15d6ac42265b8045b9e01de5c9cdda200112a24a46d7f7bef2a4d63d9b375ab56bce421f29f8de2dc3eb27efcf2c41150205bbc1ce406e2a4a99410e3fad8e08082a8853ba816b54f5dda656bd1123bc04d3f548568cbd885a1ac2e803d67336970a037cd3fa86befea7b1b6241815560261161144b60ae3cf99af657f146be12908d91f8f1941d092513b5c3175714207dc45ff43711e91ed2510d588bde88c3092fdaf5b20902d6a3694f1bbbb932f023c180b8b9c33dd02db4d5312442676f763ee7a9838f6d847b5a6cb963f1ea9031bd7257d58dfd34c1a92d12a733c1581fc8a55bd8a3c57daac814b8744e96a0427fe5f4072bd2a250bb21affe0443feb41efdc770fc03ddf9f2149edffc52500e62d90e391a53ae513d93f2515f96549de1ffd4cf4c1e57aacf40ec67679a707b1873aa7eb185b3a1e48ffaec62ad2ba56399d598cd4679e071c6236a05bb30285c4cdf6650aef74fdedd401909ee94a9d755f02245e76936faccb0b698d5802fcd93981dbe2c9bf344b7cefc90d49c2cfec44b274ea130c40a1702d97bac80543494c8192146321b1fa54fb57f35fd56f5a5ce8ccb1c91f1aa2ba319d3b540320bc18f6fd45e96f2935ca51ddd21d6d9897c2873fa85d302204ef1431aefa0260a61bbf34ec13c52db59be47227d1f3a3a1431b25e32d941d84ce1cfda17a01c59821533d3b0fed8f62cdd0f83b1d2b46936b3a8603feda0df11d00d36fcf0750026e5b30269a89069d42191eabd15c1907fa3ebfe907af163cec1d4a2814011c74c01fdfb8726f94bc57b037729945a873376f703c5a399ab7d202d7a3df0334f86b26c49fc097f3721332bd9cb3a9a61c376206caedca17dacc1dffcb7407cea4c3a78fc3aca0410e9832af7ba09dc59eec73a3e1b7679fa6514ed690b1063a8ce1462292148a7a58c00044cd90e9f00e36055765e0a826ee53f16df0eb0243d83cf584112c4099a38d0d201537bb15fc1a8a87b22ce74047fe6d60558406899fdd3961d3602154ef1e94bcdbfc6539a31b8fdf935e168cc5d0a159275e0213b0d400ca65c7f65dbfe52f394817d54219507f72f622c0a98ffbd778039b03b9bf0c6b136b9e1cc6ee8caf63d7282cd6d26eccca809bb9a410c1eaa3b6d8047eafc8081ac6dfab08ffcfa4130613072a8bf1d1efdf600c884579eb80721502952e07160b463f4e48a8a4611a47f56329d38354dc45d41ac220013e8389c8079248a8241e9c5f1c7ffe2e1fbb8cadb4c762eee87ea45ea9a4b9cbdb3ce3d00271c6942450e269434503e3e786969e66ba1550d711b9c66207cd8b751898f706450bf32833f0c1b7613fe3cac97144fd0ee966c2073b24351cc851fc22402707766e81de9daa7c388918814158e072bcebfc0bbdf6f81d9e2787bab7512fdf045a616b084036b53e040f255aabce6801b04574b53817b39f0300226361f9c20194dbae97e6b4c888a34f8c7c064b25f608ca9f5db501e5ca398d7d821a9a2f0506d9b07d416411fde95aca1c14445c0f0e3131a5c494d9aca2b4a36595e41c060b7bb2d6a0794f62f9576329eff9672d5fa512f4ba999441b3aeb278289b8807fae9257786bab6d92330283ff49f25e43199d297496c9a0e35fbf0db74c79906d5c1df4e50cdccecdfe079b64c379caab71536dd170ef7375754316baa373f04be7dbb4361129902689aead6821116ae2d7be64b7c64c5f9366efb0c42d425051b9f50bad1ff203bce9b0b1944d554ecdf9876fd7bf8bc0ce5c0b66183585f044736faeeff1550b445e39d7c38251ec0a29b2a3cfb5f7a17442d17346cddaf075b33868fd5ceadf8cafff0cec5c65e6e925035f9e70b9d78ba570c6556c72703fb3227db501346e502ceacbf40214216b9f8072867e86408e21a16d3151876034b33961c0ef087ff679f7599b3ed003c148ca6454f1bd051952e756a508c3f019bf3b24786d403db8280b328956e10c0051cb59da3c5c4b6127035efd4c3a3041944b796c8b12877bcbf3613f63c9d7a5f721a73eb6edb21b2cbeafdfc9e090404d2a71450c6f3fbb6cb9441273300f6b25664601b041e21476822fbed5a740176d5e062a72f7709843ee6ba3d97053e53c1e4e9bd6e5c67a1f964b893ccde075daa808ac2cea710b908a73dfb9787ce8e748f8e60a933e55ad13b5e9f56bf055d5b83c3252e8ff2bd84a970bab725fb2fad9795b79e736cd8134f7eb7cb9403aa43fd85561427a32c69145cfbe92e7ced6a9c977aed381a236c8907ffc11d066924212b8fd0434e34930e9151979a5953e4efd71be849e8f7b6195868a97007ba966c4c489a3dccb0ab003c413e25f1209debaea6e4d3619d2b46dd3bb9ae00b8b44a42414f136289be872e2dba10206db3e32ed748627a4673b09807f2480776f71a133f923babe5ddce4f7ec9c0c278676ecf8743bb9b4b8634206901710540349f2f7f9802584deda4cab302fe73c0408f66e9e1603b57f14017ffd5640023ff6a77e137a495d13069819e80b6b63def739357c8e63f699b5aed28560501e57e9474ae7129e6ee43f6eaae1822a0c092414aedf93eeafda4d422c20c9b05c7d4f07614dc842d61746002528cc37d5156dadb6a792eb438ba669a47dbc604494a754c04007bea88db64ceed69a9e7b23d23965997111b8758dafb9d2e8a01906a054ec3db8dbfc9cdda347ba0e2067232bfe17245547689ca0ed68d533c01bde0f79ba64ae58af15d7328add0aaf858f943f5458e25ad910d7774316df00411ece49dcb733c638d69948eba7cc67bd96aa2b43450ca618061bba129a11806d3ecc3adc9026e130d737762d591a39815f14ab3954d62630d7e9ad626bad901be73dd89ee0861931734e895a0783fef5d28c584e3895524326351ab854d0202acb9d3ff875b349e72b25ba19807b61d9fb7bb5cef1f2c634021a348d03e5604a30d72f9bb3b8819524fdba27705b7ccf81c29fb664160282f028ee83df8190641d96fb090c596f11809d69122ee39e2c85fd2e72191aab3d3c6e03bd2733f012d9add0881a1798b6b30373d890f161528adf4f38fe7ed17d530a4583463cc0759f5510ff677365f27e5293b72eafee1337e24b4bd061ca5fe19a0e4adb7bc02cd32c9ad43f92ca1980123d688cc5e161520f89656a470767bce2750f36d45038bca28035e7ca862665ada2b5202809e94c1e22152f6e835172ae9f6922c4d03c7098cd87ea1fecd0b8d8fc64bad71592f9ee97956af599d0a14a9f8334b630094895a27b0a12cc0b76db4983f359f7e24a49856ba6faffa0b3bf3145a4c9600e05354b66ce399d6aa09d6b651de2814ef277d6dd1bae9183403a464e3b85102f38c5583c63b246f839a4cb359ba45ee565091f4607d61e640f556c32f1bee048e8f6a804b6bddda6ecc8a92b4c2b0568296c29abdd2cdf4d4e43bb64e75b4046574f7caee879063ac8838ccea11cb5c7f922950c1497c4e63c1f74099424a03f48969818bc04ab4fac7dbf4e90367cb2180c84a8a9e13b2364ed513f3b6cc02a582319824108a712092318926ec68d293cbf6bf285fe41376ff9e8171e61c00ab0baf317e003748fbe07392b9ed9a771ce75d86608d63cb4b4bedf67a80d200dc2caa1d21d1b80c0e1ce08b6afca26d006ea7af11ccc6b4b160d0049ab0b205d2eb5db5c11359d5ee0f2c103927bd7ce32399e9b91152078f40403e036adc013a36d40b7c6ee3f731694563d7d95b3b36bce79eaeab0e9bea4865d1b7fe1b014c597956d593edfcdf040447264f6dfc13d73e5aa3e378a71761efdcc383b105cb87ac9a6800fdf2f1e794e9aa1b647f3897f307be49da99535fa9ccbe4c2f0173d732f6165e3d0d98e0b73c63fa41cf690b27384b8d099075a66e3146254b0141e4563d41f542a48d85ec0aa7e2b3c666f74299511a00188574351c4ee43204f0873d6139149d02bc18b8ab70dd01cbf1ca9426af312c6ec4cdae4316da3501e4cd45e557eae25f4ecb012b7e6ef37650acefecd32af4c2b63f85cbfbc23f043401d397681899d77a564e472c71d324b3debe6c10c357bb99b84cacd2c181012860e5bc0a8c5edb40547a03bf65239b0a7deb1d1c382936f9f9f53768d84e00d602cfcdaf7a39a57a76e80a2fb9a383f728376fff877fb55eb25430c8080c02e3d8e1dc614d8227128ed6493fef3ead7aa24d1073e6b6a0fbe435b64103630591126be408effc66983a0a8fc23b536ad251c80f81a088db83f8a6c0bc060e04c77e517131993dbbf141cc034e51306fec10bf7e2394add4c211348b269e2d0036300adf4ddefcc34805bb3de76efd43e7f5780775df0734bbd1ff7e12d23e07d27706a1bdfbd9169bdd86cf73affc993844047d8c6aaaf6242cd80eeff98c07d4e8124031f3f397b420441e77fd5d73ad8ec51436aa9629d30e43d95ced7903123ff98e12afe709843d2d7e1684f509ed13c049ce4dd1f3bba51377f2bad505843e1b6cdffd26e0e8345565e01995cdfdc4d48fa2b0d9cc8adb2d4ebcff53056839e604603482b573459839201582b74fc0e57441cf78ae814fb3360f49e301e6e6fbf516c09a0af1fe9c14add6fc34c5dabbdb08231193029aed75b7288a06d17b440b05b3a8e8eb674f1e23df769f7b8c112f315f460eed8dc421650d6b054de998fe123e6118e2c99694dc5a8a79aff39d9de28777c43129001e98965007fae6d2ff6c841fea43d51b1e92d765e99484968163b261b921a3d6df5df9c8058e7ba11da424771bbcdd935b18278c6766bab40efee27dd0bee6cb0d501dde056a63f229d0d51c884e70b5799b95566c812b90fc3a98a4332e26166b6ef6ff076c5838a23399b68a5a19973eca4f70040b035f084023cbda18973ea031abcc0494b807bca8c5b754f1ebbdbaa628bddefbd172546bb27e3941d8140a0fab3701c5b8b50853245abbef191a7141ba06c61c4260af11d93742056bd91a90f03f00f69320b1571c9dd48934e55762c9776e549bd46dd15621cb45c4223d2cefb80564d0de6121d217e6a4f37a63dad7429fdcba9c6ea2c0e9591d78185581ab2f01d80518c5243cf6848f1bfecc7065b750883599dc84f7d387c1956c9d6fd8b6013e58792527d922492fb0441436e565325e75b2a3821d538969475aabec3d2f053894721930db5edaab7ff50ae36b94d09cf98eb9bb651e89e2a01aa3b16b6005fe734b75a07b6cd33a4499f53c7cdf341d309084e8a20a92e1390e17f5ce520473d7c1bca607b48692bee0c103eedb2e9159f7f1b63e1bdf28e996cb9966270495c729b2e49cb5efe41e28518bfdb528d7e186e7ac402b04a66fda1a9189600473a2d14fa5899e3a50993c3cd06ac451253621d3201be7a9875c2a550f58bf05760eb60da7f805ac82f97e5a1d164fd98e2f872b47cd65b1853f8acc02313e01d895eea6054513e3ceb0d456153617ee4e7dfd9ee86d94129c8cb8a8fd1b3d07a224576382c51594107b678739afcec6634b6d13280c509ae916ed913659f100d92402dee402d26c0deb55fd515951b3b930e13184b0993b82c5e9ed4e06ab05c3a45308ebf5ef8125ee55fb2a5024390922c1204c34de6a9d2f9ef1de8bee00dfcb4dc8f592eb7139ecff391f75b6f21a0c8d4ab140845541043829b672b707b35bc3bb323ba7bd8950d92f7d41dfa279260ac49ec3bfe81d80682fdd4876062f1140518f0db021e3ef1ced1ae1fbe33d8660d5e940bf578950563332b63507f8302103a040aaa4e4b874942125ae229d96db071654c7d57998a5705b80d305df8f402a070ee16819b780a4b3de41f5837a9493e70d8dedfd1c1d5a6af5a70303fca237b8ad129617ff20ed70121587249876449a1faed0ff78d0c8059585034671aa5a74f32691278b89dd2eaf5b6154cb70c3866b87c07f049730da6f0306e03fcc3763e1879568af3ad453cd4a050c20ac1e86689596fe087d8854894802f94f8321f954dcededd9850e633e906c8acd08457b09afa3248b5c9708a6f201c68240af49d0e65fdbdfa854e999a18b7aab12baca9e1758e00ea2208a345e00a05c24ecdc6137f5953ed43c8764f5d09b486ecf0be46f66fc6fffcfd13b7f033b91c07d2445694f76a3ab8e64ad22bb5f962acec3c1cc6a26e2a5ac3987ac069253fd4a81777b992ea651bf3977246818eae8cd9571eddae958c772d14d120359e8e7fc7f356f95b2dcc9f27df51c0872f002b06c47a1057eba2878333027037c2eb61b1243ad6879ccd0655beb9907153c3e0134e70d099f442f6078c77e000526dac6ba64db083e8cff7ad49d13d94dad20413965f2289cbc07e758d42001530e480b6413245b5ab3842641dd746f2925455779e3acfa781a4cf432008901ac19ff211f12a11a5d43c6a3d8b2b44a3ac0380da8ca628fc5570f7fc62df80756a4ca5fd65ca2690dffbf135a5266487f44e98e869fdfc0f2266a9068a32d0115e37dda2bfd9d15922be023a608550e07057f4f6e1d2770ab690dc37b4db000e72d0dde506702cb04532bdb4b15933a2b254d9a084593c23c97353be9726905eefa3be3390ad2c06c9c55be360bc9574105acf696a5801550553661ffaeac07dd9e5d4263c041ba2d8defb50319eb7fecbb573a6e7cc891292d7c45d5e0c5002c21f51e32db1c0b68bc02a8cc0eab5f0edd4fd58eb5c2ac0a1df208ad3b8401ee53235692360e57c3a99cc52a2b157a0dd3548b9dc6871b4db11ecdb1877d070d15bf0371eb048bbc06011bbf3e746ee959b88dbdf9c93b810dec361343a40327113ab4f146f2288c2c046331c822d519680f12bb945a62a28dae751893bc07a2a425108bbb1c1033d9fd91d392fb4efda4b1d54b0f2c2b31eb0b580431f3048a737973d8903238616e0bd85a074fe08ccead4455633805b68f4029b55020000f322c5b8ebccad058493214661de97d81c2f4cc01f16a8998924d64af1299044255b814ee607c7581aa66ad96022066edd5f04ff744d6e8b21f6e08484f7904dd8c7fd128b88a88b711858a7a2dd91d55f84b2c3f43703ef576705886d14302c425b56f7f4aff1918de0365a965807e326b523974b81fb2404f26f422ee3806b98a49b1addbbbc2ace7390a29374ee2eb81dd61282a626e9c7319ab84c39700d7705cef8dc5f782f5c6a45d8becb1c782616c83ce9e5b2ba6b9f24d3963dd031ffe0994c7172223fd2fb3e5ff9f80a3ed4235f98e63b5906b070db4e5cb4e06e54436e45617f949ebad53ba3d3f3799db7dfc0150c854da1f5c1a2adcf8dd042113f971037c21abc122118764ce48895c158dc3b7070a8860e27f99747521039835cfb55b96c99710092254c6ef49a0ce47fa4b8643d28ca33156c5ea147e06df20825e42be3b77acdff752c3d1cad93326186b2701998ce9d91ef36b731f01741867a257c2b8ec9a90f2aa47e91f5e343cbe39c6403a3b239004e2cf006603ea8d0fef6d3dadbffa9a57c63dd56b5d43a73cc61ac44751075eab015597e705c01c567653876211a9a428234bd9d99fc9791ea2f16b07b29a0d4203dfa96b00c4e9edede6f8a6be48132e8ca760410df2dbfac6ed5737fd02f3faa4a033c9004c889d22cb6b6d08aaa26a5dddf174d2ec34b24d908f0ab6031ed701d86c4e052084df24ae7e274b56ebb2151abac1ba426345db9681ec6a063b36d639693f02f500006036a850a3f88cc31308cf7cd003c8765faaba45923c0daf4dd808a3002ecdc185d9f143fc8ad4188f9e8b3f36f74cc8b7f5d1422770c8a82cb6396a067189e84f778e2688f3cac049bd0bfccaa6cab77a56c00e8bb13b78800bc0e2007fd48ef9f2c8ad8ba7d4be5d1021d6ed22bcae859b0b7aa48da7cc002f44450445fdff0340543e84f19ec6a4b4e41d26da52d5d88d92e6148beda741c3a1a60191e6e42cfd72b3451f98055d6b701562575a926e1342ffbbe9c16ba4ba2861043c79461285ebc25d0037a89dd680abd853c4b6226f8f5aa61a4737ab18fe99077959117365a5009196fff3e0d16fec60829d631cb191bbbfb9e967be6efe5907c6df7b418f5064c78b41d6034d039a4fa4110eaf219527ebaadadbda91c524037237e829b8f41dda898709b7d55ddbcdfd196d0f65bd4ea48e82f18213bd72074401ba34b7950a990f06ad4614ac063db4c96367ae3f5068bc725d86fffdc304e54725f6088a29a0341f231224cd81a3aa69d447f5b84d1092b2ad8a5f83bb01eb8c7dc5e217a6fe1e4c64a04556c36f3dc5455b219354d13c7fff0ffafc8c0229cfe7a9de47b9a12f1320b088bf3035b4c2781f8ba995a6d3e41552886d9101d3ec471edbcdd94e9ae3014ac2f2ebee1fd8136546d962802fc06ec1d8183804fc84e280ac9770c6dd3d37ac488f010b32cb20a28725e7ee2e20d8e82ce23f04435a1eb1f3bba9948a21648f02207300a1a35a7f790d49846f436330666ccb04c8482f098e280cbe447d80f81c4c1dd68dd427f3c74a825cf5baf96306bc9500cce61ac159ff050d8b7eb798b88bdb16768f796b6f7db57e104dbf3a0f9a1704f3ad158b8a5d22e8cf116850f58878bb0b4b72e9b0456549bb82af6c3c181100784d1eedcca5c4f38fca4100b8ba59bbb129682d94e096537ff4d1261327010614b144386d80ecad49310402bd7ced6e1d12578e275d8fdec55b3c6c85f6da02983c018a362bf5b9ec3653fd8e808d53bd58b2b89e6abf856a77369502b3b100708dc5faf23b1dbddc283eaa96c181c43e2c864a2e4b5b6e357e5cea1ee1c102adaf199ee65ccf5c8f7be0aad53b80a63272e83e12b841b81447d8a53e1e7401167ae256461abfe67d6c21ab187201a3cdac0d66d7fb2a2da93c6f5fd0771f06d97d9e28b3c53d97efa20df4f3ad951daaf5777a9ce2b4a2aef7836f565ff801696fd99b879b0c2bc9ec06af182a810c570278ae570bfa99f1e9de4706cdfa009a266efee708fcbe452bb9e733dde5737b48f63d9d36d20b5d79322638bb78069b3797c0fe7440e306bf5adbec28021b5a77af356fb638b53268b1ad2c2706012972fee027f97c9f1a053acc35ab1606f37054fdf89e9cc36f805209a1d24e024b2f7ab2e07e542191e27716936b81ae6baafc97f232e2fb64addd7a88d6460335094dfc3b8aa103c148aaef89c4b51dbf0fa67456a6fbd396e19c6905d2d005d28d70a78c9dc766d7100493a6c07678923397de59782224b8e47bbe3df310066999b2fb37275aff52538e75f85722ffa8400d9c58f2759a9c4d2eb56564e701565b9a72676e96e6d37f55f42f7324b3ed56d98598bb2c1729cde44b4baa8c03ddc09801418e0546085a59408beec50e5d6d67526f6b52832e6a42bad959180575276a5763722fd7ca74b377102326cc6ffd4c6f29146b2292ae003f95103a04b2adb706c03d679f33fd202e8ac90c0c6beb18d11a8fd259ade19480b9c3bc033d606694b45d3823a9be8791170e83395a5979fb4db3b2807c990aa52878fd002adcc73148681b502af35c0f987785506d7f7c80cbfc2f2c802501d37ec0f70545da6216a486bce01057c121a0a88592b411fc0d7a7dbd1940550c537012a90102b9674ddda1a065802b746796e0c0af7099c083487336ea5f44e2029f8bf60759fee6c7800dc504c7fb7f350b2580b51fb86313a33518b486888ca84ff29105f167268629a42c67b4d7fbb6c40b87cceeee21a38d6cd91117190ec5c959fe03c46aa3263555c3a59a22198a15ca7d930948c7b1130225c600d86502c1caa203bf3c32fa0c9a1e319df0a9a555b40ae43a620397b62060e3a57dceb73fe81b010e1738a289c4d228050d1fb5d7f9602b359fbbd29072da30df0251560884350166610c10322348b154e6117b7712f2454b91c6f3016175f18db14a561fce2902486f5993d640c0c00176c545fb7cdc1406bd1616e565a2abfec4caf0337fbe07f1e9f35df34a1cf6d1d24ba7b55ed3c888852292cdfc3e1f41a8494a6e6e60008031edb8d2487266f3e9fc96e5979ce994d48a41e1ee002521ad8851c3556a06b12c6f0806c73c43d0aa3be09c06d889b74b90965e2ca6927f7d191aa5b9ed07b157ec09e8e13e9d5a5a89368b63191bb0cd01efc2acd0fb1a45c493429c58042bca994289101e6740e1c5fd3d1a0d9f8a23fc276d6c6196fd69d8cadffbcc0036ea7b92f0ae0909d005bb8a266e4c7794067b7cee4d88a4e12719cfd5db9f04661098d452b6607b2ec4a2b38a692b2e15fc045d38db15d8ff1b41900a54d506aa0611ebe67f7e7d8b296440c211677cb85b05a55d45b7bd876c984d9e2d880644dd6ab4fc51d6cab2c4c09d6dafc3e1b4bfcb86124a9789be9052b007cb1500521e1abbf89f3e0d387e34292f86957fb7b63828d25a18f22c575fd9056b720605bcd23ced3c6ec4dcff1e86a391908d3b7b936a484b5a26143b350ae8106b06cba151aa1d3346633aba3be3714fa0ac650a72a1aae17e277f0096d09ba932003d85e01fa94c2d91d306c556bbdab36827a6e65055b1f0db2c1a2bb3b93f3905b385cc44a29bc4fc5ab3eec0405dfec999f91c8a92873f988b4b60158e8796010c50d65e55493af19a3a6481a9e9cc09c12fc48f5dd86d9085cfa634fcc12b034f1077d8fe58fe392c445f4334f6a97b94782a91836c3667307d65c40fe61006c834c289e8c07de93f3f4bc61f5780dae894f2b0d979db2a2b2063c1d914f6040c15b0ea74ce3f20610cc479c2ff60e3ac23077a366cb9340187de2dd3faa705ce7df2ab44539046e9020e650e59e777a5dc1acdc5cd136bfa25be6c23688503c783d50a542f00804a53cf345cafda33e1ba17e3be742fe994e3d3d63f7ae804321aea7dc864da68808f532dab2e44149507ed442123559cf2c3e8011fb7e7015d7bda175b84268698ae80ef96a7c7d7eddef904de1f9530da35eec0ad0e010051a1519092c0851f27e3f65acee7582054b4da95b66bdf48c35ff234fcd01d00fdc2a81c185bb244696c08a10a8011a6c1bb867745bf921860935e535bc3d80644a44accdb7b0c8f235ee5ce6a23ad173c571166295b29863f8da1b344488b00936bbf30899653117a6dc39ff9e23d070de047d5876ce6a590b54b790c6f5c061beba172a37e08c09b690e0726beffb11ffcc81a69d67774393b38d4b6e2d4026a8ffe0491fb4ec1013f428ee9e0329929a4f945cd0f6d864f4f05e49bc23b028e330d49f202579d42c9d0e5e49697d5dafb76d4d992992f0af79310a37a450161fffdfe9b019115fa35bc649faefceaf057fa6a92a307eb4528890911372f0294ebaadfe6babe2e48a567717d6ac3e1a82a33d60fef5614114cf7706f83c400d76c6cd54638ab546c4efcc83588c65874036a87c3e910ab2879f132b27027074faf301b67000288e508657d180eba729dfd8d68d9897c6a354d44c052551000e6625a87cd03e051fa01384fe68d11e5601b6a91339fbd488ce032c186fa0903c707c845369459ceade0a1f0b710ed4922929083aa895d4010e47f4a24740f039fe6e8d1964e636c80e8bc7f3688186ba15ed352b505149bfde2b0658c5b750604e75de015884d980db392f08eddce7ca968365a7a4875f8ef8a13a637cb2605cb30208a171082e98b1ecead7a0f49bb69ec4a8810518ec29e491a3acc868c057cf4def55b8cd91892239192edc6eb56a10bf34a8d421476bfb6442078101100cb07fccfd167975711e53a45f8d452c1b0ccb6e3de7d25b7996893638ee6bb01d208e2b3809db079130e03d5ac757de2a7df29d7230d82277878f00636524701a1f393f8b88d96aa32a3385c40896febfeb3bdd45cb27ba83a577b00fd052c07f4225da07d9ab70f6de2a57362452fe998c7f40b906a3158aae29e39f2916300c5c2e1367a84699bcac4cbf9d942ccebcb31d9f44897ebdb1888139f42ee56048ff3a1a4e00ae54ab165d25345c4e46b33ae86a301ad0b2eedad0e726bbf8c0030d1757dcadc6ed73334a119d6a295df6d880e733fe5357e52d0e214463ec202915167b0d3dd8622c6600336745791edb31916f9be2d8bdd856b845b38380c01b558f06fb3126a7747eb6a08dde44f317df379b952e5b411596b531ffb782c0652a4771c6e524e89e0577b647cb6e151d34995e8660c24eed21fa929f3d46501c9db1a905123d4ad22a3173f368bafffa1724fcb44522b82eab5a06d95cb34027321409751aa654801b0a6a17b31577fc78f0df92da314cceffccd3c59b3d70756dd8ee5b6f6ef39d4c58dad50af684b0bbb4bea4e949f37ab6e1775578dce05058459570fa9e72dfc87e47de81d2af167d06dc882e86e87f67f01da92e71007b76a2313ff90fa0ef2ce46dddfd156bccac588c42a20200b588732d70ffff50347d5fab4ff74597e3988a7e044ccbd6e717f4269725affa5b83509f7aebdea040c0142a5d9a87ef07e8dd58ebfc1f866d23efd4eb26573f2bb1c9a238c909400870c1eedbbbf54d022b4bf696b4ba5fb041f91e21a16fa7fe3b80cbb6163f002357fbccb8c950e250467c74dbb4da58f765330d7122e1c968aa3511f49a1fc032d40a2639dd01d89a9b7b8220af16e38a6f43e52752a60fc287feabb48923004c003cacc9a7415991b26dde3dd090f6b04ad74db371ad659239ddeec458cac03305d07c3693d91f3a829c3186a0166926089fee7145f3be86fb3ddebc2d27c02874aa6344ba79eca88875b56fc73dce235649dc2d157f826f46d036ac6e80800a03c9ab5651edabd2a935cd7946eb0bce9e00c5a1c277927195940bcd2b5e60273094f11ca9c2a25f4ea448e5e0c3637241e16bd641a06a5612190807301580007de578d5a59a8413513cbce808c29dd777d660269a627af3b72c47101452905b3f7818af1f7a390cc6605f38d463731ab4503821849c9a21565204787b5e700338c4d1ea40244b964c0f093558da7f92d23fa5e0c4efb847dfec08d084dff0263f4434376a52a56366f5e305b66f60f28984468371267bff054b45e35464806c016570ee689a044b1b14c1478090a7bf44f710ebf8338900228bae0e825b100f0cdd7bd0bc7d4afcf0010dc3328ca30083934208e1cb624fba896eac820950390138d7e99c5d02c042f8f7820c26ecad189420619a3e2560d95ac196ea233047e2320f7e76ffa1813057188968eef46630297c4331c5ba0f4daddc8015f650216ed7b9b378da81fdcb0458b82bfece8da94c9151246bb64beb47d87ad151f069fa654126e766e8fa32219763caeebc3d26dcab7f6e1878882f07074f501c5074bbaa05ef486523b285144523a9efceeb770a63befbce597ced959e62a409504a58ab34d04eba410c671a6b5fae1ea02750b2174bf19a67cccd2db167ef72106151aa8d24863c67fd9cd28d11524785aaa1bec17ad57c751473531bd92d85c0717ce46ad999a6171971d6d654d80aa84d3d969e3e3384024e2ec6e2dd97ad80441f7ab35b3653a80c940a82f2537450569b0ceeb8e65f1acb6e6b451a9978a022a3bacc387de55fbc0ce766e4fbd48d4e13d0e8e95e43983f412b20878d156001a098942cc77e0e92bc5902d0b8cad1b0ffd8429d133a59a4ad498d9558125064b6cf0527c3e8795a05079278df23616362c84087b7a917f2f737897fbf6ae00a9299ccf2720312b822dd6734ecca165ebd3259c9e74e7951074bec4ba38b7055ad7f2e633ef0de8b61f20072ce0c02d9b50ab1ff4b85300dbebfecd5b0c600665facf12836ff7d049db15ac570fc50d389472816539bf86cb32e92cc41b17014d4dbb5cec68cdff3325744b0354a1401ea01b000db30e1320b5c0face35c102a4748522cad0c165b4259ff1f4c6604438093509b2a204bda7827cad2e2c8900ef2908f9dba661709edda7a07bdfca3936d1c94517b915bf62d398ebcfa45e05bdee82deae072d6a1555a3678c8c0106ccfe7af7a7c45fa26da182e066fa1302b0d4972862ab812674a7781d88c9cf29d74a6c53fbb949f4289d29a7679417016e1d97df9931c57db452500cae4ba7390822d3ec529835f932d917deab420b07d08ab30d5aea461d78064512d2c4f8357ad857dcca79a7fe27f516f3d771b504113d297d828171e80e5e1e9baacb2f7ce06dd755d8e0b0b372f0eb948b7227077454a332c92b8f51d716b22478b189a41c8ea2c6891d43cbc678a40bf0b39904fb2f455ee7e2faa028d48853639ec194556e7226a91147f6fe34644d08880e010dc69dddc770b54ed2918877363137b6b39ce600284c1ebd97f180fd06939407920e1d1cc9103f97f2121fcc5c4c10231a4d69166797c7d19a7a27a2aa060103507e122ce0cfc85d7d362e4ee653f435cade7e5689fb60555a2118ff4acfad02290ef22f8b85336b85a36d77e042102ff7e381d0fa81c29ccc796a09c2baf302b6be87c3c873d4c217b798d1b25f6f93eac7537d0071fcc3c0bddf894b0e3a04e08c3f7fc56ad7c7a0b338e3e6544b2ce2f8d3505857298e875fe05ab0c99e0511b692bd4010588ecf6940553204267ce028bf48b983658e82da7d3e4f04f001008328e8bb24917333013093dca29912cb00471c6f7c5b6bb1aec4632e38c104b4ce0dffe840442b172af6592bafc9b3259df63d7ecb0317aeaa4ca8d7a3c103bbfdfa2258ee7f16dff575638c837ce42d997ce48f1ed4fa0552305c93ac32027bb310cd0c4dda8beb3d156f16225e1ea9efff76c0b29e1c433794e95e05e8033b0c3f7762ebdd97a59804c59b403d1d401a6525f8381db61d75944c0892a700154779456ee838af1d39a026271f49b1c14a7b9cdb3b3188ea2e44d34940e005a8038289a30d82e6917f2fb3066157a65ca43bfb4c1d0f46a1beb459377622005f7c0b7eedcc6309aaf04e730d04d462df5f7cfcc89affe3dcdcfa642e6e9c0181808cda311c53c3e3d44b15362b15cc1c286d78aa1f5bfb47b193240087e10253df570d1bfb58f31bea867a497d9e448e99b3f8b93437a0c9f1fb983648f101d8f88e77007173520d7156fa7ce415391fb7a9da654c3c5dc040c688067cd101cb6a5cf2497c9886ac22f9127134559b48a5dcd37217a937538a5b49af24680631d018a482a7f6ee6f458e11f4bf5097f623727469014a14157595daa37eb004d82b1a5ff4ec24b6df79efcadde5de680010c2043f1729ad35287510b3efdb05385c52e44520b5eaa11f60324d69a4a391b3986dc413cd74524d35799aa5eb0185d5620a3087fee8560c01b3e683e545aa6e1f92a3d46faa86f7324898ef86032ca49a28d10ed00adb92485cd4ecf22af6fa37d38a90fe817fd932083a548702085543424c2ea0731f70d4db5cb25aa069aab10d917530bc344fbb5cb1abca0353e479b45b7aee159e7ba3433e6b177353765066ffde71834058054e89978106992c3d3e3961842681491f696160aa34a25c5655f03d676b58ac980544342306580583450c2c13ceb18fbcafd537153ea629a94744fca5594a29a891e73109024939ce35f115ad3deb4ee7fe1767577ac10a61771097a4ad92cf3a6c27f10a060936d52a1f1fea2b432bfdfc2d7c720fea305f4c128618810d3091f4067e6302e7450198fb0a4093376688956a9dac0195e05365c3a1be4805f5bfc544cfc002efcd30d58f5818e45d5106e627042ecf9a8be12c80d5c318d88ae09d3a33e103d99f7566776e4e2049c9fe89ae86b34d2fdd8aa5cf591b190e057bbe57a9860446ec424909df9ebb29a68b1a4a666ba8e7a75ba8772ea0c40b60ffa6b5ba23042c1afb049794c7e429c2f572ecc6352faf082834e149e78cd058ee15168789049fed35c3067d86faaf91f0706737a111c8fd05a102e1b40ead1469d44f88e5003ad06d4b4b8c7d641c7029a0b606c2b277efa98004a40b7a988b96ab68b833056777b6b04418b703ea4514ca1c4e394b0739f6c9e9c2d4bd0cef83e854a5cc0179e5bf0a939ba4da63b8d9d5549cf1c2aedb6724c545586b02d6aa50ea7c17079d2fd09f1c4877f9c8148a17c08485e541e9a638d2b3e6f22e7a03b483e61d058a50ca12d6f730c407816d8696fffbbd4c4b298bb00ec339a04b15548ef6cb0252e26360daef23eab0b727259f99f05ec332524cea8f1b8514ff11f4dcbeae021c7c5088b848df193b72e1b4ade3b8b99dcdc6fd1808d1632b02cf9a61501105b37e2f16d1410d5a262f4bd2d75d431f8a9c6fde7e747e35dd404d27a7abc407c1fb7d3636836b3e2b9de0cc23a3b04b2b4bccd74ed0bc3ada04979e1c2286049deff47c743f99262940bbde3c69544ed4e03f5af7001b626e3cf2397f268305f11fa7377bc402f61aec8a48630ad67d03ee5488677e0bb7352854466b028b01b34de9d65b75ab4145f6b2056d50107753cacee200ae31bf362330dc426beb04b69049733c1532890f8af8d3cda1a0b30f994284afcd65b0956fce75453e0a040d722f91d5bb8c99ff1f52a3fc8cd9c35cc5a4641c18f457a8601a4318027604faddb4764d598de13be5e6ba43406ab0774ca2d8eaa43448be24ea174885d605c9cb6f3b97a8eeb9bbd87e36db1241f70021497c3adfe8c92ae8d39668eec907953f40f6b544f96884d516264cad9c75ff75b424c813dd038d5f1ebe9d18210732ae09b3b20013ccdd112fae0995d6d8d5253e12da2be6bc20599d6b69bdab06116cf4121c8f5752ebefe5bce8ed7fc991daf1625851becf203ec0557c725e01c77934ec3e3384c4655588f360c5a849f07169cc448ae5333fc346290773e6014b6253537f210d923f3f1b223d24991e7da74dd27fcdf53a1d3a77b5eadecc04936037c51d6ed2247ddc57b04c591214fe6a00ee09ba91eb000fbcd4be51d5052feeb0cfefbf744e92074c9ba5b3f6c5701063a7760621e3ac356710c043880445457c8fd04c259464197a8fc37d8c787296e9b9ba655779f1be30bba143630383240d762c9d6862bac1df5521ef6db067a3e872070547771cb2c8f3e2d451036fb087d9f8c512689bce55ed6aba827530631d1bae8e306a3854b85a24eaeb01743d7d79f26dee6d40ca2a168c5a033e5f3e2fd521fce4727f58092978422e0144bfe6b4cac23fa624bf447b294b67bb9540c73efac542c97e374ed02c822c050cecf2f420d086296e35dcc36a244f1b50c322981a870639e1cc4803eb2f9e03727a3e040a13624ad8ae334208c1521bc7f706b606ed36abcb935869e5cfa8039e1d1485ee0bddd3afe37b1ee56c482ae073f7dc2af1c226e43b6ecc43a25401f87f6a9b003d95f2d1e41e429a8a6062d3e3c91806ddafb2c55201be0a5b5801a62416e8650289dbe513a1b6a41aa5f5a0a75a411f7aab929d0e1b928d07f2071d3be89473e5dd5f7121b470fc18323f7bebcc692dcb3e769a67d6326fb61b04ee5e67e90a2ffdb00fece2aa94ed64411516762295bf0567bd589b635ede3100d7488c17d0b21f485f1426296c1ffa50992cb09ffbbdd9f152850cc2bdcf0a055ac8499e7ccdea536d687eb9a9388dcedbda2910a1edfa5a163751d6de5aaa046f1900635afcb360ae673a58d4041420f09d1870e31dd0378ec8664bf6adf40608ed5afd77d0cf6385bedb98ff4f8388a7764e2aee2393e779567e39ceb429061d218da0fda20dccdad5471c5727ef76034ebd1196d29913e3c8ee6d0f9918020f3adcc631b4771a6c72c52868e41d0d87378031cb4716c28b7d05d67caadf074adc024d79893186065ad38d952e35717bb02edb5afb2381a756f616fe85f3009e0725432e7a3ee962d268dd49d67a43750181afda6be0d70fa71138597f7a07223ec8d35268c9246d06262603c69eeb353bcac59f3d0b249a6fa71cc4e67f0063d45e18ec85b66caa26278227a45bb28b84c5438548540e5bb3b32d672f150552af61defa06516785dd751d2aa057815eb37a085fb32a2f1a9f4f013fccc50502c127b702ca92abfa6a5170952f4395dc04e6fb609542abaf471cc787dcd90174ec09cb0bdb1127a86819b53207423d35e0d4a0aa8b7a67023e2ff4a85af403ca70fcf9ab22f5877eac5873d87f43e2fafbab6262dabb9c940875ab59d41c00f536699c38b976f26f091e5a100ad01081cbb8c71660622140b603429db59c076e33b413c0a81c12b70d6cad33e33644e72b23ec051b2f9e22b5573f83526303e5b0c66e39ea8121a4c7c859e81edc6556cd6f50d4662dafe407114b871a6200536f12a92da52201adea89c98cb809cc1e73fe0bd87dea17327b88361beadb0414057991d6289d4d7ab202356c6dc60e1f68680279569545ecde8bc6e53e020112234bf6b27703c74485efa72e6a338d45da969c48a322e701fbf7f301a572066ffc6ba12a3b2e87f3d7df39d8e5be8f085fcae6e09247bc85a70c82bad0a400cf978558f274dae686931bbbe7c1da99cef696bc7ba995069979b525a9394601fb9f67eef9ebfa5f76c4219f49222957ab4b3213004dd56e94043cc0fd0d1d03c640acc209e343e19917693cecec2ba528befd1b95162f396fef76565d357a02d156b184352c2d0bc47e04934377087875670f8856e7e36efafd2b259b98fc07c51300cec1f222e8717ad18f12e70702a327e837925b8c6cbdcad0221c4921047a27b60022a1378abdf79f37e9913ea4cb07e6a2aa3a68c9f192b6a1d88f3f074ff2d29a4914cb816f3e92b091c9e7d1dbbe4d1f715b5bc585005e2a3bd81a03330310de3457d7e17b014510ff38e596462bb0d519d8b849483d4afd89fb0301aa839a86e0ffe40bd5fbb2ca5167180a7e8d9cc1513d97f7dfb37644d68cde06a823d6e23c4aab3e55067343d1da798a30121ad3b4a086776c446f9f7a34ef07fb159e47cb219fdfe713bae6d94487e89a1d58996c56987877fef112a6ee1703cfd20fc97356f00ae49acecd6eb5f889a40d32468341fb5f5ee8f918a421df04b867a3b17c815e1d5a41455cc291a8e9df8fb1ffc57c5319dd0e1ab4feee0701d04415b6b65d59249af60547f4b108da097ef1e374d069c96210a32ccc208e07d6c8c12c6bf01615a0309b76bac694304bef4605970c5132cfaffd29aa342e00e93699fa5ee463fae4398396838d5bd04e602a8256ffcd51d9f4883f8e244f03b9a1ca85da6c484b0f0bd34b1bc68e429bc542b0605eda384e97203c8d7a92027ca56a510ff927e4fcf5a3daf57e4e9a8efbadfb3fcc8c5bdd230a7db7ce81050052d1c53e3015756df3ee4f9fca3b2e52dcba9cb0a27b3c33130925136689075669651b42fbd1529bb0db3c0373861a843706c21aa11b952dbd0f180cc23c0435ecd061d412f47bcf207c25756f8454164715301cb5d6c777ec4dfc2f6e0f00a8af101345f9d7806734e4f8b88be9dc483ed1a0b973c62721014ca3fc9e6105b5b91ddb7b0d500fa9a825d95a2868315e53968758370dfc955c20fbb9f066039ae058cf204350dcf8fd4a507149ad3c9538a957571500cd98fce899521fa307bc610a5a6f8f6c5a008e82d94a2ef3619596844d935b7da16f66b0e541238c07ef745c093eb441a384c3bd20fbabd09d58a0f4b2645e2921007ae3d0b9a1c704ae490557c3130fa09b0bcb10effc50ee198d0eb0f3e7681e729ed677fa665d016d6edeb1311a0ba5cb475f544e73031f2361bf9136f03f596f549e0b008b8d018000647203019ef48b6996efd80cfcd692c05fe2d7999c1e38f664bb2f242406748067d90fee250d642a578889efb9acae20b70bb735d3dde1bea8a3c1f679001d06bc88855a4395111402445b170210789694b3d8713ab63105154efb972e01b7c9ed86d049a852db592b6aaee135b3efc73f59ad87ee945598e89a16f7cb07f173f2a49816e38fb2864e85134af3becf13b3397d9e045941ac81b237b29d02ec996cb9a4e13b088aeb17df4bfdd302d1fdf1c30ff76044ac53d378242b83001021709db95d5d1c75113288bbeee973d8344b76395186366b00eef740369007f8d7c9fed02f36d10792be7d418f0f94dd810b4519728c6d03ff9a82925bcd07ddeea24ac4cb9b0ab4398bccf89b30b0d6e71d40d41312fb687c56f1ae04c603b1c602a71ec269c299abfcba0c57a7cf9d5422b4b015ded6074e0bfe7beb110321817edb724f68823d9fd585fda3023d7bf1a84fbcd52e2025b80a4a3b3a2c046744a3ed6eae713111d14c09f3dba2488f1da42dda2151211705f6779a5d74025efd9aaa76306fc161728eda71d0b1c7cf4785a04e30e174ffe5b520a1fe6d03d5305952e11656e57c8e897cdba68b4daf198f3274a41cc9126669a0f750b8014ce8d5294026d52974b86f663304122183bac51697ac83c617404dff83123b033619fdf0f21b17c69548effc99df2366eaca7487411139128bd1f07f34478700c33cb5661b6837585ea8b2c1671184c4f26716e5dfd81d30ec85a89b776ba40614e8de009dfb428ad2a01a277069cab687a733e825272c16de2efea6536601012adc221701cf4e4ccc97007c7079b92c99bf682e5a6f22bca007b71430d91104a61f669304b2fd2c8f3a9eb778982dbdbcd55079a4ef9ed1e7cae50295be85045103d4766f13f18e1be08d4bce12eb6922b9d62655416953fc561d977e2a5501cfb7578038454046a8bf5f6f5a0522b56d25ab0edf207b3abfdf90bfc927220223115fa65cfa8df6de9d0c406386b4da454b96b35c5514b8737fdae5c0719601e30890cc8614773e35d14f3418e742661d8a550d301324de325ff4abc06d1d00d97b10749475a74ff39bb57eb815b7e198256648c7fd6329271717d3f93c300709d6591660c3c4a313f6f3ad0be79975c59dcfef11ed0f067b62954644e1040266a5fed5a735a0a2f04bdd50c71c7f319002e71bf630a0686b4c410f41b7ab026600f1617b9878cad110a345c6011e3b692005acf962a27334a6090d7ef82a073f2a13b7515a1b9b7652ce52d9233f15fd2d4ac555d1c9d58a6c123088d07f062681954a5c0676f175eab56c5c48a91d320cd5432a7a8356c40077f5e59fa2052f62a2e3bf1acbf81629ded5a9d2c2e99733337bdb3ed2b39772dd4613eccf07c0092a5544f517be54285673718d6f32c18ea52be2dee11751766786cbf626065b21233a1ca18fffe4e80d3ec7caeb1195a5e6e9dab678c69eb3797c8386aa01a8e312ab1188a718a0a008cb7003e8afbfbe7c9d7fd44edc1dda41d9df8faf02355979d51a23311fa4462a000f04565603f5041739b3c9f64740bc4f9941650018778a1325d42e7e90da79568d1ad784e7c96e8e8cf2096d01d2cf1be0a8910059a2098e93b98980db7d4566cce9116cc26a607b53205d110d886be2412f1200bad29a00e0be310fff74dac9f674b3a51f9dbdf61177a5c6b819f002819a21054e9504faf7351c8d7ed7377dcfd323dec2bf041ced844f6030f8638643b3cb01abe704e91fbe21772b8a3ce120682763de0664e98e233a35a2b6030603ee8f03e8867e8050e71bd7815c9694b892a0cc896df21b1fe3ce62480bb594006553042333d580af6e4e86be0fc9ddb4ee21d39e456fefe972475c0fd16bb8cc2e6300d401fe116eea5b1eccb131492d3be3f47f069e4875572356470886c86d24ce060c1d7b293204909c7917b7b500eb715db5730dd8f2355a34087ad5be4b04ae026ed5cd839170c1a901f5ec35d1fe1d3fc6409fc565b93f26a753887f386fbb07982c65e935bd5ef68eb2d50e7f410639bf2762f6dd622e090d3c35ff6c36ba011828d2e3565e729664760e0e0036b2470699fe419ebb997ab6b3166ea7ea8b0795c0e1ebd2408d002aee08b5c491c58c916da75fb89784c38fd23d7e3761a70225a00c5e6c769a685852cc37f9f9709d78b427e6c05e5be439fe18b386dfa5010c5043d5f973f28d6c4ea5f4fcff06fbe67d34df5e6c1451ccf142569c2123051fa57013b96c37e3e6ac56e7f543f63e05ece75f8183dda6774a2ea34945b905b163132e19038f4b89c53b7c59bf6695a9c23fdcc3b938b60e7986cd59fc3a0161e22783ae8d5edc2fcfd5b3a5e11491581ca3176552a217e0b62f8c297fb007e49d179bd460900c6e2e8c4913d9bfadac9b18249bf182efeb2174afe76c00000000000000000000000000000000000000000000000000000000003cfefa4100799116ffa2b325319ee7a707e6ae0cc5c8cc37e21fc6acc624da029a0219fa0159b2dd7e8e7894a70c4362bd9db1aeacd856b23a66cbf14534b20d012d5fe702840eb1a1b6d03c7e4ec7e4d936e820d0746d3ecd9bbf5e10e39a76fd8d415f0463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000072b4d08dc05bb72a53aa1c92a24037a9e09da2ee1a08553ee42c62cd67abbbd021e1871309ef1db8ad27b91bde7f7675e6a3639c69812d6dbb33b08bc3c00630625b6bfc8c96b352900e1a18aa3fb91cd291e22b8bc2d8c56e7db468c6cd59f03354ad53637579e4b4e11479b81a0e96e22da36e55f26e888f66b99a1e5fdde06e8eef00c5822089f76b55bd4bb6f20e8c358f5f97cd82a70fd72a63312c8bb07a9a1c2a6b46f3e880abda0ac5b673b5e6d98df7113a49b971f995b4207d9c00361326ca4a5cf48ae83c767294e4e6c0b638edb7f80820c6562d1a345efb21607f69343f4180ea559543d571d31524bdee93f05038a6794f0c588b4ab1ae6780463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c9580b69cc86224d4cd9e14da8d7eeecba960c0911090c702a8c55fcace8250790350e0d1dc3055c420cd72b888a8d1abf439758006d0f25feeaa19efc437901651e46220faae9c7f2bddb1ca2b86f0b60142e41d02a3646c2329aebc4d1980666e03ac31f49fa353ae07b80036717e2ec6084271674f2c455bf2020ea152a00ca020eada1cb38ecd4b567b11e74db07018f5d3d008a07e15c304d1839aa30065c1e3ff6b99f6967b481d0a35da9a32b3354aee4cbb2e61a902aff30f1445e063d3188691bab8791d017165c79712292ebfb7cf7f96321fca548cf65fdaf7f0602b446bf97e7a75cadf30ab381424691b38258baea90677e628e499b1ef4630463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c67412f68cd1121dd0a9323d647bf6b94dfdd955d0c39e3d426f23a1f238607bd84a670585e25a01085f6bfba172e27666bbb34348a5e5a7cdbf23a6a53a702239eef08ec5b2cdac9873ac2c2966bea49921140d161121b4ced2c28aa09f504e5e13b95974f944f19c21eb04489462804dd56a1fa8c5ce60e0286d91762b304b3268e20c71225204718afb60e18e85eaa70af71322ce4d3972dc303eeb1f304f7b431e15ba0ab23844d7cd9025b5e684f36695cb17edc77cf3e3dbfb640c1059dfa4c301e62cd756bcedb6a3b4443bf3ba144629f9d0e250b9cbb001e65de0551dfa80f3d3b67f647f2dac2fb0ca5576248adc7416ca61daa4a707baff6d20463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042b16aa7bc8ec1c105f6f789897a10a2437ccb7ac0e67e6969d99113e95b0307ba999f57482faffc00da2e131dee544a7344954ce6c1c29d26c1f4317e37b500b8e3a5bb5f328e82a29f93b3d201bcb0507814e07cee0e20a922b8320ca3ce0283015d75d04bf7e3e715a85a2fcc34018e46e1c9cdf08fecab9fc7b639856a010ee877b17af7b18a1762030720c4fd1d2f6543bce69b657fc635c91a3d27d6031e0ab28faec0d5e7889219369a0cea1b2438d7f2488d045a8c4d84f1c351dc0337283cf10682cb91f86776eedbd7a4b9a3e5ef9fd3c4cf2e4cb62748add4120340bd9486bc2b3f462d5cacd52335cf8fc2ddec2a04c763cd151979a093f5970463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042feb49c127637cfcafc38fbb806192d2581eb355b46e94c3c9e83b84e5ac420302914bf5284b3587987cde71ab8e28d44798431faeb15e8a6fe6e376866e9f061525041adaf28ee87a3680c08e4cc03d483eb4aaea4198f1e53f2ea41460eb02370324b4fb45294b7eb7fe8bf8aebbc059feea52211d7437e0a3780ea4e25104e38e19278f289742acd5c812a914ad8681612992fa01a04e3bea884ea43ade01ec43e820135bb65dcedc40390862d430f69709ecab5447dbcbc996a78965be0755b20373f31546b78cf60ad2e7c796a80f59f70ecd2760363257b2619ad74b04a4039c4b595f834375cc8cac3d6069056f30cfd6ed2e427837da9be5a5acf60463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000107ec91e48520d99507d25b9768191609d242eabd4c16ce45972e97730d0e940767ca89e838a3ab74226b2f79cb37dd0dc9122ef77e4e88e35b977d2e845b9602accf134fe25a1a623c18e2ed9f5137c9183428c41a046a21c5064f6eb52782022dcb29f962194096b34d994fbb2bad87b3cfa1ac619b576f777c74ff5f89f207943f2f779103348a583521a5079e10616fe9e382d0df88b08aa22f8fa2199d069795eb71c17ecf37c9de45e43c65618a07b237e6a0b53fac635cb2064685a304dfea5787ea9f353c0538855bcf3387c02ee038d93f5c91f1d67d5ce1f1bce50268ee97846b516e513d7826538118398dfa9e360018bfe8179236dc6e51142b0463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ebe8d1dec58774483c1cf2096c83eaafda606abf3dca3dbade2d808f2129e806c9501be0705b3383f2386fe873d51699f3b7c9b3100f4bf8da363b9fbffbcf071a19c2c4e26cfb2f89f672501190bc33a342e3a27458a82b5c6a43ba64fe8205d112b8e5489d5db36c5dbb8b73b37e889c78bef9094ba639da2be3e010d8f802c7b3af26a2eff4fbacad3e2350d8cb51c0e69f922de39bfd342b795e2e4b9901942ebf98e0f53637ead1350b3e1e3d0bf924c5ac24c68f37f9f627adf8134806b8465a40a371c06a648b082256604e63aa7f43d8a0d7d48b53c51801f983f900d3b01ac85db09796a89a39a6d5fe57c4b0e24671a620425a04f293269809e00463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000623d8d1d97cace896bae2c297f744a0b978d3780f0a71c8ec83ce092a93d7a20702b773874e75914969a058ddb3b5bbc8540d0c80ca9b5b92c9f990446b1c40032030945eeee78b84eb7429807090de882a12404d608991ecec634996034298018735df08690d7232b86125349b771e194d3fbd348e67c120f18d9cff1a9c5c057d738f3352d3449270a3423f8c326879cef1c5a104340b1fbca2b17ebfca6100276f6a92c0a7a6e90c32e9e9ed5d921c36eccfb73a240b7945016c49ffb4ab024d1078251a9d86de20ee6fa7b1fd51d04038c93af6ae230531058cc01feb3c01441752e72ff180730fc286b72a171a53c4a92203eacc43e9d469305ca268c70463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289906befc4395ca277f8613796f7d33e70a047dcbbd2e9f9b7e640ced7b00506edac301d283c5e6a59cbb68ebeaa2603d62ee978fe879cbe317914d68f71b60116d38dea4e88985e93b2e8c56b5203fda528d15e09c5b814dcf3ef3725ac0a069e8723dfd44d993aaa3f7fe858250b4d29885ad0dbd78daf7f5b65bea6693604782b120010c4d768891a60bd2a4b714bb47a17664eea63fddf0a970a141f5706bc4793ff4824bd8cca380fd1b14a1f6664e29b869dcfd54ed7d4d61f29953e064c8321143d26dbeb1d5fb199f2f00b0366b1b556aaeb72315fd69c9ea331bb00e52f37101951c8b5651380927eaf3101b7b24e0eaaedbfa5ddb449f381db9a0463d1e72d2ebf3416c727d5f24b5dc16b69f758cd49de911ad69b41a9ba0b3a01211aac6ce572de4298f85b038ef6a8aeae324054290152c5c9927f66d85eeb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ee4d2a1b17c789ed8fb1a27137ac675c876988cb20a8c64053f0a67a4c72e60682056bba8edb425426ba9161a4010bcf1d51cd7d2f8000608f7bd3318c050807ee9cc03b53093587f40a7eb9647e96d8d1870f662917c073c4b1eb9536697a05b130084871ca86fdba4c56adccf5b603033f8fda7a09d86c06a914517eb68802a90af9400d3e461a5f4d57022323007bc2de27ef513b2efaaeb010fcbda8310162cc701f2d23284c6f8da620d0ef02c28e385c69dbda9737e676b740bafe6f0214b6130e6e9d4f9b28809b44ec27e655897c70ab80b8fca78dbb7dd7775576016068e3cb9a1f05cc56fec64e11574432f0881e4c6ec74970245425fb3cca620169d682429d14f860fe5ea5035f44463559c79673ebad9f3cf86bb38d7a8af102d949d3221c68a2b9c22a5217c12e5020a906bf045c8f11736556e689a56ebe07798e678fcdde20d744b2e807f8e4289dcc6606ceeb3413730596a29c892bca030913ef9db6fb2b644e2b916c41e11e3e786be1f2df59e871548a766d0d83f4011cad3baf7796e650146d2313e9192664195996bb37d6888f0c42d197dd19e7057d1d5c78bd185f14d28268722adb176c64aca3175278282c7a8a635b0f9fd2064c7ea6331b65f6bdede70aab3107ed158b4ae05c9da1d9ba455441d969e40d0503cd2c945cc370f9bfefbf0c640c6f69500250d78fc1b618b6f661f4dbc8e703e587ed22ba6a46086bee43de941e95c5f6d9e381c85ec5309b3111f37c823602e3884bb7ac68adb4ede4a3ba20783895c7bc047c18fc871c542147c652084a07f9979ad9652f640d4e208360857278af541c255540dd67c707bcdee14790da0472c95adf7c6c22ea093bb8bddbfb3e1823c41899790843c274c28fc9c02dee009101d1b35cc31f668bbc842d5c0c97885a353413da48f46216b1509a5befd004316b020f6ed8c77b48fe195df5ff7eec35796c9cf4f126400e25bed6ea12e60086a189cea73a9ab3f8b1b40377e86444581f87df7a117b03751cb13f1c9aee05059393f7e88e02555aec7d6a561cd5decdf40752ce21f35660e46c51f5cd0803186f5f153f7da4dce13afbefa016a96640ecabd5c490822b2dec8e8424b12d00fb40ed2535c800f723f695559dba93e8187fd5dd7298fc8a7565cffba5b3370361637e8d52f92f10efc85c73810d1146cfc23232facde782c14c1bebe13e45014b05bea95da27ce0909b9405266554f52cdebfd6018126cbbf923273d6270f045582f73a262155c7942aac4a8daaf313ff1bec2eb2c9d5926313385c7dc50206792a919aa12505f51b67a359b96747f827ca97c532f378b7f7eaa84f549b3602f61ad8733b9653d7476aae5769e09077bc0b78c77b8ca61108122f4e09b67504bcba6f87c2a2b765e1923a2c25b862d9582413b0e3c82098db0c66b842751907688b56ad9bedec0a36e553d0c1f28fa80d737da6daa4631be9421b0beb087707301ceb9e8d064c9a1b9d3f7b7e803bed97180ad20b7733d64205880fd2526a017d50383d21dcc2f7f08dcec041188f63e50d40197525ad588a4a9ee1cb60e704802fc21f90756fd63c3269163c272a1d839bb43cd95607e5bd281c2475e9f306cbd5b5fd91ed69e152ef9da4a11515195637327efd1f4a785747db1a18c007070573ac257385538db27662a87e517a573aeba78af1f8d30107291ccc0c5cbd065ef453328083b37b7ee774c30a774daafc3fbd065efebb2141eb2679baec3b05df1d10fe937e036a86d54d3b28657827df45f861b2369a7ba9a5a244e35fbf03631428f2682366052335b6a830e772685034ab34d1560e395bece8f620b9c703f3836fe1a9594e9d906d9ea9061c14f132e92248ad8ee4d41bf44e6127e1dc0518230325ec431c14c544c51852198f6cfa167f29e18519f5ca13a6178963b10356a0dab5ab4b79fd16017018f6438717be05e5c0d274009a877aab362d418b03138de0eac69f6f1297cfdc7d77aec7c25e94aff31d84938139b7f163d626d803b8a4670045410caa56ac6b662f8d60855fb45089d474a4f6b818b7dea73eac009a01cc72e7762baea28c16d493b445040b11969a3e839a0820deecf33599ec058c3ec060efbe235d4a310d4a777a2bb56ba209eca556c907ea598a7cc0d7600619a557a161d37847f07b227900da0b7291d5f6eba46adf1438af5aa4f9d43400c1885882cf2229d18ba58f227e6063c26b54f9ecada3c73d6e8ae7d62296f806028be3593c76d3ae9d4f95e1047cbafc6e7693249f507931c3965b0ea5eb53030250f3b24b82a8a41788d30264d2d35f99e177fa7ba229ee8f667ad70da18406661609cbba6a71752ec2bbb37d1e9275d6d088816c7c87729408d7da066b4b05743e576de469cc3ea81aa1146fc17a6dfb7755420cd91a84791cfc27496ebe065959a0ddf253588f700b56f4950f68709d7e8676ae37189d69a2a716bcba6c06607f49c378a34fcc75f0d7bfdc1addb1f5ec61f9e4e17c22bad7eb71d515ce058e7ab7910149af8f937c250e04ddaeaf1a87975b0c06fa611be0c2cd222b4e008d838c0420c049a98fba611a22c4b76ef5bfe1e11b7f1639884c94483b008200cf41a4984be5f3c11fd1bfb6315dea0345c388d861eed5c601023d82a0d6bf01245a0614e38c9d1e804e3ded33cadb7ca4ab04576bb76f37920b140b9d377702cca99471b23500273d55234822dd0da15fcc1c6f443e411ae1c5984cb9043802eb73c2297732a49c92c3f88b5a4a7589993ff411c49cb63de026461cb2329306515654e42bd4b876329eefa9a46809681bf3e6932d6f69e035dbf0890dcdd8018015bb3f11ef777c5db5579674467ba6c6c01a3c0271799ce6f29de707bb7c03cab2cb01d816c2169e152e73a78cb09f5db00330ad8358172e946f455b26c9042093d837dacd0ea133aaa853b542ec1dd5c2678b064db86ef046cdcee7c81b0307674d674299b60da9de62a89ac6a57d37a717d74d0f968445635c5de725ee06da3f6c7c587724314a1565269708dd5fd572402d0fdde3da6bc97a9dbbaa51018b60d432ac19ace52bf162b8b77818bb2a3491ed007ad243fc7bd432ce97c100ddd0603313401face484f247607b3e8987078089df1dad8141a0cfcf5479c6033fdfe68b3a7dd4faff43c23b0de421039cc15c88fdf2415e4f41dd8e9bc7e7058d24bbd6c4da9ddb4075a3435001a0daeb10605654d62bcba66eb24546b6bb00e6ba16992502fff6d40fa49d7f22cbe35c570cb3e37f97f3ae41a22c257c00073f41db51fb8981a34555b4efe095412c2fc84a33a9190e2b14ca928ef9e60b06e71be44b9e39bf30da75f198ea265426727cc3f083af3881bf330555316d0f07554fe695dde1b806607cf08d97244f3a3982cda7b8e14b23630ec2d0ce21a3023936117e1ef64c81b0efa0203bbe3dd9c6826a79df44bd8abd29bac125780105fa63e44a8398fd50638d4d4ef5e723c492b26daa29ced0fd5010bf88dc28890765002140a77ff219bfc0fd18b1d03654628b9da321f34c7e28511de9efadb801cd73072652738245aeb8f39f23ba47a3008bc0c1c37df4e005961bd3e2bcaf07344a2d18b9d88382a8f3e28c5b83082e2a60b802d76a8e1b7ecec68500a866063cd692e79b4a581e41bdc553be7e7344b6797aa269a9f3ce9db928176c691a017f20f107a4b70b9626087023267fef7928fa55f32b1e1c799f3ecfa989791a073e31804aac2daa44b6329ededbbbd3b178514915cb58b61a29171d42f087bf014104085178b338b7cdfd3d76ddef07b78b37f092f15cb854847d541c2ad02f07f5c12b3bb70650672ad0ce30f2d432eab217b82731e611c1075ced45cabdc704deb99ca6196357202aa700a79736b4477bef4f914701864508141f329e08960693e9ee6eb106a2f6f46a03e1d1a6e68444065ef83320cccec70672453833b8002d07f8fbc367f807da1fe01596f50b3ec468cc79b200bd2fdc9701a69a9a0d01259cf6e8a60e680507a70d7f21f96de47eb277fb4d5190018a485e81ea8e89049b5c8854151e603dbd9ef8dc0d22c7be98f204a044ea64f2b7039537c25223002969397112a44f14ab7548770810fda697ebb29d973cd5d94c444fe2ad49350756787d7a449078c767401c7b179c778a0fb00918acad89820cb131d5d6452e03710a57614ccc4b41f48461e7dc8a8dca3793d3db461500a7ac8445e0ff6d4f0098b19814af02179c833fbe0be6b1701d7a6c4000196e602b8352686592446207fcd353404e53f6fa323804720282a224e56b61d75385893eb6c0c31def5e5702b2eb7536f6969cbbfb0cae4e4576b01f612c59ce3180e47319624712cc9f5503e6a24de67a3f62bd692c826f867981b3d98aafb687d37577836dda352e0b0900a82a76c3098fcc98ada54b06308247cbac2d036f6ba605e3051cc36bbf2805071d01d77371a25c2361a62a00cc07f4de66f94b57b9926b855bffce767e40bb0384fd5ca2e471f12ce4610d04bda3c55844977b211b3924ffac3fa036dd53e303c628bb4a894d01d3ebdd81aa76360d6d1ef561cd2b8e36cfed22b3483b9ec30323039de1f40abe696d02a2bdcdbfd35bc9b7f5ad2d83a71160c966daa5f6aa005501e81e3af164f51945b40869c1e962be799aa4a453788b191da66a3606b607edc7f9565d7617b83fa10ed9fc4eb6b744d0ca80e72c79ba818766726e54f404f10bebabad052c17005fe34ee5474dbaf3843d99b758b17893d378822011b3019ce7d1c5a791e2e62897ec240b6a70aa23b18fad73f94fe6c5cb64ecea8b820663b9744c1808ad821fdd943f00f30f239e92ca7aac929e3818641f890f4280051c70d3e65c326006811a7ab56f9ab9e97a8df2f652cf8a59e3249ce590806d048478997a0bce5b213749a819681a156b339a8b65a34c5033fbaef5041c7f32061cb5796046cff001a48f9017a629734d5d9d21952448c80b717c5848bd80cf07c2825e29897820aed61d5c069f9adb8b3703c855877844be0a09f319319eb00390811e764cfd6c64d0263704c720482d2c2a1c3d4da14c9f6f6ef92858915106e43753b877ba7c167847f7439822d65f5d6c2d8c58fc393d3a585def506b8c020f3154360499fffd6967740f3223e3e338dbcc9efd2d9e627c062a68d361e7049b58fb0e8ceacd163098e53706b5886f39cdaf15283c06a66153e8194a7a850791dee999f90235339480a75264d05efb66e324e884ef654a4a7d8a2d1f03eb07486e8ebf1afb2bc4ed204eaebd1e866efdfb0e44a3ee0f3d039b215fdee869041d90c3f338c1db13355584ff20c29c7d377bf76d095883375b5533cf0482ce01cb9187e9eeb2edf5f7b4edb1a63ef9ba7ed7b89a14d9a61acbafc07328e9680190c78ecd427096b878822b07dc442c8bff2c5cd8ab694b947f13e58fda804e07496a36a094f2456baa0c7ce1989c9540b13e026215d5648f469cfee39aae4b05c2ca8b7aac4253a97cc58cb19c892e2d5c5b0ac32afe8d6a9aa44baaa9411206dddb4e73c8dafc04550be6f8b062727d1f7416bbcd5e198c03c7f0cedcbbb203f9fa92dd7c0a787ecaab81467d22c7129506548a6250fe9c6e5e22517af96200365df0f25be16864f58883ad4665a4f1805ceac8f76c36481a1a3c021b47ae01ef01a33979877cc192b63f7eace01d665fe6b80aaa4c95021e418e56651f9301ca25cd6f10ee80b58c8c5e0e7a73d96eb11fef8f2498effe0664be6d5ebebd030338b3e1ae53803c7db3361025b310fa524678489cfc540c253a8d9824266701ba0ea4587b779040a707acfa4beb2048e2d5ad4646f67eea352228023aac34039f26a331e671ffcfd32c316bf91445373ba519954a088dc87a353ed916510f004e80579b1ffbdf9a92b8661e1633bb1bc7a181edcbb67c49b074505b43c3140281867f5c719b6f603d3fa555d4e15433c5080da9514368fc47a8cfa5cf88d403d94232c31766395684d47eb8c1af46b70408a285a586c2befe243959b41b20022a5f1d8bb7b5df6f133dc3b611ea42186110eef032ea1188af41bd1091026001398e89b4cc35ebe313fff7f2df3bfc28a9aa2e61e5e9f1982bc17d0e35a5040264c9ce3c612e50fbb9e3facc4e6e79c982e0aa4d42942bc097bb3ae720426303ec6bd08f2b438cf7665b14cae9655d8560b24357fd56717c4ac5bceb8732c407b34a3c6c76559e3050c59f44f9cb729e3bc646ebff4b7c9e4d23067d57b41a04cb9f8d2db4ed354eb25059bc68319676b2528f2a7b5fba8a580c583ccfb391053f025afce6e464366b9e12cf3ef054a88d8c8c0e2f53e7c0c974467938e9e201e80feab8ba10c86db4cedd938a55482b8267ce06d58c60696b9d1ebe4794b900efa1655f284b5045e87b7f49b5b8daf67b061a2dd30da6d0b32d26e67dba91028c0ddf496b5b8b7d7b7ba2e57d8b1ceda21651c253fc9d34fe425545196cce074ce25a5572ba27a3d6c479fed1e659f006ef70f72cd99c39ee0092b0ff71e207e7c909d667a377765f1dcdc948a991b1caa8f1de436c9641b0e5b2bbfadb2e0353ad7daea2746b38e118ea715cbe5063f8b8e47fc840586ffe54cb017d699305ae3cf15b7f3a0dccc9cdead5848e36dff95f16f46dbeac09a31cef9a66d4e906bbf2cea75cdafca4f4a6167c8813777648fe2dae303bcc88a56bbbd453b5c20095d996e899f497c07d10dbf03cb7bc0b118774307e52e0f3c70e6f2426b18707330a8f8faf20a0f794466f738bb88a9590442b172dd74a1f8e70d5f83b89bb024c1ae1932cfb18b3ed60386b912e932a01b39fac1d2ffdbe1c1033d66306cf050f5e0bc9e75aff220e60b5a645cd43aca9e31f7c91ab757c44e7348366753205c426e4b8234bbd36da2d4c349206d9c5fd68b47b487e057ff0216f6e17dd6104d6f76479024c065e6859ba154c8ebffa238982c6b7f61b255bb68b206798a1029d3cdc76ad009a5b9e39bfeec74a8ddedcc9d2f7d6cb3d4cb77634923c62b9061857cea2ddb40a78dd5f1f4c2aa784f3df6fff05342c25587f8928e7c04dd8015cb54fc2894ff1db75fd70c7821742b7f835e329f4f73f21e02690766917f403a4c0922fcf07e27775cecb5fb85e766498415479d6a5755dcd87c2069f8ce00033c60576acf65875ccef4539dd8d1120cef88d14b65a0aa2dc1c6c6bfcc64a07b225f00f476dba73de5bf9b459fb4d2dcca78795d6ab4c13f47ece2ca269a704a9c719a8f334c39c24b5cbdce9979326ed3489f14aa5bfbd760d4645574720073493a8a42cfecf409adc4ae1409e9a6e27f0c7dd623c4c16f7d8d0ca781c1a0764cd7e52cfab7b86ae2112e4ffa0672ad7f8a82d29d2cc2106bb523b01b615007aa02ca995fa72c1bc84b04a0a1ce273ecd30e64ec3c04a3c9f2179f72f2080789c59ae6cf492b4da04ef825215274082c3c99559ba95a76d31a62465582fb06649cfe74ed800b145b4dd4a01111e2ff8c4f554600c7e2991edb5d2d00038206448ee11aecbb220b54c225ed6a5679df8f4733c2163fc49d47ad9092f5d680031fc82a970483750f289500beca070c69c1d84a87b82e4d7b76efaa341345ae00fd7c69c7b888879e0f4b14249cb3b6553371cf5aec45ad9277c059ec5dd81b0732cbad0abd7f9d2066c70a7f4109b773e1594441e15d0ce84b44b4ca7e9b9c05543d530faec44470bbee8eae9be4fa14b91eb720e4216c6f9aa349eee511c60493edb7fa27ec6a0b08877c1d08c8430eda1ade0ff302753f44a7e57cefa5c204c05be504c880bd88a90b4ff593556b6ec42966b1f624089e7e471dfcc24abc01d3d6f5c6bcea3322725d1f4cb6c7186ec175b41b6a7dfceb110630bd03757d045fe94cd88a4f7dc22d15d63d8172284d6047998d6c2a2c0fbae21bf20988e103f2c5df5607a013c86ade394d8bbc967a04c5e795b61224c1da8f58da4eb68306c5c60157b00053bf495fa9c7419765f4e5436af79fe7b833c2f98a04eecae8005d2039b675d22a32c7aec9e70ae4d155ac3613ae36c75f03bb0e7f904b4b1b028c4f082b2fd5a0e5ed0a23aa8c1b975b12c3b015e7e4ef9189f0f177014b5902e8add5fbff4ba4ea039cf8861b20e73b654d74a1c91de245d83fd8a3c856f605aff03d708e22813cd2e3381b629e4d4944cd3e981509b987a8accafecbb8ac0039e9d3029f3a6bcd78179407746a7404b581496e01fc6454f1e8107d393eb9069c73f9390b5bad300dccd2aa6979423583fc38eaaef870bb9db1b678f7ccb902b1ae19f257f453d1893792e2b5f843491746a8d48935e457efe699cd2c51d2077902b5b84676a836dfcd74be47126ff3f6d98178cfcef42cb2d94a8f0be78e07d75f97c4b338e9458aeaa7bed9cfbd22abf91a27d3f4f9e08595e781b7d96d02adc2a41da91b023ead32807e2c567cea861dcf0a1e3eaaaff2784ebeca9943002975e4eb274dbf3f50439403d94f393f4797d437e68eb61fbf87597104dd960387a4b446c4add92aece40f44827891425e3ea693ec6d05dc541499e6c58ee006f1c9ce6cc87bc3b57d7479f9ebb9acdce32cb37c843aea80524dd91eae7fb4010c64350da00b5d18c9fae38b3c66963204e837fa9a8123c2d11b2dfd3f145f054e46f7517c85d37b90fdbe5756272d8c7977984029034ac73c44fd5d782bec07093e3b5d58c095b4baebd0851e3b57b123e6b9c655823394eccf4222097ebb0539d734ed04251ec20fd53a64193c90d165c3a2412e2a8fc38bd0689f5650db008874d376e71d5196407ceaedbaf6a2f02bdf9dfca8cfc8f0e6c44c1decf016023087cefc2ce91e323cc327f70ab71de745e73db8d7515e5cebcf20047a428c06b3e963c7974dbb2457345276e49d1edb1c496a7716fa9fb3330c74a3ad87d70728bdfcddedf2598a4ab6d4e24862fd49c4fc21983b21dc19fcebd2ca03aaf3064b505b73e430224703397283cfee0e0ee25a63edae4bec12b1e1506c95d145009286835ba614deb5c04f7e3d76e9a36c7c08c1818b85061973e5b47248eb3e01a8c2c132d46893be8b71e5dae6487696c2e3a7c7989471d1da7f5c42836a3a0177e7a86bc833f3bac1c9f7e5b956fddecd0d63cc5d0592f9b020b3c2a6f22705fd81e00a98b58bc9e81a640d312073e16dcaf8191120c5950da3599782a74607b08fa8e6a8f72c2e9b960be49b5295a0b4b75ee612c0ffde3d73a427b5ac77073c76d8aecb868171d6d61674f78d06c4d068a109e3435cd6264bf04402f8a000aaa3da1a90adf6ca6ad993f8b4b30f16ba847f38f4c27ab33d3dd715f8961b0646b31edcb6b02f72ef4582dac48d0335a0a1e8fb85c0880a50e53b6ad73ba60316c1f84452456e862a2b01ccb874a37340f8b8b3dd8093b6b4f28884d604d7057ecd12cc45ce73b6a8a0043ac9e7dbf1b7209b53cc25e39f973dda687b6868040f3d78be9f50813d9d8f4f85be50ec4feaf87bf4c520655892ee654b7c8b4d03a1241fbe86bb04291e7b0225ad0acbe7e263de18fd4bd8cd05daaeb6bc88f907e7f2d30dd5d89a35d6d4dbca45e54861f427a5a215c5da5d1988c79586eefe033451f007a6127d3b27f882e0c054eb056d5f078103bf0baf7ccdf9e08be7e704a18370f5f0d9781ef9752699de17b3fd2b361080296dd2817f4a9a190e495500875a90d5fe4927537a65e44951e1ecfb00f7e249a0509b96c4ef11d412088f06c46db473fdc375023315a6207e63906bcc0aa87271eaf9b14ec47f8b18f9150016781eada033c5b6dafb692685bc90cc33c594cfbfc5f49b962d67dd9dd8fc0440ca051b7b0e571c0fa8bfec03e7c61c46bf5607440929fc1538ac2dfaf8e903c19411ce70875d22287f701b91097e5969812d18d53a5b7dc613df2519309c03ed759fe840cae7b4b166aae7ab82a3435c3053eb4c91f0814f488214d89b7f037e63d03bdb5da169e01b8c0a106da9a6d76f227049bc9a4999b4addd329eb005add3c28f2efb308e6a12ff60462668708e313f26e66651f14e84f6ee63b2ad03c1d3ee9bae401a5e5ff848dd311cd757b929aa583598368e8dc62678f9e37d02899bde5d00240ee4546c1089d8e46d58e0db614f4fba7b8211387c3e82938304829979c9666060c17254d835b1632bec32cca4f1227e51d8324408c632b1e903a6e9805ac3684100698ff16f3fa589d227c7a9de99ed393eae2e11bc6e3e3004cf158328a4921edb8f0cb6a05617e584eb6461058cc425f45d11460a25dc8007493a761f8f22c0dd0be141b1cac3644b39735460350debd16678052e1e286a05a99aa8e2a4419ff5a94cf69548c31f1632b233db5b19d7fc2569ac3353fb6700ccbbd920c7dbf9c95eca49ad944dfee38a674ade536bc30a40a7f7c61f06a204d998174de68c182aa166497ab352ff28d8c3b8e35b4131b0debacd927b823d04811111542c554c49ef09d8b20fc9d8f13ca5116c958ab656a4ed36216ee6af01c5add50e2a9c4332b13d416fd880a887c3d3c1a09123231fbe01f0efc54ba90106de0aca931b169b0388d3c837386ad0d2b5eb0a4afdd6f6f16c234f023801072b5e7259bbafd0a37325c2e0e17c03dbf373e6cd9e0b2c31eb5bd6778d8dc4058ce728bd55d4e151817ba6a8dca7ef9d5ca0f7f5e3110f303ee25a9120ee2b0549b69d32c91208137df8ab0d0077d484f46ab5a2564fe77320537e396c71f601c8b811d7cde5f9c69e32ada788533b9f419204d206cf90b621703696511b4c05711cd56229996eed4a50776a9fafb620993e7f44af027bc09ec33f3c525b0d009836f7c830e18534408d20b96649bb4e8119d352e833d51767dc03510c3b380617426575be6f91d84161af8ffbaea9ae2096fc9fd9b32906cde88b74f9afb805a626d894970432f7c8321a263cf69387b86898b903e88296ca05862cae397100fa1bc22488f9af3c437990ad09d887f81a47adc2816226bd3dd9514e01a9e501ff601d0efc97a182b9b53c948db8e26d694f8cdb660b41d5df5759b3a1a4eb07b3da44d1dcf25a223a9ccd1ae494890b2dc7e7ae8099748f8f1911fe1d441e0546f8e2599a79b1df3f852d536f51c5c3f70855aa18c38248d43f263f0dbae505c94d0d33a8115c3dfe0fe1a51df452bb8ab1ae08cc2788fdc69794375cc59d06e71e27097b5d18a1231bcf23fa214d146c66318a64041f9e6eaea0df4b11e701235e4d2f1cd74d908f30f7354948d2f1a3a97d9577a75aea3c9f1420cdced7038ff88d88bdd52d9e468d718908b1c032e0ebe33573c72474982a8399b2aadc062b082f72f60f73df5cc13331ea285002d59ba6693bf03cf127a460a72b63e102b59ddcc8ac38623405793980bcd6c417bf6768383221c284cfb26e42af9d88029d6d8225a45b941decb63d753669eb452861c4b6db59fe8910bf882b4b450206d220881b1accdd045a87322fae5c3684423cfbd80bd281917f3b3b7b1c2648069eb7028cf91a7423862283034d11f2c7ebe9f67f73e043be3b427c70acd83703337780b4ca60361d3637ca488c77487de27cfc23b68b7076e7af49de261f9002a6a1fad002749eca578123e3fbea171fa826f0405c73ff941718073c7451d9060c121d10bc60d77b1f05717d0b7023c46548775fb80520758ee042f76fdd310752a7ff563c0e30ed13bc7130f001c7a2325928a222ad8b88be503e528cda3b0435ae40beb411cb3f7050105347a2aa6c6f0849245b5fdcbfa17fb33198c9d106961e0f6f6e21cf17d1fb3e4d674ed2944beedd8050fd7acaa3e4b6ab391e8305c4182e5a758d6f22943f3efda8331e513e088a39ae34ebefb2b8c6710b2b6804d3a0563a0011a527010fb854a30008910cd7e12957ab0cdcb674701fb336280668ab3b637667ecc662ede61e5377e60bec38383aff5d867427349306c2c9a404d783f494ecf76afb7bbf055868120b35468a7cdf5dfd4682185ad4f2b9ed47049327332c949ab8de5abec6bbcece2acf76e9435495556d48829365517e250403d5717edb848bafa539b1653294299cabb51e195002122a239284ae947a79f4008971aca56a2791487414357cde58664c42b834eb116e0063d08d0b8eab17cb057d15983a9f14b2ce57eaf9e11c7f6d2a26047f983a75bf7b19d83fcae89b4d0397f4d9a9d067a08793f963cda3a5c41e5e2444226382fb27da75c6c34beb5c05ff11ee165a55cc1545ba8cd6cdcb24142d6105193bc219f02476db67833c18068bd45d2a216ca92ec580d360050351429192ec726272d11f3f146d086107f107d5deb265eb0e908542d001a2cafb16cb0c7c5c7f73fcceb40d2a5ca7144abd02155e49aed6f2aa3be4d1d3e291adef14c2630837dd835be48e1843a84e47bd02c03b585d78b37a6db0407f846c69ce05bba9eb053293a63b7f911d02440a13073d8798b87fc763903f3e99f26e5f5f1c1b6e7a50e3672c563d37550958dd04052f3a1acba4fe75a92399751aa3fd6b65784dc6b006449caac396db90cb7f380719cafa396dd23c291457885f1cf7044b50ba2781235b55e05e33d5b8fe4cc500109e48f99782559d83ac70512cfc7894cf463630afb38225b75e27e69437f30647c049291a72de901778fdb572cab488cd9dc5898efa6be12bbd072e0088d704a013c397e777dada1660ede3aa22d141fbcf35487be30c8d05f09b04572e6407fc249937c84776ab7889880a5c3916f854e72de06d23a7d7d047516276d78c03961b62665143332b0115359a0ed1f1ecd598e985f55157f7e3a0075c5850710271697eea1d1ed48812d47d57fc3fbd2b81abc1d27269d600d966d44b0e1feb017e547f80ffef39cbb1da4c634328a0336892b24f54a57acb9fc0a269f4cb4101ca44912dc14bcc38cce8055d249ff99b79fe6b3cdfecb89d3dc5175aeeeba507c8a2a8653258ad964d5ab028943191a79055ad695278314aeeb0f390b5612c04ca21dc122fd57c47823dd38c7e920d7c538125f905121759f86e456d008b9b033c02e25739316d8a362d2dfd09aa94b0fb6fce7f3b877cb4b5e734204000fd025e7f904bc15af39317f680b177410077937b379fd5374cd754c46466b25af4002863181e8d7e053a753dd4ff8cb40f6eea63f189be185e467ff59d9b8d8cc603236128135198764eb3d762b31ad6e964b97f8bf13d9f4de686d29aa797e5d4064c22f90d64e17de00d2478c9d1ba3e89562d9d739af957cf19f770c30140990267c65700d0c71e5c26efee77ff06a626ea94d76a2d11d8b581a6d48ff36c56014c882fab2e25e1f9c4d0050c574e03e19b6a9660776b99b9b394fc13e6928f01418aaf0e8636ec2cce8a2a42e71432d0739ca56b53b49b84415afd47c88b6e04fab49c11cd661e1a88cc458cbb0f571645c752d04dd3238d4378329896872f04a66990cb093fc0eb3c09371a2d532f60c94c133f473b8580390d3ce4988ac2024a212b836aca778c534bbb7f832d876dcdca80bafeb39376a398621287c49f02bc4e7652f6e3306c7e4cf89e9484025390ca57685751907cdd2de88c9b5c7e04c4070cb489e058a1b32633691b4edf8cf0a2dfe6aa23fb747c334095c06e7906b293ef415d1ad7678f81e76ec0989016f26dae5a29508cacb1153edf0bdee900afe0bf1c6b3560be934bd432f7ab47f2e02b3504d6e0d74ff4532291c3403005c38c2f045a2e28b1ac7f9c06956daefd886d0cb419d8bab82c64ae6f3afaaf03d5edf16ee821da8bccc55e9a427b927f8ef485e999f8a7cde749bfb150a74104c7aa99d452065398d1a320317b16ad9464753842779c447fd7cf358ec954c4028a52cf249c52044bd3be7c5c03eb452855a3cf06c49667ef6979a877d9b41e01fb7084692fd89d614012b0cf083ff7f883b2bbecf868f1ee67074924377cbb0435aa90a19bdf4eb23f462476f4c682cdc2c1c4773e471a74b6018cd5376c7607ca643dc88f4f9584ddf0654980db936dc955381688b9fa04c034660e527bfe03bd00c6e7375aafa7f257e7bd54f0c342dad086b9219165ff311d5203829f30046940541dbbedcc485dc7ec1ae8898ef7276a4c3c9d9ae8aa1735a7a0c6ae6e0382307b4edcdb4477ca466b216f800d547cee4888fa8c4addd4c05d7508b2870680d30c11637a91edd198df206995a6aabd55e12fcc2cf05ab40c35362d89f207a9f7d69db43df2660adfef74bb74901a2dda3fb7c60edaa37acfe4bbf3a611037709e0b2a0d9a67568b9ab60cc4aca9ce2d247f6e58e1b4359b06df56655ae035da853747d7362afd3154699623f087de598885700005b6111b341b8a1e0dd06dfe05c227dc4e9a70c31ce5cba403979a7f53bef585336a510d5546cefbaa4061931da4b1ea62b55df2cdbf9d7e248693d03cecfc82c482670a3715d0ce61c01b072489d202c8cdb4c4106a65460da2c8a96fb4aa161836b2ff35ff10b42840690aba0db9646b1becb5aa80d8cf56ca078a064cebe8ae6d17f00e824e0b3e604ae53026b95e8a44f16a710a45dbc85895bf5a9db65bad8bff11ec1b41bd756045fe2943b0345d33ae4904bbd3f2e818fdf8307f84f8f09bf6a1a16fb4660fd043c715b78a5256b5d11b53146448873ddce7c55bbd5f6d6d0d8a4da9af838ec010927113a7b06b461b1d663c0242e100474155446592dda32360665f5f5178c000ae40408dfb0737fc28fbe7adcb77e8d8005bf03b305d5f95d6ca6ff3b00d5075542dde7df67a47c40c63014d4e237b2aa2a0126c51074475233cdc5a16882050d5fbbccc920f83b14ad2ffa20e89c274407cc7462e20c2732f44fed55b24702fec88c848563f196f9c549dac14f52548a113144d9346f4cb94874e17bdfdf00e269a53aa4be2e9ec3a4d579ea232160d5b4b50b9212a1ac14fc6d62efa16c049f593155750f0d52b844a20a50f85e1d43bf036eab0af54e9b428cf8498b01079c913fd62bdac57cc3bf8c477a12cdb628ba96b86cd7a20a7d14363032102100922f24e6c7b08a144e8049ceedf890be11afd929d48728b2cf15f950c8a3ef0067a7fc93c42858f17e534dab4288a4e0dc2cf67c2d82722aa8d44dac6aba99073ebb2d60cc1ffaf6cfa678fb310b047cd8a57534ba82616afdf7f5c325a8ce07b7392cb4781b372df95f1a2892e65ba4632c5cff3726e11bcf1c4949a2998f04c6ea92b8b55e15a3908b7d4089ff464d23a8997ce104df408c726de5ba4d44001de6314107f6ad9a8b8192ca80b31e50c8d8f66e07c55a2a810396c63d367605cfa7d0343ddd5d7cccfd2dcbaa9bbbb4026440aa1fbcb832f65c54611fb4ff06f4c988aca1538ddf5d781fc67478fccf4b74c8b35717bf049bc571036871f202ed18159e10b765d35833cec828cbd7d9d611d33aff24477ed14c1e300cc028062c688683e2ba34dd6a3a72618152f0cb888df2d083cdb1de8267a885c0f0d806222d4aaa8d161d294e78c028e87cf8ba7b7d5bcf4ff95ef21f3fcf8f3cd3ab00c81b661a42366c5f649e923e3099788efcdbbb9ca038aed26e505171f32c8f067ddbf519192a8f74d97a6752232317c20675131af23e3d0055b4c71410a99c07255708246122457b99c3366515f6131d57f0bed3da8362366c212d104284c9079a173c9ebf061dfa415620cf0532b85274e43f0765b2376c35628cb447e28b059a75dea460a4671e8c76266dd3f6f94728e0be92ac0d17c9f43b09d3e09c4f05cf4244ac0ffb4a38a7a67978739c459e05af30156e1192a79da27f313a5bc10226559cf56151849d8bfb3660e894e3fbc41262fc0e7a5344727a69d153cbfd0250aab184e2864512c58a324300188772672e870c2cad3196cff1b5cd2d128e038be41bd1095ea0bae7b962bbc5a5b882b9c66de3edf35ad8153c471612ba5405c7a14f547dfa39d769f68e0bb596f65575322cd5002a8ee050e8fd9512f79f059fda4c7eb836211f567469addaf34dc4f6a076e04eb70b17936bb01881ac100548a0189b7c69af58dc64f449382105b4b6f6e31e4a2511b0c8ef906325646602bde21fe745c2dd60a8570df7d9b0265a7d617adbbb143477556af5b6c54607012852f73b4823c39eb12c5a734e1fb43081ffb2261ecdf576092b1d7ef5694f05bef39047da2bc321019ef85bbc21639d6c8fcdaf8481a02aa550afbcf16190035953bcaa8cb6722a5b9a07e28c8e9f09ce560b604d80ab1cfee1878a4a538407886c49f37524f627548ea39a0e46933d4cf8398ca065e2b156e96c016f6ede03fd9b6d661e1ef3b59d523952f7d347d88af034f131eb8c30ced7355514f7e40601a50177437245a836d48142bbfd92f35bc24e500ccfc2eb6acec5e212ef1600f65dd7e62e2f08eb0a2380dadc30559a79ad094b61a6a834b84c25456bc4ea0445cbdf36dc2e1dd1facced4939ee82f64cfa43bb326b6ea34c1b35c76a9d1006a312d0d6c3f73619b4e08a944f19fc34a8159cfcb39436a24b2f7c0905ace605d82eb21de6b31f05d5a4bc3fd3644aabfbc26e4713022dd8999b6069841aa4044b807d72a9228d4d429619d96a13257d39743163e2ef5fde528e88eac4bcb700d136be53f151a8d2921debca471a14205214b899e814cc9e2f9be1282b0743032a9056e3d32737b2fe4745c5bb6a56b4175c397f113f3b7901b27ca01eb48f02d518e09bd693bc6a779127081bb6525890ffc1b115d930ef9544a6c8a97180010f51cd85c532756a29facf4806831dd2cc3efcdc020c5961b97140d92104b801235f8792fe987201ef955884ebd13c6ee0f9284994e41decfa47b91385397d0196ef1d2cf3e226b65ba068272854d734a134c9fe9d69e3548f55c82540817c06561905e1f212177416b428249cecb1961f3d3968afd16180bc3dd6226a714604e7e47bdcd12ae2f40ba0130a33f17c413666b11a87ee9b8e88e69a7f2fbed4060fa398fa8c3b5ec21fa7de2e42a5a5f4885643c8b2af87fda1885b9377e21a049411e2099a18d48067b3f18d9b7f681d7f2cc1f6b125decb4b7409b55047b202aeb53dd0146437a97b793747ae538e68a1d9faafbd6a7242339ae4564f123d069d0ac883841ae08221ef7de607a558ae07a76b876eb8b7c9fce73fadcc4abe02e8d25bd4e2d778c079a6e8f8b831e23ae1e0caa8bec879dc0415759a2bae8402b3af02498ffd653a3ef7e393f3bd8acb588300a71187a7c1d3ca6556aa4e0b031ec393135d1c758d6415160ad220e61320906b815bb1c00a68ca22f46b30f100a4b2167903da5e3a737fb12cceb03a447b148542f0ffc45b9dfe0b205908bb062ded6519b524975107bae520fe5b35846a4ef79d3b423a8872c9b93caf6c7a048e37dcce652845c95c4049c90dede74f6d225d95d36a85b5318d3844e687f603e74b51a2a5f8010e2b3ab6de94252495ea53399167856a4cfee10c32dee0510694a5cbc3bde5bfef60b0e5e47632d0ffcf8d7b00773287792da9bb891e3e3303d9b786bb4a900cb778cf145dbb3e7632fe5d9909ea52055ffc56ea33c5ab06029a1af238c91167a3528a15623cade693d65c8818cd66074db7216c0eaf3ffb04f6c9e3dce36c82ce419614285cd96de24957dca62dfbd4b6399eb50b8a32e00618e464097be7f3d2b7680a8234b20fd828c40c4c75fad43dbe40b14e0ee260033f071dcc91181f95fe4c4d07788f53267171235db8ad050b8be710995528dd07c65661e015fa463c3d3f6404ca5bce6790b7eb67f51b86e10ebd236bbf476d0505ba3d3fa45ae0b30c0f22932b7b875a92a10c0f8fe0943a736c84bb3438b107798ccc7063557dfd710851828bc39e9baba9a4c658b58f01cfb14a4aba434306f53f9804582cd52694cd8468a707c849e0b76d8a40b2137d63bada773fe38c076c213ea87368ac4b8c44322f03ebc8cbe4fcc4c2010428ba733e9418b819130422e96471f545a4468fe73d87129ed1283fc758ab7003dbe36266958877848400213538389866b39f59b86426294efc0d40719f376a6413e8eba744914477380125552b58c4b67cff3448f17da49bd1120821d0f809158b38bfe34ab7fc29710157ad325ccd703bcba53c4ad835831dee0a9f2e20a36614803537dd6501630701407cb3e4547260a3e14220f9182b570165846ae3afc42beef4b7b3eddbc2050056bd56dc88700e2dd5fa9c69104af6cfd7b07fa29874f128578c871e24007002f55030df46a88700aa6b6c5fa6eaea908a23c31d2d3731855e6d0d5afb4fe404893cc4c44bddd818228c308935c86fe5ac3218706c0e5e842cb48dd87a6d0605432d55435a91dec4f95e27aacea1148877cab6f69cc1fd6a72b57ee2b16d0407aad91d94d9336b4e2e67784ec1003d40b78a6fed7371b0af5abcc6a796e44b05494c2de757990ed129581388480d6feeb63c56390e9485253e006b135f07e807c02c975f5c8175efd8b10d5afbbdf8c238a8653e41b60dd554c3484bc33cd90339454c9fad04d606f0ff91cf31c639e32fe14267644f4503e2b25a8714286e051d759c479edd4cd910894334e6e06c04da99e7756aedfd24f8fe1ac889dca406af0ed664a324ff6be53bf11c242034556624a73873683fe8a125efd00fc2d205d23ab79e67d6186483182f7e3993d9cf1dde5d8dcc43442ac5e6a737816f39050bcfa1b9ce0c015efbc992d964dd2e03ba8f1224a35e00d15e48fca9176b1b06c4cd24809ce786e715cf5ccb0f91a75a098721f0969c6cb6b13355c9e1490a031200478681383b4184479cfcd15b731c6fda7dda6a6efaae53f341084a229900bf985eb92d473f0cf94cbdf9fecc1c2188efe6147cdfed26c0b163373d1aca037670ed1c59e54ee77a83756298a4005a2a12e7f24f9beb9b69b9a1f03a65d0037fc05a63f61d4c5aad9aebd2c78590dc119c24ecb29d07646f09a7723391980615182c405431dae74353b443e728b16a849d3853d0c7b1f2fc8d68834a47c4063ca01824d1d383667634dc4c5885329d29d7f26bd4795c70b90082596144a6056216cfeed34642e6635bd5967d4aad5c8c986686968ed47b6be61a7f1d864e023f72ca6a7984f65f605abf99447955439054822ef50301c3086e5cc0d493c507d7788f100145b6f8a61b37de159f23f0f34beb191f897ccd5f804038cf1edf0712550f4c5617238d5f301e1b09e6510656e26f608d935e7aa38a682186c23b0029aa7a360635c916792691f50038f6b1284f8b0ca5f9fd7d39d0b06b982e3405a25daac6dc404409ad014f8ebc8962ec01cea50518fc271c895d78ae39b9aa03d95e72f4a7136ce82605eb7816363c726434fbee73ba3ab5c15abfe299e2aa0009d33fe6da0852d80c25f9ddc889679bb725bd879bdd12ef985a99d4ff49750634af180d367bbeb003087f28ef54624440a094624505883230256c0e5b422d07eaa316abae50b32d58b445fb5f54eba07c9c64512ed884381f79d8be81cfec0584fc3443538e4d98ed9c417f3a8e40f80529d78f1a8e396a44287dec0309de0514158297bb953fe3caaa8a365d92f7672099fa58ce5938ba30447d41e791e3071af2463b45326e02a13dd16a6046911fd9504f627fac463834920c07837c85017bd0e504b8d33c40ca647611cbb78ecb246e21a9958079f0f1a3de91fd5c5004d5054a55d6e9970b6fe4ca26edd0a6edd891f55c97ce83fbffe267a1204926066f94cd943dfc1e564131f3c4a0e9e6453883c5a1aa5bdae93859978944d182052e4b7fb9775c19b70f40823d85828deb11fd913ff24f20c5eaacd7cd80410b038bda27a1b1703ba5109b5411060e2ee6b692f239bbac0c94578b27b5eea10504c9a854a3c2927a7ba6f81a719778b07ced54678fe5b252f235317418ce440505a3ed325d79e2cd6d151e4a9168d5b38fb70fa818c36d332e4ea7c646aacff50042cd81ab91fffdeeca5713f300391b6be1f0281300b2d495c396eea7330e7a07b8c1491501e2f85e4805e944ababbbb5d512fc3166b3ba8d9e3dfded28aac1034f37f4ed4722177c554cdd37c68daf181daaa220a64d9b1b2a09a8eacebcd605e3d39384a9fcbeda7d91c9f0a9ee8d4b3871e08e3d99292ce8900e6bf6d575033a5c70e029c3fdd98c65ca047a431d026d4113a345029f83f6c8b60b5f11ab06177c6c1d4a9fc199935c21bf04b788847946b54d9d957bef082b32c0c859f802dc388796a6bff2eb6f5b71d686d85b6d2dd73ccb85aaaf6d95fe200284e78a0519384f88b26446fdc37a9d55fc42cfdbfa521171f866e4df377639da6532f106d4405e80e72d6373531db64ec84b7d992d17afc4ec1fb074fb2a94913c72f403a6be1fd1c512c53e079deb332b9a172e7cf513b6087e2027f3a023cb7eb25e049b0bc0c6495700f3187fa5b79ee89672b3045cfbb96e4dfa469761e988b0b800b4e667ffac50cb20a8dcbd8fa31dac3d269611835889a81732104f574a9ab9004a71f8ad7ef75c6a64906aa1103315d5c759277134b14204ae03a499a79851059571dfd13bb0120a041d7d77f5406de8f5b49353c13bed50c27f173b79b4d30137d742f2de985d7d37f18a7112f70f81acda9fa944dccbde8464fa23c7f76a02abdb6447a674263e00088abdac9cf962fae836cb284cc5189b125d587028e70697b7ad37d34263c639a180da03697139de2bbd513a0b709cf2c9f93afbe9530652a160068ad42daafc41b4d1568f316a33403b42be014a8d6e57e2f99ba3170285fcef8fc769d904e72a1e96c1476fa7e1df179f438d0a9e720bf37943181500b6fffc667c935b0eb9eb21db84572764a62283e82488580a02a1bad344702702122e48af3a8e3293b200701622b065faedaa9af51953a89b36b09293596d5f06f5971c6b58b3f4d8926ef8b657180271b5e0249c2cad4af84893b1fd0c96f6012f289ac71eea4c0e1b04acdedc36077830a85a70248240d50d276876884d5307d4e654624813b3c51f9fc9fbde707f27e62f340902da516a133f512b640c2f01ad8e293ed711f429d5b86680899c785dc23a31af8cdd54d6a511eb40ddef6a00f5070b571d95a174850f67ea2a1259f98657284eaf1704768912ee50ad8d280168a7d627c5f2354da53630ed3e1eeace429f0cea9295f4e8a547d05f7b00fa05750a13097f6745a373c7a208adfbf5bfb08633b57d38d78a674c536f5c17f50276529d5c35ebeee944980deea0ec81285c05659160614bfb4b7c1d924e271f00f32e7fa8c418950387a6edaecae8253d460d374fc0346ac41c7558e182086f0394d19b4832e9d59f5665d1b114a1add67233b525875402ae749729bee9f5690445ad52f0048794371b6e4bf980ab05b570137cea9f58e9249643ff912013a70091a4a5d86f5b8a4cedfec9104b05b2279df0aa135fc07fda96f61f10cbd09100a32c52587c49a5e646db606fcf8e789828508a416882a144b1d00c500d456801c8dced20288286236c46f494206f5d9c6e10902b5a882d2becbdc6eaca9ae60489c5ff15c755ca2fb37ed9aebc3e7a878b0ac5dd8b876abdd4430b40897352017887769682a91806fb0786f6d7a42302a435ea65c1a073f9996a92cbcbb24501d2058313e54754d565c17be4cbb180dd6d8d6bc725e348564db92f08e3ad2c0750dce98666c1d7277d0e9ffbc29b3e8b3cca1a3ea7851c9790707ac3b5cd9a066fc6beb70b0e6d995df808244d3b6ea3e206f6d88a592f820e1ac20c45353d030bb66384fdb877b54f699394813d3f18187680313ecaea9e33cebdf39f7094038d123979d5b38c9a4f15e7076ad9567e2c91a1671c6a80679fa8d57f08c68e01f38674355360a1c1f5fd4b9b402d4870d4f6977358fa5215dae1612b35aca5011a30e199d0b9f7dc35567a33cd58204867e711a3850b828d1052a4b7e30cfe024ed854468fc52394c4db1daea9845dec5f0b8b9e1bd748afedc6153682c6f305b6635d1125c7bc18702ea25a2cfe82d37c21db3643cd3a1ae148f3bfa414570758faf43d6c7589ef315815d959becca4dc16b5da08bf711b4d2079c651078602d2507d0aeddbd51b9ed34bcaadc6367690bd9546ba695e5eb427751fa1461b024ea96dc15ab80086ffbf6dcff1903abdea3e9a578512bebdfa23ed0bfe3b3c02f40024350a5d60a4139c4edf61a96839b4bf10b41de1d1755519acfd5a572004e1568b82c9e6129713aecdaa5b64d4e0779e35d9b93a2586eb94d57f9d772602d05687766742f16b56162b0b4e4fd79107967efec195227d95636eb3de90a8069156969807219f351a488156f28abe99b94b13950ad6b655890d3ba341d5a506da24c92dd98f6c71f6738b366574aad00f34d18bdf825907f662faf4daa7ba01ed09b1e6770c71aa1dd2be0087beef14ce1cdef13edc7777fb47f4c21c2cc0053554a3c06b6ff2ec5d61a031e48739fabf619902cf3351e1bdf51b6d5535640348debf87d58c3e8b080143441fd5fadaf6e509d1c95f03d0a8fe13b5e2904604e6dd86db7cdae9c789d77cd3e44e4392ec7eaccdd6acc5784189e4c081ae4a013174a63bd078a3fcc369254457bbd7bedbc2a39d6fc8945af42e925826fc58061c7a1352ba2e6ee069e31f5828a6695c198fa28162efc563dbec208dde037903dcdc41a307d1b2d5b838725660669dc03a36c816d821803e410dba3ea50b47014e8815ee7e74e9ed3fcaaf2b51c6e3cc15e962c3227cae61692b35ff966c92000deaa91727f54f08ac8c814fb8f6a1d58cf9e43b83408f995e5c729467cc3807e4ad9743942bd51abed0149b5b2998631b02046004b99db7f8f287a4ab8c03019d13436337472062389374a767649c7c02cf1593f2ed947ade14193860117207f1b2bad1ae42c17e178c7817ffd3e52222984e98a0df497343fb20f43a95de02d86af4fca9ae05edc6e52672b4734ddb3c646c034a5ac526708fe7b1aef89c033455d0ca77dbbcf00e424e8cd984e3b26412e340bec7ae105ce0bcaa4ac0ac05e41d5411ce85f04b005027287c3c59e1019e5c2e696d3d856768ffbca002a0067069944d633df3d00e9848621ff193535655681615883453e84f32c75f269205fb66a8e8694e6d6c9ab34c9aff1d89d1271cdb9b93eb0ab0e766193394da1301d99619b5d0d52f0e278cbcf55c59ffa7f3a9a6d79a5ad7f1d10cfd65e2b7b901dc5a4ec328352b0fa899070f162aa65bfd5c7dbe7e3c6062c4b61e0c1337f804d19859841332e325d3a8da5e075cfa03bf33dc51e2ff8a4b017f4090f1a72e005f1bc3619ac0f3d98d92eb92909b1e24a40ad1452c9090a7f82936d3ec687b023ea6c72bb70cd15ad9d36b9f6b0e3d9368234e7e486596bb29e84c0b9347e2071451053e3ab5c01937d039f40b6bd55038198830faf2d715d42c9aea09713307786cd556710b90bcb3c5417906ce4f1231feb61e842cdaf1444c290844e16c03b47282b60b0b98ff5f61fd367c34a23607f39280d21ebe9d8779329a8754e7059a611fcd9f957fe8f54ac06e564d58f05f11d950fb13df8fbca57c35bb33b50469bc364e81fd74392032d8a88c609aa6eb662b7e1c92df2a730c7fb99386ae03ece49ca75a617095a8282fcfd5ff22ad8cfee0406bcda3c4a4878e8be3ad790748604a42e1e806419a6851d4075dbe2c0e07d15dd08cbb1096082148fbdb9404e1d15d8e9f3c005b78f3a0bb25ba136184ca7419b4f388c64d8e82512384c007aa3cc6d827933fd2990f1a963c3be33f7eb3887bc63470a658687f77b4ef990321709a9e6fae5ff0aa81bfd3750804162dc7853609b8211ba49015c5ca77f20769a4d09c7badcd4c79d3573400c529b3d155ffa8bdf5e2f68dece13d4748c904a6bb39a0022aad0b94ffc5ebd6975b9ba649a04bdd821b9d105e67e8375039011fb907e93443ccc37a841327e3332441ea770cf5985c93aa89cedbfbb0307e055de07ba5812482aca095705ecef50e196ebbc75925f4b0a5fd9f9c200f8d6705d77336a7e64e2a6a924ee33ebad1f1ef523e4a8c44172083e44c5e311f36c201c2f65bb451353defb3b496cabf7a5e4983952c790ffc3c638dfb7553be6f3d00bd68c1963fde56c10330219a77e8b09e67afec0c8ee73d7836f49cca685a4f04958e759b0722ae0982bc7fd37b5d6ffae52570108c9b619a815ad53972e89e055ebe007219db531e78d0469a9bc7d38856f6a40687d723c74189d1976a962402217cd78f33abdf758052eb64ba6486b347d3c3694d0270e2db8649d1a6e686066265b5781eb0b17d445a7fc0179ed43e7d4e54f2680089d64f3791dfff653d016a498eb67026789cbcd631a9a9917a8a7bf80becd1fa38814112d46a3103f4026042452cd4fb8fc863e55b6ed7913d293f3d5f31faea41a05c11d153b70b11009255b8c09a353d080b66d4560ddde8b29f774ca6a53c1b1e4fb1f4588af6f30570617e4e07f2af305ea9506516dcc1cb40e1f4e4a03876b79e2530086e324e00328f53bb1b61aa9bdd8e3e077df577285ebd7eff2e8a6b3d68bb2649ae37d603cf16159f80d3dfc72779c912cc0d17c7ac427b1e650f3cb3c582f04dd45d45020943b8ccbdcc67931d8964dcaec5c97acfa8d0bb6efd88ad6db4e8ccde889d05aefecddd60857e399cb8ebe6c622468a97bc9acab786c99f3ed86ad2e41e9a0136c691c02c18596f736dd1aa2359c7eff98391d45577562bb4f1983f8c82750392acc7a1d1f845e62edd91b2f756a81e2b7cfa19f4368ab5610aff2e76df270356aadf39100a60fcac5617d19855dd6c627cd3df4a9f36e2910cb6e1b4d1fa0178005cc938a8f3c4065e20b700a03337fa9f4c83ae354c890d8e5499b7b00802cd086ac0f66de55ce0d557d44bf8dfb208ffc4a58f54a2f3970d65ec5d9f2502412874e4823680df97a7b96c5b38d635813af4d6fb3851c16048cbae915b9b022868ecb9ede2b8b2161fc7fece2910c8416904e03db6619b5ea12441a79c3c02871157d6a1023af8ca5d889fe716ff6d8ad4ee59d3a1aa93a0fdd5899f1272015c6035ce1aa950e559b626b58f437c48a419674321154784631bb1fa9620b101ce4b9045dc48dd0d894518228c4951bc1f136b7de01c5c5999e8cf7e4f692906832faca801c59e35fc2fd3adb4b04b3155daeb7416f81abceda58c23acaa0800245c6fe3cd56d3865bf305cb34e696cf50aadfdb484b3dfdc1eababca2413006b2db76dc5ec9f43b67ea999249f212553373d7d18e7e3574de67f2a8a9e0cf019424b698e79217a1fa363965ebef6f868855a11f51941166d55a53b503c04407b0f1bb68093a7a3fd1c856be5fc2590e99af613dec1f66dc0c633a5cf3f2ca017e5e4462c763dd3beb98a008c14d85f8efebf9f9f4eb7548c8ed9493a5cd5f027c584c17d5d2b751b75c893bbad59828ec9f356cb87467dd8891384b6cc9f20601029d793ca936bb4feed28fdd2ee75779dd024dd1f77eb05bea56607a62760053854a3adbd04b8b9cbfc414a681a52cd3ca7c24073e13e1c61c260e3c288200ba2a6b11cfd81ec49c408bbee45b3ca6f9f13aaf910180dab471bed9142a3c072fe9a1e5e1da0a67e3b19585dcdf6bea6831e44f743e2e8db4b9df7a2d934a0031bf117e3118de5775ca20f60da9657a31ecb7c088a1a848aeb056bb9d923d0225b1ecc8c09abf3a5046a427e490452a098c8a519c672118c52e535daaae65026143d7b9f9ebe459845cf25f4bf73f3f560e1640c0e6e56a58dfd09bf5cbb1023e674e69c0d5bbbb2dded87fa8f889ed893e650a30df11d961160e312bfdf6038729483e51d267477f7c2049d443e3d97734f7a491da865bb5a746d56ed7d50130f2d2c604deb6dda620ad2f48b32126e58a13f6e7738603d0d10933977a0200a54080a269a905466c07a2407727ed7a0b8bfc154a812ab0aeb30e45b15f4d04115a3c0fdd8e9808ae9ba0b8b7788cd810c82b84e46c852937335a1eaba92a07a5f148b22c6787b444735f95a41376f0c4b074ed719503263032b9cde87a58043429e61d1ae324c406292bb9984e742c3ed5a81fb349f802f454ac9ee650100519c711b5c5de4a1a23dfe0235f403e830b95ef6ad50117ca3e9c64036193e9007fcde61a4bc0fc525169a53452c63591f149d080e02c96db3ee8327f3277610152f08151c49ba966995f1edb01c3893b57926b5c9cb45840e2cba1e356c49c017179e013d3558c96685c7258c09184c37e80e7f82e2fd989e5dcd8bbeb7c600769bba379540f4488367209c1b93d3b23fc1cda98d51ed00b00f3fbda1a6122049c08122be89638adf0b5a4e47c938538743ce9b6f875ccc1b90fe25eb95c6306cb712ca197b65b39f0b926e2bf3d3e67b793a2df4dcbd6838b55428c32d9a607bdb48193f3681785c888c66817d2599d6f4912d5dddce6ca9d226b8fd4baf202f008c76819da9545a13584c162ab4864e475c32342ba813da9f56a51b4d9d20705563f4e126f162e2bb2d47626f00fbdd509e712a9f99c2b4fc10f6f18ea1306e18323a6e1125f5f6ee2088e90fa3de0a801ef66dc80f6494e6bd2fdc92999001be0dc26c3b885e7cd241b7a4a3de207c37e794fc376b534e80921ff710ed90070a267f619a766ad16fd4286e98f3eeda86b7d991dac3371088c116804035f0355265d783908fa8864f4245d69d884de10e59f6f06b7897bc1c311260f913100fd2ddc132d98d89d809dc9d6874eb5f5a7f7a65ead981b4f8c7dc0455f35ad01f942c6bbe687d2073c2f971369f9cf681c51ac1f696229c30e45f3e0716f010360370488f791ed9732d6e292e0da77d5e7da680567651e07d45b4e2d155d5a03e54d3b8b1c321e11acaf52f3e5a831a72cef60a6fe0c6e6173258459bae973044dd0a03c522e71a1db55ad1b93d1f825a5bed59814a8f5bc00a8d3c48779f40376e4206f5055921b79fee690ea8cf519ec512d7403312b4837b02d0673a1bc0645dce1b722180301c669e3dd0d0693b75b61b3288a52bc6ba4581abe1e5c440204555d6e350fbf4bb9ab5c499b3c7f9cd5d1de3a53c003c6fdc8048a43528603c41f34c3bea042b12267c80854aeaa0d0a1519b3bc08b59671909c819a79ef04ef64b035663200c1c86c51862821abb7ce8fac5570b2ff1b08601fa6216f820395dd958e7f22eb51ea51ed6e1087ca1a307905b5e783f477271c9d842f17c60663826f6034f614e39ddb5d9df993aeae6c816c746c04fb036572815ec2489207a172bad409a1e237915c694db37afde1b365bf216f52a9ca564b8baa073959000aba5b0541c5292b7ee2f70982b74a5641ce472173d4dacc07a3c3f52e209f051bc2ad1266f15c0df0b9acc0d6b1574b28bdd0ed357507e6839d3cfaa608b806ebe64abd6223f82d9bd358607acf0c62f444223040899e64be3bd99c2fa6f505075ac2fd5385185795d352fd6c627d7c90f34772cfba75220291156e8312d203480ba430cf8628145335c829e65eca10aaee2d11c576480b5952907c7146cf03330cf48bf69d7b45275d3048b5b04f8ce862600e1f9b7cbb8f83a3eb72ad4004938eee2b22f35dad686b2d66f7158a786cb5e68ab24ba673a9a958b4296c0b0215f5ea6fef895a449da1d541618ae8bd6de2a7224bc0c98a6be3f77b40a4d6014b498e6f37517fdf878b5311c99ffa1075c04a6be393afcc8c75a6052cbca4056f2a020ef62349d625c15cd42394eedc7f074f914189616d3d101fac899a6304e0674880f8b8dcddb71bd8571a94d89089bac4d1a07e06ebd57c5798501d4b0056d412c62b6423bf11b88b89e00a8fa531034ffad6257f7aea2fcd2352fc9505007b6c1db8c74a429c92e41fce4ef0833ac811009538fd2788fb38faebeae601dfd77f2b374edcad1e65d029f15adba75abca55b8f31f8eaf2660424ad7a3c01327e15dde498b8dd04e00d512a79a49e15681918a54754554f5e880e9db79201ac7ff951c66c4070d938ffc87484c61f2a2a668a637be6ad5109fc927444c10392a3d88fbc6ae5369b0e9daf0eb32d4e6d282671cb39ef3f39eefe670490ce02bc4a7af415d4d8521c2c64235eef943bd485d1b023edcb140b9641bdc0a3e10568fff706dfc8513ffb206c72ef7a03588eaed2e9cce227d3a63934cb1c3f99001372c65b69c71d8cae918aad05041fce3a5a1ab3031bc2cf42fa23fa1aabfd05fdcd460d93a9a1eea7c3a9523d6042d77754b69d2280bbcb1f9e84a7b1b3620741b65c91e756824f9ffabac507509bc078a3a77b2889a7a3cb0c0f4c6ab220074cfdec4b1b1936c3940f1ec15bb04511785c7d85a00304f62b35c6ed2bf9f2049f208a1c571fb68734fc48a2dc1f17cadf9d5f599dfef973728e932f112fa302e6432ff19d7f0397532bf66e7eb259388fc396d8988d89af43635971f77a29046f13a52036494255fea62bcd97b8334a3db838a67ba2aaca94e04b935eda5600f87545e20a150a9cd4262af3c6f33a44a52dd8d0bed31881fd5380d4c2dd870247a35a5b93e3866fc5e10a055ab590e377eb0031c4d08c271d537215e60f2e04985eb666d008e52ae138db99244727acd8fd0e7a80dbfac878e8b73216a23d02ebb8b11b1b8d9dbd230933e14955a1c6cd8e6b86708717a5b9159b8fd35e6705b054287083e4e55b898d0946311d46c26a816b64e8c247e907f2c6625da5b803b0095165e9bbcdd9324767c630ece047fea03e61a0998d96112537b8fc265d051cac06a04eb2548d3019bb9a1662b043fb7dbbe9d08c13806d70acab257e6b04e91a44b1f1fca168491f0b313eb7ea745f0f079d18284c2e0fa7358665c0f6039e0d293c854fecaf73ca2e9140196143ecd364fcf860f7543357c0af223ece035d8e89322c7547530c181496c893852403ae46a0a18417f1d7ae8b72b2c8d60285f976af14d0e023f82eeed5ff9a7d3455ded9db4381f3f961c8975600e4a203bec4f527cbaa7c8aa66b433465836ac5093e1a1a9be7958a196c2e372ea22b049870dab4d5a07d1d423e84508283b9632e7ccc380e0218fc06a494ed13b27600fa090a01bdbb7c339d2e4e6616b232a2602b54856b10c77eb26f6b920c8c240466be36608585a298ce5c8bbc8af5e0d8fd61cdd17016c189775c62080b9a3a060330994ff104f37c54475343b12bf659dec43b9f834fc234b9c569d4d5076b07ca7fad74abfe28e5151a9a550a30c1f4f1b59a8c0d64bff0e810f279f5845b06ec772b5d01da168acf97fde0feb0f7fada163a62d0e63e596ce33e6a707d0b04a203889bf854ed3e75cd6f0c4b1e3cb5b53c7356b01396bfbd04906fb36b8203fe0690c33bbdcce849feb7d6c79f6ad2412ea3b3c096cecdbfb6761601fe6b0703fa6145b24391290836968e86e3bfdcca05d31ee86ae9f5f2648c21205fc206abe56745f4c099da9f63ac8e17207858f621b47c364d9e305ce5d8061c3eaa07eff2d4c2c6132a1ab81dd9fcfeda0f5032448b27f0ff7440ea92414e23c6d9068d4a73f84c19f5c11490010376ba61c97ea68e073f95eb5f7e92a55009ae8806c758087444410083cfeca8448251ad4385af0739fcdee9bc2bc3378543af7e011d91f364f462100626508d67c021bb9d4d6b066d5f21931d990141b2cf7ac1032dbf15f7f169ca388ef259be5163f7376e56995ad13d94138044264819bd5302ee86328bf43b93a291b2ca6ebf3c9ee8125f3db071b1547d9dae7cdcabb4e7055c256fdbc160d2d27ad9d03189471836e5c2b2adc35fbe0612012ddf102882059601d38321623433fa5d7b306990a1ee8347096355d27ec5918e46a3fd094702f20f17dd85196b307f684b3bbf830acb27e87a8c47ad361ffc77362cf6f98c003fc44ba83ad7806cb2deb3f0fb2c035f40d357ab8ccc221af46a87ec80ec2501e4ba87ee73636c9fce1795173073d9c42ebd439c9fb26defe2ba697faa81bf01f144b54ca717e2ff0b9d89276eada8c06b7d110aad196cd17c61eb9b0aeb3a05cd45bea11957179dc17295d49d3811368ff8171f085c6189e40ec6affadb4f0505837ce9ee042e1ef857a0eade1395b38d6ce281971a5e53334328c9df41b200d9ce8284d044ac943c67eba0c976563d82e6f65752affa07e2a0c74adf65dd0165e53f5fab9c6b61f439a351f1ce3bb8f90df0e441e6baaa34b55fca99d627067ad6c69f7b1979299f45f7d4f677e9e31230cbc9d428e3cff5f8812b46e66d00ab053fcab75b69bebb801370a30d1da518d38e41dd8afb2927f319af831d28073e0a9625e720c2dc22c3aafb423c90ed39d99154d1c6f56c1ff927786249ce003b228c5ebde6107c668c1cfe9e5d75006f94bd3dd9e601a5c661bb51ba8b2b0085b443473a27851282e35f810a2d447922c63c8d74d5a499e603dadf7bc3d1074f2e0c7f966e58f1680d719bff9f8d29e29f62fad61cf07c60347b4d49af1304f04da190e7423406d075b7fe142015459335631d053fffb4c29ddbddf4321c0772cfc6c48ae400c1ec99650a643e0b0b4c018a1c41f94a31c3758a4254067007546377991b7088311c8f796a2ca1f7dde6915fb00c98653fbb852d20f4571f0071a372821467aee51111856cf6ef57605509676d433ee03be3481a811ef94402d9025ad19776b75db33a753e88e0c60d389772353b684b5d5d0161cc82e8430601833dec0173f0205733fe61a55c80664eb273e3c6de76ca001316975db40d056e6500e7284caca0df42d8b5fe16b4af63ba2b3ac82cc01a6cbcb9dadd75bd0008c94a26e78aadc1d6ff0f62398f965fab971d4021247d99bc3f0966efe6ab04c3255db4993885b2a364a227739c99ef8319b9413f9ee220c1e2352900d5cd01344e0bed65133f88ea4f9e59a39be3c116a6224286a260051d597d86877bd5028a80888f3182518f08e503bfb18d6cc23341020f1e28a8057c9a56a70032260243b8bb3eb8fd9bfbbd2b0f3afbbe3201d65992ac8138ba763f6c708b8e0a4605b1a414bec1256d1a71c5784cd6c60a736e40b5ec74143b241f0b8508b4e88404edfe4e5317899428e43b317389908f8c20e6cf31d6e9a2fd7e4fe071735b0b074477f8210523876ea333eae9f65e656b3219052132525cbcd9cc89a7bea49a006e6f03902dc6800580af7ca9fb106b811045f6b490afb7e7e76687ad2dae6d05fabefd8f0b5a7f350fd4510f4e7a3dc3c1859d81b060bfb29a73be53e2483f01c88034128c84ddb61e3d1610ce7b2cbfc21b56b49f5e80aa694a3c6e72683b01987995d365b88beb9d4d0f5201d434047b1026440c21721346a04e6a841ab1026197fdf9f2e66819ee0dd407598a67c25e6a7a6ba493e209cbb59416dd706506c68d56b0e26416d5ba4a912e888d716d30715e00ddd5beefd55c013445b0810338160afcbfcdca9bf29e003be25c8454c45292baac5a7d4a973bde6dd4b1b805206a04fd5c283e5731498b67d7558eba768f28ea7be1a8c8dff28b5e9e55bb03c7001b000747332e826c4738ca24c0cdd79891b83b7c98feba9aa503884c3a02f27b861937916994f90f6bef0cc665188b0d9125a7da36c462ebd5603ce6fd004562c3d2a30b6b9e49c279268cb1e896df31e08031522c6de286d8c033fb1b002bbed7ea1007b774134d81a24d7f09e362e2c8f45f274c4bc1562b5746733607ea2726b0cff03d0271fc233376c7d8e5ecb85185718561fc949e652626b5fb0039b66ecd71b973861fd8d7778e8b6fd01f3c159fc0e89084cd123d2113a6dd048905b1a7b575428c9bdf3b59b08455dff2b051615e1d5bae6e4f307872869007c28a8a90834d48d3d052ec0a01d8d31fe03eac0edc91950946c7dc3103ee26056ded1e22e0a01f51e403ca230901a7ad55e8efacb9b5a2ba7650eed1e305e7074c235fd33a9a9a37848ecdd596550aebd73a79d3e9b0631918f1fed516823e020ff284e87d32967c3de72f6897d1b16179dbb98a083066582812b3998e9f0b056cb3dccc22a8767ca8a7ccb1dd3e413ea094c75c6a3c2292e93fc8caf0887a072497e42a9448711f553ec9227dc6dc7cd3ca005a6d1f245911e9b8a456ca85001bc150d1c3f36e3c0800c6f620234984dbddb2dd5c34be3d4e09ed52341a7d006b0668b1756b447f43b3ad753c0e55a014cc72f30855d3b43c7b294d5f52100546a7de624718b0e63bacb2712da096bdfe3a462135d880fc79aa664c25b52300d85889969dea1dffb3704f8ade9d17bee1cf0e464165dc5bbcfb5ff9f0a1d201b65df14a46c6f9665cd547ea5f93f0e65a87d69d31ead40617f82fe5238b800319970c562712f1c497798b6cfdf0e042d720d77a02b1939ac214089db1ce640483753ade4c19dfe97ab37dd585263b5892ff9e1305e3b320ac99eaef77b28f03f83f82fa7b3fc7e65640861e6c0a4abeaba9733ca74dd11cc62474efe4019e00161e59f06373c67ae1077049eae6d9beec320896b60c84ee53b038583d0e8607c275fe7626e14895b79eeba6818f78335a12f8bf234be3139d27d90fa8564a06ec842e20cc6081ca5a5c605a17aa28e0c44fc250d6c5f55808abe8593e846103ff2a9387e9e0df96cb26ad58a4cd2a08d9dd3ab134bf863522c43a6bbfa9a3042068b1af9374fb7b13eda35cf0d5513bbbd6032e147db1fdc92d5d3cb348d804571174bc7e804ec5facfc149563d4b6718e136e8dcab1fbb1201f7800d3db7035aa29c653c14bceefdabf764e88bc75e3372ba7d6b843905448926a8e4a02f05f721fa2e8edfc47974d172c5ac0e9f767626e7b17d0d5d54ad00cc68410ae20757e2aefd6bda95d10578d7d860e69daae117d6fa1ff2cbd46a41b427d49fb0066c7d0db266afdb03e6f024bc5317b93af349b1104d10f8ed67a1936f11aa100782055ff0860f1fcbd8e3af5bafde3d5fdc34384ef1ab7ffe17418ef22dc83703c4fe98ed9435fe80d1027e84be6a5b7d7adc4ca46428729cd828ac0815fe0600ae9e6c80b6eb010a57e9caf7d11f46347f5df2100ebb218cdf10054ffc140b04dce0cafe40cd2bffd3723e32c646714e4e1107046267851543c7d0747b1d61019d5e529cc7c0232c6a381239dfd9a4a4814e29a21256d4d0fa06378f99c9d10748d2ed6d3c19df159bdc78a38f2637a8e3fcfbfa9266f907170b958d475bac07a3abb4308e3b5ce5a11067b0fe0bd361f14cf73ae7fbcc9b88d92011288b4000d880af551843cd668dc79f221104483a4cb7f0d642a6b25b452ba5765efd27034c167fb7b0f67e717cc208297323673dcbcf6281e887f88dfa93fd2ec45f01000b23b0df9663ee28819650c8c85f101ea1a7e9a5e7da9bc9540c6f0925c54a064922df181b4881b8ced4d2d5ebb6bf4951bfa4926027f849f488c85888e6c507e7f9086f39b9da760a79ea39bab3791a1c8b418b4f951c48c318af3c614ef700a8c657aa325d23126b715d63a320a49b3e040b57840d75d01d9ebc2b5b9cb802cbffc1f1172654b492486255a027dbf8a3948b17392c71b1391a8cd722b4430575cf65f0a239d769a6e75c59dfeb8cda61f5268139288769e454ce053566db022c7cbe5626f1119f9cdbd880a659cbad28528d73a8bdc4ac0da250838c82bb01afb0aa09bea7c2269fd00c26883f951ba5d930f1a0e720327883432d91b39d06def4ce46cc3b2f1e645143ae7ff1eace6e1b3f3b263b92014f206f20c9653e0328f26927496c98aae77b1dfc49c074dd6f88ca6a5a8e128ff848ee2122ef0906c1bae77cef6038b08b43b56b5c26cea470b52fed097e69d3886575adb9ba4103a39636b7153e2128934ba10fe1038b07ae9a62b1a2f8b54a508461b5c0b71e0366b44eff555cef3cf4259b8b2258b3a911e1ecfb137c36fda40b1ed9f9d818037e060d137b02b12c0f4159628c82b37f39e3555488d3eb1fce20923174d64d057e364272b0ae8d8b680be9037a146fc2510f3ac10496071cb8f6981311dacb061c2c58b1e3e2da3ebcb77698786bf49b2e9f01ae0a9fe4eecde649702532570564231e887a4a6947061ba7abca0034585c35c18664aaec2fdf7906a0c7047e03639e7eb13a5fa14c318ee4714d2d193cf4e1d2f2e873901a340b803a0fdb6e024f9afac772754cb0bb0462596a2174f2d9883c6b9dc683309a63f40d28c01804b5fc4a844b8a7970de33aeec4ce6595c00818506397f3a88517762cfeb5a4b0763dce47ab45815fff9269896dec5b9d6bfbbf121928214089a1af8396fb1750033be13f40ba2974d9e4b5f7d29e39d1c2a2f4723869c6b29ffbe7d0c048d900782d92ad8702fc3a0633439d336ba2049be5f902b36904a8e1b90c7e2435f09076bf6e68fb2405fb97ffa0cc88b7915f864d208300a104d81db6819a67d4bdc0092a6308c956d58294b3ce8c10646f2a747b39c1fe1da2eeac811ecfe678466032e872ad0bacc1b653060273a28e4ff01cb63736abd73bf986c0d6224b3d37501bda564be02f5a7202a94ba8c0edf303070090d58746c15748586a4ba370889015e0efc7d69881797e97b5d4d16d5fc8ecd1868a5580af745c01d61e81c616b030064fede9ec1832815c9547f77c6e93e61603a32970baed059bd01f0c09c81067ac791c0e5bd0f1b94e8a2d945eb8f4c7cb63bc3f6e62f2c3434b8961a89ba0210dd2ad602861f28cda40b63235b71911775faf2f9e4f19f0d49729e366fe5052b0a3755ac44e1463fdb589546cf30dafbc0c7088b6b73eeb9ee37aef0fafb06b84290bc39f4ee6fc8a1338defd9672fd1573725f6c805fa0f4c4be605c1c202fa8b781a909a5294053cb82b7d9c4df5c6abf1ff83b7df93323d50faba0a500219890adf0772b9da227d77de680826ea7d7089093ad08a3ec3df05b8c1d2db016343ddc1eba1a39f03b19ebc447710ad85d487613cd3210cd7670b79b63a39062304e22a5f46dab293d15befbad8ca2484bc0ada7d8ddd2335771f4fe6618503b980802e2255cf3b13c446a973b86664311bb1982a5d61b1314e7f26fa7aaf0044b542d1f84a5fe8df2501b21f35a8c41a328fe34077e447af7c8f62bde8b105791dab95ab64d0bda0e2c2c4be1ccc30dbb39958a71a4a2b679e35f08e6e4e074c4e6afe6abecc600e03988adf8fab59c74349e72e5d1479dff9e35bd6773505fd8b2fa0ca24acefd1fc16e657488a055b4cd58117ee6609bc19989a1267480710e92553e8552b54fd5e9e0866616b51f017f01779f637b3fc816a8be4cb52000f9a64b07f9290b55c17a02c066caf1d0410a0744334ab0cc0e50b9f41c974078155810eef747d277923026a306c928218ab334111de65ca421d619148932601206a48257920c8974eb4c01aff01f647afd0a5ecbff15d40de040ae141f2b10374429d334cd947376263fb656e94f78bdf35e4341beba1d96fec0bb6267f39039f5104f136fa5af19e727cae8d5da9745e8ff91e3f36eec62bf49bb2f7cd87007aa5b852e8c1bb7044e7c9b5fc953b64c5dc38b4cbd1be39357c4561a7e100044a68a4999f9430c3b719681ce32ecfddc1ae96e6bc6c9bfc93129d717915040144a11275a8df41a939e2c112a92d808b69d4fa82430df6df6995a7cc3124e307633263882ade920e66ead42dd2edf5bc88c92bf773c7a8ac1b40a752f3529c02783e0d5330051e8dea43e21870ebe4b5bd8e9ac9f3e33c0f10601047a20d5703522db325b5279b0aaaefd042f93b5bb2b16e96c194ba33543f5685a3fb2d4306318e7bf9d6b663b0d15098104073f0dfd8eff4e9f0e2c64338b6f098355e5001b9c7654fe5332cbf4f76dca96de2f66e3919942f1d190517be01fb462668aa01df55d421ac75e808f072bf09132223aa79381a2e0584990a3577eb14594d5f02e4255822d4e6ef6f057b7aa3edcaeab1e486f6078905e1fb6e7ce09c0d1b33069a122615106cd56a63a1618acd62edb95c574331f4c080841c0e3dd66bfa0a01f50537de20ad861f3e87d0265633e174d903f1ef50d5e22fd55c97ab3a7b750295717a25f6dc9c459c9842312659e54cd0aac3290c6a14c5604fb8986baadf01b06c9a14608796899b3c8c68ff7af9285e67085635a76b40d91919a43965bd0678ec3b3e507bfff9b63981bd08a60b7914fdac727a7b885353872f6e2d7e34061df660325db32fcdbde9955886d39432b39aa8d01feb8105dd9ec6aceeab0e0049ea11fc3fde0af003af46e0b8de3255714de3d1d691b27a7258293823f32504465f2645d2834b7dfb2a7356b52f7586365b583a4e69c77791b7db52bbe3140282da9edb6e27b56d847682cdea06b4d72384f92923eca2f6ef65573dd3acc5013fcf573dc307599b49ce9ea60c9413521da993f9c9ad7098b92eb10b8e23e9027c9e5a9bf69de2891302b210f9ec94284fbdd5e92ee5e2ded533fec9ff294c0060f38bfc7dcddaf965daae488bde435ee30922130b41f44bbb428ab4cb36cf067680930bcc677b1fc0dd8b43eb8ad6b0eae9775ebb8ca0ada8f275f872f90c00ac719e23832ba2f62ee5b563060184b1f2cde7644881d241d84c4388f952a90018904aceeda310a88d885511772d5bf8fd99543beda45f1a9a83789d6c7e05001732c918398b7e8943872ef70d262bbfa9dbcf7a4efc4cc8d8caf0dc35182401181cbd3f49f3619eb7a456e2e49370006e2f80420ca9581e84b25d6ec95c5d05382f8ec5f02d57fe7652eae1984164cd8fcc53639d786708a5c549435b37d00735307043dc0d9e7c60346ee782c66ab5671d2670ccd1386ad3c5deee3cc442075382894c7e77efdc1581263f330f03d6b08121c8615c49aed5662a2e94fa1f057e9261ce4a0fc8d8b2ec2ca5a7dd838ef450a3cdeb3270aec5b31da1c73bb70633977da7016d931ffbcccf83e0d784ff615f3be21777156fc8adec5977340b07343dc7607b299339f46fc40293e47b4f797422018c40031450fbaf4f8ac2b001ead2b937512dec217f5ec8e5d295939f925ba0ae9ce346ce5e1f871194521b056d15648b137133e91ea1bfe4a6b98f0060af600add95a6c52a90f4be11463707f63cb143275396fe173c3b893de6b47f7f5449fc11f3e6ce0fc6b8a6a397940437dc891d34705fbf73513cfa072ddd5dfeff9040ebdd157722895c7537f07806e582fde312cc74ac8b8f1f3fe9d889093b87c0325988532d7a3736af9c4a53031ce7057ce90bc848e1ecb46b8110e23a74a94ff698fbecbd6ad6f1eb557719026503fde5c753648bafc0d19196c9cfd7a57158fde57dda387839cbb6f79ee6054628a4083abc5cd43fae3d5df657cd2ec7bd58fa64010048827530d9c8337905305341e4d81ca06fc6fb9385d277e6d1e39e12d42ebf6df82881dc4a10873200e6a93f5ce1151f0d4741a8256d76c9e3ba15accb0173a4182d146e2dba417505b90dd069de75f55af88af5794be003900478e1e9479a0fc6993848f9c5b95604d8fa7b45563cb4a6504326d3ae7771591b687cef2b31ce54472d655e6bd1ba02ce40d190b20894e5df8db6c3c09052e10ed35cf09e3f77ed8ae3d33e21bca803c457039b67b5efc24ca75ef462b454282b9963b400dde11bbc090f43acf35e06b4cad3fda8c674c2234701f0de5fddecdabfed4c78836d2fc9107485317e57020eeef72c4fb6ddebd7ae61c504c3e64aecb485c4e2755df4b5360a7ca3894802724dff55d09676645cbb5b7a4a86bc3653169334798444093f93aa39745403041187ff9e4d6187254a1faf0de97d26c6f6aab66ccefde99554972125d27d92014d692fdfd2ed9fed81a6fd0e6bd4f75fe33e8b48f80b29969ce4972adf2c3a0774aa2a80dc44abf9418d965d5c4525edc7ec2912c3fd6b3239c27634fa2029034688607fd1cbf44322743c62253518fb3e851ebf992f595c03fe7847f2a93f050ad2c58ce73a035a9e8cb5ed1fb5e0b552285db32ddb571a25dfe2d2d5e63e077c3f73d5b6970dbbc89e88d9fb224bfc22199e95f580637bed23dddd55c6920635c811fab7576c56aa83c60112ea543fdd578133f4ac544246d7be5bf57eb101563e7ce4ca28fb3967a3c920bef8401dd952f04bd6c0bd2b6059d884785ecb06928b8da9931fcc54b92c66b2800cb7c374f4044691cddf90175351c5b3f5cb0347c0870ceadaaf364b0c2103ae87b0ff49b8b609f9cd75cc77f83a47311ce2015f343f587047ca37d61945d97cd7d3088cfb6ce3a2352304d0987e22ec96e702b352587584d89b1c552d313129fac3771337f5a953e57f4c324ba14b4addce0759cb7c3ed73426baef43e4afcee38fab000d6d5874f99455978c00f4cc13c6067be79bbb2b32d070d81795f969716615e7f2041a4dddf1f7899331703b757a043da9e0ecac41d1d9f0020cfe15de561d8650858e14ff05996a3d44f8f7b10403d788c289afe1b40a35c5646ac8be86fbff998b398a2daff9b3979ae2646ed8026e364695fc7a397c710657bbbf4853b579cca25328e9d3e3b65e29113282e80514591e645bfbfffebf21a872ef401624777bcb1a64824f4ef12920a2fe4c7d011d72be5a40f0741b3992a4ef9237ffb429d6059a9f2695d091bcec5d4f0f8603225e9b518efa692ee8c3fd3e9fb14e8f77ca496dbc4312a29ceaffda66a75b0105dd82b547f5126023face3d410481cf2512c043265f016ea3ec138db65258058f4664b012350e65c2be23f30650670e99eb6b53fa8f555f7282e41e033e44054a6de7cccd3f9dcd3668c3552827ef3a4615cc51d59f24bff8f2a1722892d306ddd1c589a3bad1b47db42ec9230d826045ea54f1d93a3a14e3072de701865c048b4fa04b2ed5c5236b4c89e16c915ee3ac3ef8567d2649d1520f96ec61b0e104c086f29a9efb4fb0def41033988c8137f9b00f3663034779977d127e33f5cd0607dc13c1d6f284fb1f40d6924d9a3b7673c249f3ea44b76677f704233a3d1e0279016ebaebf484666c590a04b0dce71a6d8fb1f77b3445df1a67983fe8a6120385d6a0b0268e26bd4471b8ba5f0a516ccd9b9541d5c7b08257524608f34c86036d809ff1b599f75409b2db576ec782e0ccec76be6c6beae7950420ab9e26ff032f6332c3fcad7c4c33a7d20399e1eb29b11069f69bfa0fec24c757e1502f8e0340775d32a54a268b33e03fdc939f3d72871174d4c51207f4beba88b9ed645707650f8b47983fa35b71a6ead6ba9ea662db618c1fd8ea6cbd2c22a65cad013407e71ed1e335132a88ef4bd489598874acbed330a5437c8e2d092d16c1713913063322c7c836082121ea5d5567e776afe1b14e5656a75e7cb50fb01da186db180722d6a5c43f4c584628d8f7ea972e00c5ddcb48103d8436535a9219fef17938068d78564835c618c777b4c2e80269d3575208913be9d6996500aadcdecd30bf028e8d94fa9a441f3685a3e20b2fac4ac354fd7a61d0b6eeacffd48ae85e3e2f0554fb515385dcf3b51e71920c17f79c2f7bf5269580cb328bd92796d5998850073bfa6809155e68cca91257fb0f5fcd2afeeec3cc2be478fc25fc824c192d1c02a9cf42b7e4e7fa948e2262c5232181bb0a6dcf8eb301d4991b0d5f87091ae2027fa1d17a0be7c634802b023ee4b0cc7e888f07412d7deebc9e9a72fe7ce7440764a265c4a8d9fea0901eea1120455d1b1090c1752c25c38b637ec9611c899905e1066b471b4bdf50b692242b1a7027e2c20e4431685459b10961fa170c784903623313bfa778c2d79098822c4475b15df94fd8b6c2918ad720ed18782331f204f3194f404fbfc38faea128f9f334b22507aabbf1fd06c1a6631db32878c14a0007c7e4b97d637ffae51c005c78639481bac33eda1c7a39b1d52b4bcbe22a6102a6bdabcd31afdb37e353c655d601e8d769ee503b4e5cc7f2a6f44296d62d66078c98d99e440c658d0f42beb66732a516e2b2428cd8f88e2c16926506acc086060b40bcb6a775a66e92695093b3f859bfe2a876988e1e41abc674e5fc4129220690300819dcb5029c3e5761e5c9a3b0739bd87616a8c27e733966ca6417598807d28d62884c6a429302c9c544b1d05dcf75cf2c182efd34e9844704790919f300b62fe4c61c551a541b7b3f4ef152b1b75e8f85e1131060bb238544f6091ffc023751cf6852b1bf5f611c59797f3e5d063f1d8b6b156d4699d0bfd76d5610b405f8698e4b2ec1312b246d25d9b5ac48b549f3e1aafa763d66488126a52f0f70078440b230c23bf7689a65735da8c7b85ecca7c55141fe807da2956aba1f48610653d8d08ddae1dfe4801b295cfcdac32a755c76ca7d47b652d4ffcc16319f8c04a4b937e79dec3935c2a664f1bfaf6ff953a590125b448f4f46fa821ff53eb606f5573da81a05510b0ce0afa1d1456345320c0bc72599967776dc130e40ecc3069301532b628f5f6826d34c1e8ca8c6e21a6638219f669d59023570cc5d07e7064d6ccbc5f68627b25993d497d998b496aaa8e29baad3698c38c2de69bd7e62036f4f8411dad37d67eb3e009640ff078918266788e9bb235fd342627cf40432062bc5d98c78c9bdb08ef558bbe0e64992995d4574eb0889b7a62ee37f8de41b010e2ba1da00a0ae64a2a38eea81c74d4b7b8d092172a3d3e0c83ef3d864a365075051b21b5402da5bd6b354387a3e12d4271a0e5d17f773bfcfc71ce55db9cf04112fc58637b5c29eacdbd701db5a2257e2d2be9be45d92bf4a75b4d3d126c4079151bb1e1d2e7faef9cb5b83205eb65344069ad7d347dff798666cc9500087011f9f30d2953e59e75e53e9bd49cca787b17566b7a7997f441e06b0f4f9d793034df797d6ecfbec28d9dd9c891201d883e79693bfc1e7be0ad9a014d337e3550754acbf6f44d58296c982019c1d1d8d93acfe84770b2bc0f33313ea9d7e57090584a113df7cb6bff9d9a16d02535a8030b8177bfaa2ed617030df9a07f72d5106a8132e3d6c0a64c46d8ac74e51f8b3e32bd29223df4991956bd8f4eb3440c203719690c56d5e0d657f14ba764bf333e72bcc3535f86829828b5916f9f4e2d9079a87f2acf6f453fd0e2a3b75181102b6b0a4ecc88f72d899b26dcb025b7db70061fce06203405270c33eacd1d5132e2575b9a2a7f85e80bc971446229fe2a0036af8a290a9cd4ec51f6d322c4133d94083f5ceecebe5bdbde5ac5a9d052568066b8fa295e6dfc8693f315d7144ebe83fee3f095b42917dbc7736c2783af99c02b755048b3407ff0564df00549d90a423f1e70ca954350aa738b0b6f49107bd06fbdfafc7e4afacc95ad92608862303b0be40bc9da9075ff8da19eae029d0420165664e184137820f77b7ca394bbc0fb7bf263a5e780337ffb0120f5aab87950280778a6c66cba6a1c1d74219b7f6107a7cce066b9f869032e2d738a986eb2f0458937078064549c85e27c8d1d237ecb1bb139e6e78f8cbf0a11604d3d0ce740117ddffcdf49e1cf5c9e5833c21594d3349b50b0ff640180d074931f1a576a503907d09d0009b7fe419ec3645e2cbde315b018ab70b98a3ee8130ec72e0d2e500226a3ad5f3a59123e692543a12c05171e7d54a6cd9c46aea135498d799d7a501fefffa0b560a817a89264e09248cef8c827a24b1097e918ca1798676e24666049931fbbc0f0e6894b4d08fe677d0d0214be542e294ba0d1cba05fac34456cd06d02e900ce5008414311fd7c1b9062f9cca1bdc329e90d1f69b0e50b13446e1067b9c1d8b6aaa7f8098c5aab0a9a7aeef90c2da7eb79ad72f29f1bfc484ea5b02664b91d05909100695b51d95ec9a3883f95864acb2bb963ee23eed1631786a044f4234e7a6cde11487b494e6706fc216873d891d5e1463ab6eaf4041c26c4900deb10cfe4f99b6b3bc1d8aede9c73285fa14829730d5c3a77256a1d65faa9501a89b79d6d61e731642bb635014fa5d588a31469f49b0399c5bd735e4d796f402e2468c3eb96f82b7a5fdf87bc15eafe4fadee1871ad73aeadc733d8a4469b807ce5cf3cdc9bce6a558087ad4c81721a7144a2286cf46f7739b80cfc72ac14f071cb65259ff1a53a98e6c945584edac158dccccdef7c0aeee94f2f24b851ae0037e883f4f880e99a9f388bb3c78c0948e1673823f47dc1260e38a5a7de6be92037a0823c2733cea06da4f8cc6d8b178b8742835a681f6ac5814466bcc3d725f01d79b5750d2a1dc1deaaa7ef3b141c030868233455c1e4b01802c815bb71cff0341d599fcbdceb728db3ed75291da907e21d960f1ff8a0f5a9db4e5981bd84903a788b1433101a2c4842349572b491cba19b51535bd74aa437005237fa5e9a70166e3e7256b59e893163669e8d5ec96a12bac91110fd138a51eea375879611b07264ff4cc7b0b54e7d836e981c59c0eb05f6fa455681c615e2da1ed6dad7eea0047dc6f40e50dbef6e5409311a2cfa3ae9dd84eb4648c1dca077aec8b396c1401f0aad06336b0c3ecac6f91ddff6ee369cb7a7e759fd7c63bd61078069249d207a665040fcff72976b6999f8b54b80f799c9af4d94f16085b5142edb7df2caa01d9b9521553a06299b22b9832dedb482f25a1141b665d5e0c1f329eba5f5a5302478bbfae7f5b321da24ff59d115bbdd706763ce65b33c20c34e16d49f9896505d089f94e591ca820f4825ff27e83f19e5c13d583b3cf308d79aa0c11a38386003d2e518a6e72137d4197a99445465cc9a0d2e16ca078b53b6ef1369c5ac17e05079cb55f05091a01f572038e73b7a99c89cdad47e6f3665b927097a1cb3f1d060a2b6941673fac42041afa9c185266829ceb87075e55947778efb5e241d0d00008b6e940ed15c96754c06529d8c28ab6e02a955aab8c8adf696ff92005c6a1077384beb122ef98f390a86f70413fd07d705ef3feab3d9df1892fc83c50296501a1986bc4d42484755f1e70fecb53a6fc795c49e961bf1a1559a6595331754403eab80b64805ae833e27492732b8e4369f32511ac3237398f648626de0bdcdc005940b19276448ffd1f2120e36942f69c060668f012d92b31b5df2de714c65d03a7bab1df64e77d22f77775aedaa699180f123ac628e89e46c152c893dcf363065bb5c6ae9be8d455f11402e4c2acb71fc0fe38ede4eeb4480ba128670d141004ee30ad2f0875e44908fe73063dcf9561b53406cbc8bae2c79e708c170893e806ea1d6c65ca6d2faec6f999b9cfb31830444626807c46a4dcb41cc05e717f27061d668c02e6e8490e28c85d0c92d9e9762bfd0f33b0ca3a5f2f5cb0550f5383006f21d09673346e9052d6b0d39e51da0a6826153809b613782a2a6e3026eb1b02e307334ad8d2e2176a2002d8a92671737e61444e71456164af3bc984fa62b602f33131c4111aeb2e2f37cf9d80170ad4d48aca1bf9c1abbe486b455f6b2b8102edb05181afd9efd938925f71c1e7602916fd523c3d2daa89344617a3ad34530408017577586d5faeb2b4ef561a778dcc72a88f85c1352c0d2fa229b7f9144007664354a7dfb717c582813e92fcd3322dbe9f36697da2c89e4b2e83a2bdce8904bf9cca971405735ccff8cbbd936bfa2bb7f85cf9786dfb6dcfb8265c4e677606898f9fd9a510d516aca7dc3c247c424303456e6915da7d4a0181cbd41538b006cf52848060da89bbd35179f34165f2465dc77f7384e139b597531baab09ff3031dcb8e06e0dba17b602b9cf4bbd8e3abe669482d220416a1c0d5b0fc9206ec032296babd8e102dc1ed8c2774e5c2eb19fde77ffaa82a382065669a0027ade7026f60cc0f31bcfe5423bb6657b18d13c97eb7a06fc9c8d3ae2816c2a4a9d16403ebb28a5ecbbc947cad5fa7f33b5b64949a9fa285e5ba2ffc76c52d0884a479068c7f4c9ca4667c3ecf530c65b80cdfb92aa5e2e49f75344d9cd73650afb07604b81c2da553ad1a74c661dd58451de121bf65b524f1eb4b3fcba625a6935cd0055b93e121f3f644860b30085cf555efe409abd34246ad53e964cf139c37a43403e794d08887ac00d1ab3d8e896b4666e93852130cceeb40fbaee6287d1d4993024e8def945b3fd41287c330edb9c9c5ac065ad388df1a688b9068de7bdabcd604bf7e90304bdf6209d2e7ed9d73cd57743823b46c1f9a65476f5176fcd9a6d80775f1d9aa3de22fc79f596a8092b7fe45684c78087154fdc1f07dbaa412e38f030b958fdadf81249e39446e6248dc49125a1c8225f4d207f16711648b4a2bbc029a94bc66c56d3bb9d5ffdb1290fb203075db80e49cfdd3905723b19367bfcf00421c653d5f9948aa4dc9e8ea3720c76eda04274cc8433638bd0181f23406240351d88cf37019feb5007bc05297ebb20b91d25bc0f4d7ab16f4326b08a964ca0101476bb21e4dff2bfc27431f545e545e33b714f768e37d3b18f6925c15e970000a0cd3f49c51ee1190c94e750f8dffbc55b025367582f138e218652eb6dd5e03d282927c58f9243ec1f726d52077ef11c0fa9caca5ded2f033a8cc37793fd1063124b42e6a42707728cb778fcf136a63472e177d6cd3b1e7f715e3d4ecaa56063434a5e00ccbb38a1581e510afc9c8bd1997b6cf5dd20fa10c4623030d3cac0565953043b7ada476307d7074f7ec911f866325fe2d442017ceaff88d89ae4604981e9ff1e2dd38443e2a54858f6383c5134a3ffcd588893e8706fa7ce0c5fe07bd065f795bc6a499e005db112ff124fe972a190b07a9b3fe8af062a4640924025fca6e19aa132ecc318906c5327550b602b0e6f338aa1f371c8b604d42027b0078f2a7cc2599c1288c87e03d1f46416273451f1635f018a70f1515a49e090b030244ecd99d5d7fd66fdfd29325cd5758bebcb467ba11bebe541deeec58bcf106256e3303cdae611575fa919d06aa0512bd1088004042d0e84a4aad86ff544502783572be9c2a938d80c07e2f22015b134745b267fe4bdaa85219587bbe812504dcc21ab0a926b036f4718e2a6a82079159d031a7c1d26c630a4b512df9641d05e2ca1a04aef2d8659fe6fee236bf88de57c140962437b1b5cf82ee425be3220525b78343ffd125322e4aca81122397e58359849ef730f1e03f25ea4f315bf900691ed1bd11ed2f45ef54cd72e4d0ca311302ea7c700a914986ac6a8cb4901204dc478d33d19d8e1a9913b447b3423be3c7816a5f8d7b527c77dffffd0a3f4902a6ee2f46c4b77f2fc4586d2951572a596cd73900c3798294d97b904b1f8f62054272f2db6ab5b6c1ab31021802254e501b9c09a4ba79ff1ba0ea34db7e237006d13f2b1722b412e75d223d2e96d6d34010848ff76306c236be47f435f1c15700129cb40053591084481c11fd826a8b6eca97e6f469b50a29316ce70a50c0800707896ff5d195adb0066dbe02d3a8e1a2a1d0b05882e7c8b5dbeb493a1cd8ac05ed0e72d8ee0647aa4c6e31fb1d19157590254732f37a85598805ef1692d57a02f0975fd4782a2065097f4e5a507cbbaeb4b105501b558d3ed18078ca302bb4074556faa6e92ddce2b166c3ecc0915fa78c2b1bd00f8f718a1b99c7e632784c011a36458f6e04dbd0a30964b30c9d6c8d8ea2f0cba43f3880b5e336f832cb2606461c8d27fcab9e035c39b35e9a20af54569d492eedfc8703042e5ef4ee4bbb075a587a24bf363a33b971a7e37d9c8917b58bb7cb6acfa4dc1879c3a1ea312d0166ecf0db8ff04b9a8c9347311d423887b613064fd34110ed734fe6562711fb00064cb506142ec6fd94288db8536e5a4e0bf442631b77e78056940603742673078b907ac7d661e1bf04c7dce09a28fd770f51a5771be25b249c0f732c66607b0075688fa92004d5065e078013fc927745b691b891a5dddd0ab12a8bda16bb1d006267a60ab70662caee566d3e8ad3f5c1a93899d61d4a094e0317def6f24d9806ea9a03034b5f6eaf7ae666ab2a6c79cadcad919a88c7704053d6c276501d010315989bf2d58598f26d19e0123836a5be36ba7b9bab2ff81f84124a316fe5b307f32fe3271ee07093415d7ce0b11cd7c8daca6e64fc2f64fa70a90c4b424b0203d11d5cd4dd362976da22417a3d19cab92f5f7b1c030eaea910ffbef8c9cfe001e896d7a6d63badc4b6e4e3df733a7d6173d199fb6fa90945e9f202be05521306c2182ed323e94539b39b525e5eff4c55422d2a66936c2d78413cbb9b55fa2d02d8e44c1cbbede81acdf8251ee42fb4568d9be3b9137a548f81930b97dd8bf903ac56dae5b50b3f4f5c0c3aff14da274c608ba09a676d851eba6adcb467d58505f2481c46d1bdc5783918ae92293c5840611cfbc6ad2885acf9a72dff6b2120011f539fff08e250a2ea9f92c38842f436865265e742e692c5d88a7eee30fda4053d145cad723c98fe84e1b4881e615342b4e5830193c8212e6633cc4da3ce1b024be385e8a9d34133c548b4ec97280c6b82d12c3b223d5f77187d28c820175305a07269f20efd4304bd9e5deda11774040dc5306860687b0f3e429a1b46b4b5015e1c69454e5eac7346585add4dc21012985adb5771ee4002191917f37f16a4033ae925e62272a962c6768784f23e9ad31032fea4c7e68dded56be4670b16f500a7701f80e6b098ec5ad42284867d0272731782850acb1c182026188f07c53602e43abebebd171a2db7cba24b19689c0e5c00d3c6e9e6f39ef4dbe788bec3fb05d9b85434ab3593c98ab398f2c111427ceff8465f6b5d2cc7b620b6467e82d7072dc9bc38978f594c6a3fb47820d1b35b13b0bba9254f7bd80c70e7a2b93adc0657d0ff0777c89ad01b494c62858e871315f241708c8a831c685a4ee894ff89075a8a4b4df4b8760bcaa25593c9e6c57ddf2bb6c911c9a19d16d1485c9b27220226daedc52d91e5e85363b873a48b2af5476fbed9309674013baca95b9428a406ac98ca56350de9b57e4938a360f8da63fc5ab86b10b4a673bcf9c2b5c71969059d7094211956333999a777aa9943fb7e917caee3d4d03e2e7a52cc96c29f2202759397da9b921c9ea3560fca199cb68c9161c4141bb7283ec25edf4076613307619a73730c192844623646f404c634517e704758bb285bd33418b94718bcee063a56995bf7a5962993a96e8d633fcfeba08f5b63326c28f5197cff6981c51b025243a7b9660471cd7993ac4fc51c88835eda7f897e13455ac7183b1362cd19027bcfa3ea2c3977d0923fde3a2fa33957fe6ed840e9fa5b41e893897e80900e0433909433f58f6a5c72bec1a658e0f007582f2373182b85e0379fabd0316db9052a119f3d81bef75cde413d370ee69e29bae509c8b58ec3e7167d456883a5ce00d573912d0fe6c2c552c518a4657de73e80c3b61231d7dbed53fd4e1a3ffc0e02f1582074fe901f1d3a3072b891f7c4477cf18610c4896b9976c0e86854242000e45856581274450806a983a0093cc672102e34917215ab898d151f64d7ee440068fbcb9665f149a5fce8095104b253aedeee51253aae5be7fc9e89c7ee50300413a0813946d3d7bbfee23503b4282591eec68f478b95ae5a19ab058ef266370206c12e0fb72e366ad21e031baa5ffa8d22294547d4f17d5925aa20a934826003d9a456ff9992f233917cee31d0e35273f0dd4d6735521c34a208eabec6aacd0661d6bcbb9dbc4d157967e84db50a3b67d39fcf9d587678e65885f051826a4c001d42d671b2e1d71a2a47edadfddfb8f9243ec5ba18eb97f2b6a1aa9949f6d407e179728d1e10df1f21822863c5a4120cb2fc62baff9219244c93e8c700f028001edd1aafd4a5e36d52d4639a292337bc6e55db2f3d9daa4dda6c39f0abdc6b024581f6fb16205da6e3bcf602f9d0262ab7f8836d981c7a3e4f02afdc1a87c704fa63fd7a58887eec65d1eb9e7c227fd0d10c64a2095833f1544a1d26e4ab5c07707f38cc18affc2e77810b67b36d8fed634b2727e3755011c57f583c10104406cd58c4c7bc946f31e2a6f578f1f057e4956d3f5ddb131737d645ec8a78c5e1040e096d219672a72ef1c6a252730bb1cbd39f70d5b06e8ac10b5a130e21206806b52228255f3625c8b2f1d819531b38ea13c0f55e5c3583316972b9e96ed545032fb2b0d75601330a60ff5adc34b07a19eacb1e3f5869f2858aacd6d54d9d6807ce5f6acfc6cee2395fd703efeb0187eb0ee80ffbbdbbe6a11041ffcf119a5f06bf45807282be5571ab4f2a3098247bc0dbd18671917ad028fc31cb4f54188504fd5d810e41bf5d1a03609f6e3a6646199302c44edd0834b1c7ca6baf8928e404a91d9ec9d68b7549c7f9a7143ec351d2ee076d99b4994445ed38182cdc2d9402da2728ae3bb035993a23d8d58dc61465a27bc42972cc2942b0dd22f401d2330416febf0923e4af4d6f35f899c24d60133391a2057363b8da02a1c8a24b887f06dbf55057765435b1a7ee92a15ff8b448aeb7476c4acb18d9a07cbdcaf0f1c904dc924d03a2da5c26ca84e6159fd0cdc59cc9e6266aada6e86d6f8a99210d21019bbd3b40d0d1045525e48cb8758a8e170af02285c03ba471408176a021e748062b5a8f16c60f84c498c3713d9d29d85ab719e52adc1a311deecfb5f1dcd89c01acc76ecd9c6cf0a3cd3e0f3bc5c7a47b54113a3733cd2b3b5dd6013bf42dd90285dc8998ff51e8c7a7ee26cd3392f062cf6f02d245b5da109b1174f433ef4c04b2c39fc6d76c112f1b6e405ecc36c7a46ca09d4a52ad3496ebf5575d4e247106e5333efd742424168db99cc60ad1926358a5f5493a9d43027d04a12437af0202ea246ab5c19c7133346196d204355fe5c1a3b5bb08586038ed9793cc38fc710235c06d184d7f254c58eabe6de8556181d9975f5e4c2d57e3e3891dec9243e0036d29b019dfa04398be9a88e1a3510658d30b0ba92fac93355c045ff1693acd06c8e0e04efd724f4d7035a47b6a7416f08d52465c2207df1ea68af29abff11305043344cdbc22545d8a496688055c39f1c0eacea00fd29dc4d830fff6b7b9ab0168671791a3a62653a540a16afd87b2bcd84bacae60c186515e16a54aea86b90295f7c854af81974723e59181e044c48008c62fdc63fca1fb93956bc46172f106c5eb0a6684234593f5563903b45fddd49c3de588e402ee4318fda62219c63201a6459a18a2579666b35f8b409a95a967770e5d6e675c714860a7c4a454bbe006314c8cf4c9e1596c4c488120ca5f20e1d234dccf5143f6c8755af84042a25605dd4eaf3ed0e3301715ae0d7811a39cb025acd7b2df21a53059992f1007ec980265b0ac14072cb27316b6320f056cde77da09a5e05e046e78407cc72d10840d0691287791c7c1615babb63e009a4d3f553b8dfeac84a56a572ca46536ef22b000867218c054ce4a724c34bb1290a97cfa72e635e64bb2d0e014d2d4f081d6240172b6b5a0ddb9d3c5af30f3ee5d44eebcd8153b93867f807b7ec2b6778e8f2607956724d3e1734dba8642bf5febdbe65205b3878407fae59fd896290abdba0207df6d3bd09023ce4923a2ec9f90f03d210c5e4c9aa6ecedefbbebffdeb625340155e3331e3f3eb618e4caef10294330926dd59215bf30319531cbf849220b85026b4d910b64ab485202734355106a893cd97d887458b76a8d0022a77a3d3074075469eabc2d7dc3b300b0e67b6599f24c910e370a8600661e0bf90bf7fbac7307cf5288566e90a02a2e07e2243d5d821fbb9742a06a7c1f7643a398e901e314076c730a3ab94dcbad7b4eb1b10bda120837cf6bc40cd7d397a14e3a68c04d7704bff588b0d4b80451b8eb9f983c9b98f5e9579df5f31df28fe75d7b3fd24f74051fabead3a3b411ded911f88fb5ce96fbae8e700b90e67c3b653b8917657c6a02025cda174718886953b6eba322e312ee446dc74903d8a4fb1b314d4ca9250603b4b25117ab942e41e8a5c3ef86957c5381dbd8ba735e2293e0d08f8526d6a301b75e4aef3991a78be989efcc4e8bed00e4f55f72330e2f43fb81f913d9cc25060e0e73d0aa5fb89c136166318304960b880eea61352269fb75b914b74f83a9033c1096456cf93cb2fa9cfcdfc5fb775ae1799932ab0d4816f532a969942b1206c0ace8669157b3df2cb43f20177e8b6c8887bd4a32baa0da8868613fa7105206527a80ece812a127022c48ef75a07bc04e185454ec3a3b9377679604add117053b98eef48ae35068f9a347092f948387ab2d62d75658d7a20a7cc628538e63069af6292ec3665c7ecb7e2d6563c8ed29386a9b46a56bf6137904f4ba231d0802d3f5fbf4e2d1f12c5387e120d38fe58e4db8032b39f47d4d1d7e63a0ed281b01c2227d268c6069a826ab70d63bf15e4a784ca4fd85740c2ed63201074becae054c10db28b90a4b4521cf5b9ccdc34dca44abc8bf644308024bed6d8f68dee003ab4e6c75dbf365dcf37d89e01fdbe94045f77bff6eb4a6eb104e95a1741d83015160f88a1e3c60e8a1355d6fcd2903ba2cc15b1f0a7ebaad8bab47a068c3cc05778bf0574828d857d0e9ca2c4277eed02207e6983cefbb98e7569c7c7b9d420303d71d91e47a0491502bbd258ac4634fe98fc861e7beac7374342f0f1fba7f06af3bddf0ddf423350cc754a9f55aab023636ed05b87575a4bcb283ef83a71806a684d9928cc9c122bdefc506d9cebb8e468e7ed084930e37d3ceaca57f8223045072bc5f450941ccd55d6aff87b339645e43053fdc910775ccba9193af41410766425adb39ea38e428a94b9b2ae187dca4d5790ec11fd5cf22c7c1ba8cfb2b010f274dc130b214c3de680f428c41a3a5bcbc9f11dbe60449878e8182d2ce4703d207326e8cea3cb72bd881aafa332f9404facf846eb881dde11c010a909f1d02ffc08148456e16297096721b276f1edf5cbd379589b815624eba719af682a1060df7fd21e8f01c48cce3f405d5e4c1af48591bdb908ab6ebcccacf6168be8d030ed7ed46fbae4b9f5d361cfc4df2b9f93718d58b5ed6c1a7376b4aa49378e005a2f31a6652b4370a1767375035e51ea7d7381b2e2bc8bcae621346062dd6cd05a5526ad1060ae64a01794e1869b64e596a5cd22dfc18e6fe5c41abf63cd97504b285b627a581f35ce68adc6aaea7a0ee9144d250cd1aa11d801d776391cdbc07f5e042aa9e3602eb7c2161911aa1144be1b82a518ba1df1d429be3e498e936010e1267952a3d5882fbf3c3ea7234b1a7dae84937d90dba5f7939f282552a8907614a30452f36ead851e7d8b904df4de649d8043fe06cfe638e6dbc9ff96f430050214e1a3c4ce4c8e7972279e0821e86b90354be26846f5e3ee38142e6b9b905e6096f4053241609555ec2f0a70eb2a5b55785ae952985c5af6d091d08190d0489c9690806bde2bd6acb810a2a654f2a92318097789ecd917fbe44370abaeb0444d2b8391159d3dfb4d51c181b89b2ebff91f43eda250c067903ed4530a98406cb927bc03ac94c1c181443d506fbdabbd54c8a6b0ceef538b57d685d588fce067e1dfba06c03071cc04f7bb91254b5be47e8fbbfc6346f79a4e11af69fef57026c7cbb410a635d167474d65393667775b9c3d11c4171cf02e49afaf442a397060853f0d1440c986804714527b7eb5ae9c6eb226ac91d332a1cc8e6f86d8ecb0699777647f701204ea13510d253ee9716d28e7ebe33cc9650610cab2ac7a46407ff7943a83755b085725a1a3f502d7dd60b3ae8dcd2760dcef984d275c7bf4007aabc5747c984769e094caa8f9eb1509ddd41aa4f8244f511687d70342d3710041a0252a5c440491f9033378fe44cf55c21eb035ae893b30e50a654b8151eaf00a4dec4220488b3d0120e84949a59ae2e648050e763e8af0cde42a3a9e1eb18006986bb845f1e35e8c16190a8c263200ff5a1c88a9dcb5d63ec1af608f21f49037fa5ffa1f1d0c7d7aa52d590ef1f08488cad108c92bfb7791feb7bcb73094a0019b981294fc24ae6b4ae5440d9ee6a97d9c7432406be7de3bac88cbb84570e05c39ca77647b22998acf4a469c371c93f8b664279347d677a0dd5f3f60b1618019626c843320be30e86a411a1bc66250a0d78c36019e14f7a1f58294203d42d017926f93fe7454d9e767e6ea50e72ce0ac3c2e4ec158738333edfa4f295107807012f65d1c916f4327ea52248c05947935f0f54d0ec10fd8473e416e60ca11a03288f5989ee3592f004f7b119ed5aec9ece831eeded8d7c17c500a98dc6bce1044480702a49c6824bb394e5c1bcb5bbedce66d0a80ea8f862f3fbbc449a41db03c1b0cac8639bedcca1b34e5281b58e33027bf9914e86dd31343b39b9fbf2640389ff07cc96307efccada31e7dccb176a1b0741d290cb63025bc476bf4fc61802cae9125d1b3282bc67e3ee4a9239bff845ed095bbb843f0b64361754c6bb86079ca3dbbe3d548635c431bc170d9410fd99c812440de60c482689595c16bb7d0362486df1695ef0fcbe78324a0c763a67a57ee65571d6f870684ecfe776ef9404834eb25e970acc759ade4990a7bf55e8f6a2e696f0b9b8360a012e769719da044f9e2cd727e1babd81eafea290efd6cd0403fad2cbe83b6c7f45e80946681607924b656519083c075bc09afa8a82bcf3a9743980d45396e0035cf4bfe756b500a6deb7b83104713f2d525895e72d79eb67ed5c13a157b7b8d2e6b2144bc033000c7186b40603762ba951eb7aef31626dd5164c1640011433a295b3ee6ca0df04b6ee58c8f489ebc61be63bac70d2263f21523a88084c01d399b641d311a1b000dfb14a5d9098af4723bccc55fe4d05acffd7bde33a874bd2d44d257073733402736b304dc195ec6a064bc063210c59b27a30b8246187c19479903ae714a48603072895c1086a37b5dbf0a0e6c6f1827cf2606040d6993ff17b1778bed7e6f2056eb7ebf58510af437f2d6272a2b47535e0189d5e6f19c472b8f6166c368f290435f4a4623f68ecde669db34ce6271ca4e4826e85e404b84f88c759e9f6fc5f0321b4912960a2a3938bae44bd7ba1b4b7c075e4071197e7a3b2e07075da2817075bb0d7b73cafeb1d291136215acc9fc15043fbc45f0fb4c827012a82547af702edd68cd31a19604a7404848c86a0979a34f6bbc1e46c684f826019b9b481840076d92cef3d89dc26daecce82fc42287195b62667b3eaeed9b351e0aab3922e07f917f959d2a891ddeb0f83310e64a9fa7ed32b2302f33a2d7d854ff3db4fe901545694134e3a3aee51bca306b5c57e051603fe8c64171cc64df37d53920cfe019b1dd17c6b8e3550c9d73b6e614e78f90246ec267d586d7433f0b514ffb2080778ceac63cb7c5dcc65f568b107c0ce156ab5c8322d5fcc82edaa352e90e6f7058ce32def64af314c03dca5ad4173b07378b5126ca7f12f24d7254170b205210650e7927928160783092f4eda3b2e85467388f9b355ea0c56ba176fc87195e707e596d94c3e72354597f3247de4323f84823f159f7de2b4d1b98d6e6e9a20dd00872c983baf8aca0ca170d14fd4da2798ee1d4a87ca7bc2a0bca0bf1c34f943050de00830c9de21cd032364b320b2fa8c64dbf0921d15ec2cddbbd7cef81314065a7a39d4fa55cf5728df898884e8f16cf3abdae1f0fbfed3ae20e0865e180504aac392bb457538090b6406a7b805617a0ab09ddbbb6f059fc95b772017f45c028b86bf20dd2ff217290461ecb8dd75728f7b871b5fd383539eae64bcda7c2e07f8a898affe9df3c06b35fca4deaf2808d9c69cefc45ca7e9ec6236457f6924013133724b0b631a5e97db239a4ed22e82cd60c7c4bda8d8ffcdb0755615f7fb04943940c0b3920a62b96f4d4794aeea1f221de72330c60d450d7a21abcf44a3066aa25654aaf43bb1c7b278b29cbb2ce0c4700549c5af531e8457357452646205bf7e7ec20561cebb60fb881c23a180d593ca4082c033b7d648a5b0a97f89a0044dddaa9d3dcabad6d3c71fde8cb3f7277f3fe98aa0ac0e87ce3fb53a0befbc05c2a3683d31c2871d0e7508857fb52591c8124776f9daf37f6e6c12d146d52004bf498351d9a3305bc7bdced8d5a2f138315fe84707ccd5c408731c315ce83b06e2b1bf77a74fdf673027c98aa0eba64335e72619b65319cb7b729a6b51f9cc007b2e21e21bae1c810ce453968869f2c037a3230da76b19f25b2f66dddacc52047b8724f550156232080d0a408d816a1f880fd4d3c6e4f79cdba9a7add92606042fc239c91e9f536e0f0bc9f4ec995dc9d7910e30b35d91b08d313a16f455dc05e97995d3a19dd66fa9d2efaa73d68e46f469e88d3f3589f416c497b2faacdc0286359481ae67184d8b0107fa0f02a44f4fc6e857f0c1735f5578e93460d6b505cb842c27ef3fdf7dfd7f6aa00fa3de9fc782b650d77f25c69dfa534da9afdc064ebdd4ca5cdbfe37c68c13260a20541192e1a1686f17254c89c3e1ed9a41fb05df4cf4cdfbbd51d9756c2a6b42b9d24edf1db58e132820bc3ef01afc4fea37017e8d67afdd3ec9995975f661bab6578bdfa528d33d052a3f0c7085ba018ee8022d7b2bfd78a0676d486aa24b1752908c482ab7fc189d99034aaebe3e8324ff0703d751bed3d97a40b26325772357eb0fbdc5f1f2d769c82cb65e6858dbf07405508caef896faab201885532d8c984c495f9b6797824080d37c88b81583939306b5b5d7c066f4f54d0764ceed22f490b9c513fef8123fc704f74d4516ce2296003f99d874810f15bdb5ba4ad5415e8bcd15c264c5ea3de8052d9047ee4390110658a46460b7c9c935cd686f4b9043a39aea3aad405f09b46425457f44fa203f03fce9114ac9120b13dfc70179708261976e736e5bb986d170c8f9496f5240d2062751ff8f50e238a9a1a633f09355464e20beca70de086c23c103b985f87c8e01996373fad54944f46c00cdd0e621b20fbac23cc79dcee89167ec35114b0128061976092b4ef387eace073477d21fa0ccf148d7b5700cc365698e2a7152cd24031e2a391a36792dfec694c98a7f10bffe42ce986ffab073ad9df4873ccf0dc302caa30e7a0aa196fe052ea9cda8ac981d64f9a25a8d24c98c66ff2cc6b63dfd009908df973fa79447851c9475028d5c29147f42c693e8a01af65acb2f15a2d700d80e9705381cff699e581dfb65762dc01490aaf28521337ebb7e4f3df6d0fb07f35518919e4f247fdc8cda73ce73346d74226ac3c3b93f8eefd81960daad2b0515e20a78820c28a163555f109e93dabc97329706c00effc11db5a69f8ce64601ab5245e38b7d57f390c3accbd9fa5b7a62ce55bb985a4a39c18f52b8dcf4cf04d0714ddb697c7c57392917bf8b6d7777cf5ccc36a95356d03b2907e5b8a6290723abc0a2ff3f90aa193dbadca2efb4a9145bd8cd9b72d4d658bc71473f935f039a9ea831ef766e13bb3b2a78f9f487a6350b2cd1209887e785ece75364f52103c99a6191e252bbf56830a5938e7926b0162720fe0d7495e67a4668a0ceecb0023649111ec04022bf6319e021937b740d7dc436b21949877e79e69e08f458da06f110bf45eaffe9c4e0d0c861ba3195ec13ef30028ca08ebbc1be344120085e01606cdf127393def816f09607224b9d5c77565d3d8860e91bb9b84aaba1873f0208c888ec1f42c87223363774f835473fdc7885685a0f63fd1fa6d34f0724bc02f75276aca52074c22065603eef3406a71e2ae2f04c6c25c62e324fba2f497f04afc6ce69604a6e421e6d03aa14d2d1a96257b2a8129ac244d63622580fa0b701477aac17ee7628712c2d22f31e9045f70944e685849cc46d9a4571ed04c5d804174106afabc8424f7eabeba9437b18a526f54b43ee7aef50fe9be476dee36e0757b92104bdb7320c06ea9098650c1a51367d6e81bd09587281e1bde01bd9cd01fe56030b013ec0a0a0b61598a4f7f810e6060429f491ea6d4e162de59e49c304d6a1c9f8684c782ba4d4263547e09ecb58aba098df2abe4aba450b675c920802b3b95035f7277e2a7992c3cecd59e40955a5413e7fd7b73267d28c0f3403b00184b9201db895b5ceda6c2c4985fc3273da716bdbeec4ad67b144ad01fa64a607c0d7aeeab72b16de8b14a747ce0c3d48267e0ce61ba9c5a7323575f1409eeb021b8f2404ad13151fef1edd34aeb5391f944d32834dabb8f16f0418dd9a108e034aea6aa71268d3a3bcbfb80c46f326996cc116008dbddbff532fd4715de992066beebe1e9a3cbd0903e3ab15c050d6dea2ea782a16f4d477e5c32e9d0f37f901f53de3a9c4f022eaa7ea6a9ce3aeb39d5fd758984c94a80c3661d2f34853c7072b5a5986a7ac25107a6d78caffe04903cc09bd7ace02e4702d959e4dce334300a295c53ecd18ced228eac08888ccbe1030131292fe7173f4589f6c343b505b035fba0eb9b6c2a353057c0e2e8a0660d2abd83235538ee623912cfb277c5d6204d030455c4cc29ffecfd96a232d70c66b27754033a8c262fe6f942d3a0ce0ea01ddd03252fc5630f54cc5208be36b198ed1231495fda74a13b14a96ed547c7602a7cbcb649403fbca9a46d6e58d788e1a9d200c8102ea47b07af130dd7627e006ebf439f108c748805eb389c187868ee12e5717363c8bda4728de6f18aaea7b07a4ea36b48dfb95baa6c27bc9c96cb8061a866b29fc7aa38ad29ac0583c2b5a06240c1dd40190b88e25d578f934a508fe34e17ea7285b008fc483bd09d3ad2702fb623aab3d411e3a4390578c331a2e7b8705d115cb81dff648187bc815df2b05b6f8dc0b82cd20bc6b7a4afa689e1a997f864f88cc11754f489e201586219f034b893a377dd04486e6f018318631a4335cba52b67e1779fb67a3381ba26d270571cb8e56c6d25af1a3960d8ec1737b71b28ce0dd96446c9496e9481a9360f101de699e1fd907489985cf174b1e67b78bbfb4a9e63472eaf6fba0df21f3f26604af0e455182f0b8f514010fddf696c0a3a004b1b00f16a02e3ccde79a8e2213021d786de88bb83783217b63b8e3cbc7d4d2059fcf67331a0e633c5edd23f19c064ccdff79512f9090d984a006e18c308359e0dadd8fb2655133390b2ea8ce7e01e506909b9819eab513ae8b09290b33ab96f331b7408b7fb5b62e6934d47ce90275abfa436de03fbca4b21d63b515a1eef8c45f8fec0df28bec8ffcf5d41cf707f51598f5fe519a0691a629d6765ae7fe731777cf9e2a2212687816811ebdcc051f0f5d10c88052c1e2c45f29ea6d9aed9ef54d7cd481192914f8756747d9f201f97cb24395544a1fdeec41c7bebd1605b5778c0e5f59a2b149139ad1d9383d06c9f79d0c096e98a1e559fec2bbe88869cf9c7b7f702a4173e7715bc6c1477207c2bae0d86e183c8f97f2b6ebaf216089dbafd19a386a64a2d096a895058933069a5f1e02607b1967503460bb3d1014cd65e9f1453afe1ab5901be874a4d0e801f31308ea6c9eaf99c1456d4f2934ea28d0042528f50a8b97e61c732d866e40006d215c294f2897d55a8286621ab8e70c171647c88d7b35341fb5bdf693c8df05d70a3558ad1360217ab3f1fb71bd9882918c6306838bb122662065e0c07b180041d783b98732bd64aed534b4cd5446cf6b1b2f3e6b69ab248497b960451dbc01d91292e42f51e24e383ce01603db806f487bf30999ba1b954328ce30d66008014bc158b49b6846f121a34859f07f64a446565b8c73f8f9a61d8ae51f52703107515f533635d1ebd82ddfb483450447fe79ee292b87233cc803bc4f15eef5c3076d39e229ef3bcad3442bdcbf9ed1cd62c9661c42251601c4db1901baa08e69065fe83d54d06e18ba6b0eeffb119ddb68c9568ded45a3508735b21ec9b77b4b075226d6689eafd94745b6c8187461c5e6b61842fa0efead76134446e2e2f2060565747899d5ff3ef4082cccd6233adcd92634ffce2c92f1d609d47e46bb196d072f451890b06b1784436d732675083e661311773e883128e94e059501da84f302ea304962cda76bd1b31ba2e349d4b61979107f50259d32b82634673fd5f5de05f1a7549d901ce60a06a61a60fe6ea22d56a4cb62c149aaaf0ed1497b915f9c04e2df731dd659f158adb86e87aa2ff715048c5cd6572ebde0d1c384742a9807030ef297f0d880483947ff0b706c5ee6ff98143b1740d0d42090d904bbae082d0566e346f3d1b45a167ed665cee533e7e801bf7346703770e6e383e64b74e07306633ea9eb5475b9fd8af3737481d705a601d02dcdb202f7878e4934135bf1d4015ae0198aa7fefe102832b08ab645108a4c34173a7fde3b09a076b4506814b6078200fe1ce938eef7ce4cbc874b6c5dca9f1166522262f5341184161204ecc50626ccd99bd9a6fdf965efc887502daeae4b4ef0bdf8d7b1d2005b0ad45ae5d1039c6c18fe503698f87b8b9be4116c3d74cef420cc056db7836a0e2442283b5d00d0dfe4cde076efd81ae51b5ae112be40c57b0930b78e2a910da4c920e41110074a4723182c1ba3c986b619d6a559dc2b74038243ede3b20b64bde6e69df56f041687c8ac33c1def8466766ab56b6dae455a1bfcba5f3652366c77c2804ba64002881ba90485ec93ad40753fea7ac38a7a25b225bb45b7f4b10d890b348473d076dba08a47105007f3a74e4bc9b81637ca56e7455a6aa2853928aad658b34cc068c103991045d384841d618e05884fb8767dc8e748ae23dd75d55833cdef40c030642fc5d2d3c878dc26f00309ad683d7724cf431f060ad491cfa8f0bb69f6f06596a36d14e8dced10e210e12eae98e0d3240fc0fbf2d7d489ebec2463dbf550604c96181b0e8292626c5ea14ec401ecd42acc518d0e5c80d968b3d362d7ade0170affbe7a53963664962ee2dda283c08a2a40c76058ec6e14b012440b1c2ba00a08923f2208ea47bf82ef5c6de9d4a664255457088eeaf2deaef5f13a6773c03b84d1fa96b9e7e6e9317bda2458d7cf89bf230afb12237ecac4b144d15aba00433b0b9a578787fbd78063bec7e351e4901307b9bac3b214bdab6d455cf7e1b012faf4ebbc3771da2292aadb8a213d255ab0511d1431b916b4ccb70cb0a4198028a3614f9fe1c2744c2727e88374df16c30c6672b40f4e6c81b6107f9e0245c06fd700b51361b65862e54a0ae6e8cb57c65e82246909b794b31af1d7014921402394c305cd18351cc54ec5b798b4e104d89faca789b4224bb119383392d48f4057897350a8b0a08911f166eb30dfa57c823d15041e7b2850915054a97859cbe0368e3020e21bcac82035c7f43805a20b2f9455a12427fb718a35bef95fda5c201946359910b15c5664eb8ec37c589152d8daea1460d04ff7f31f515c6d92c8a01c46b6e1729062aea643369fcdced45c38f17da6d022dc3197d978e94d320530465aa421b6d565ad8854f33dc4373bbd6241446347592148d9e014a00556c7f022c004ead1eee2a08ec53ac230b0a9dce7a8b0859ac664c19d9779bf3fcefe9053693316e36095766edbd50296d8964c4dbf2f9a46d42db4d1a3b2a7e7afcaa02b8ce1f44dbbe7428176a8f8f4ddcd3c6d276db3abfbc97f835b580877891c0026dfccc556f44ce6c8bc5157387dc2a7b85e427940c0a1f730606ea392baf630066ad4d9c26dabc273a49d678f8fbae2847e427c29e25e4377639f154bf491b05131de3442661e898fd801dad578dcbbe666141f090bd7941723fd87f0f11340108fdbd325409d4a9367c3e22ce382e6fdd846f75cdc8278a458f0e7de0f9960169bb079e8e1c19839c937833026125154fc4d7bb91a3c5e0a4903a32db1916046445bc1679a8ab4038e3307188759dc7e30aef6656e21074fd8366bfd365840658bf4dbffe486d0af44e9157600c2ddb088923758f4856695c1e8c3ebdbbea066883e1326841901b37d51564e37194991fe1957b4edd945dd940e2f47ff0d003ad04bc7b0ec9ed6a3abeb350b29dbcc09bd5310241b45463e1c0d366e76f9d02df56fd16fd1671d32d5c026ec0d0f7a663a7b5740d8affe6d392bc90c5a636041665b4b7356222fedcd68861e7357cc54068affd1dcbb60207f2bef73efc900012caa88a48d707b1737f6c5f22e9a6d487045d6c897875eac23497ea23dec7069d952b6d86a04679a99d439a31b9e2f04ef14aed8da74b04d2a5f698f3d952019ecadc82985cde1d916fb88c7d126414f70db186296e2744ef6778a0ecf8ec0561f3533f9c9059ad84964a1c4b7fce8957ada7e9107a433ee3031d1b55dd6e05423e027422067c128d49f4c413b0067c47f2a9695a2b7efd65b89a7ee1e896000a860cf92038cb7a31586e5e10c2b187becabc079431dab9225718c3dd4fe40401eb0cc5e38339898eca2e2c45bf55a672302c76cf98083fffa1a4cb56bd0f06ecea03bb40dac2717fd222d1fd310bf105ba421346ca4f097d21b7d97d19ff06ad16a357fa0b48284483465e80563aaca5bb3f4e48e2a9f2486272e8c9dd8a043d7e7a41b7167331992c49547e3347691f27c10c6152e541513a480d2d409101dfa0a27a5185fe0e46b9cb2b6e6832a7bbf5619da90cf905f88ef5349f95dc05a3954d59c18e0ad6182847020e5588775446cb11965516d5d36578d3ca739700e585309fbede4ae6885a45bc0b1beb7362e57b278b6aa05c0492189afca0f400812ad4483768d9b1b4914d4887939ea3e536410e83a88b99db82a298243999042c38d4252329189dcd02fa28a9936020a5938bb8fe7a037f42caa3d511ee6303af41265c69a8f381e775d460c427a0cb30f62a783c12ed0d94976bd6aa7ed9022f6664d9bf7ad8307910de9e1c435b6cf728e7ca288bf79173c387d55590f6079b03b56f1ba558290c92e5c54c6e3fd8b6de64f4c14f162420b29ff9058da704f5b4baa4666895715990c7519ef6c91607afd67a35dd05f098fab12d76f5d10588ae51659fda953006a4e9c302c98e0c73170e0219645b4eb8c9efe77d9073072d89237ad0a84c778e906faba4245a94f578e6286c07e544781ad5bd0d9092072c6d5c17931f44a33bca8cf72ad5fc7c393e02aae3a05b42f349741f2826a703d5c026ccd73d62101f682a31de2737ac70549dc429be4c21a950615b3ec7dc05794d29ad6eb301a6fa09e36b453cee7df3495718ea59c06d2b55d8667fa0c0039d239e2694edd0d3bf54e5a3bf3479924d21dcde464c721288e91d212a7d3b0155c4eab2f6c5999bbc4f8a628e70d1ac4d63b0614b4f6e8a2d84202f5c984b01df5ae90086eea7978c40b374ee2478e5f15ee30b327b485c5a0e2d89c734ef06b9bf02691b03808237441d9e041f5b2ac3d1b5eb0187401ed1a05ffdeec9a502453954401d4211475de358bc909ab64cdf4f0e0331c08432aca01a7ab49254061c64d145f7ca7fd6d28091a6103c04a976d9e4b1887e676a627e8928d142fd0326fbebd85995b123b04dd4004c03fd5c926d5286d97ae28cf5ac2f89da31130163dc20a6450102c11349715a6e7252dce8ed6c5d9b80c892604436484c579201d251cb05becbec7988a35975f7dff0efca173dee6efbd75030807baa8b11b7076db451b5136463d2fe8f53e39b8de3424c3f55ec91427154b304c2e576f7470197b1ca906de31b81f3bde866d06c82c8e89eebbbc3ef96c3778dd937c2c417073ab40bbff5bfe65760f1c225cf07cbedbc2c5466345a1c1f6cb93b704173d4052e609ac508e9477c60006289e85eecb461485a8e11e895ab4bbeb1f40a5c66049753b09b85d0371ed1a668333428558cbb0cba396acb693eea701f11eea1a10168b8116a47929828b8f4010ebdd8a05df3407d9bfa6a4331c660996a89f5e806c242c40f6b362d78394cf53b39a02ab0f0c50744d0d0580967a5f9882332ac03456c9667313c65900c0762ba1451a3299137e96f3400cbbd5da48c393d2b18018a4d3285a805bfbce5a47e0b8e5f1184aea50e8ea0863a5aad3c81ca69a60e01f8553926f5668abe6fb455af8e931504114163499b52fb75e9f6040108a03c01a0f3fce8399281c625900b311f4570c230a25dbb4ba435606472347098fe21050986ac537aba2df7479cf77a1ec74ef9f1439c906b813d9c1a98da3027336c031631a9ee3a2f092ea0b04b1fa96d4fc3ef5e54054b4cf31ebf9f1ce4ad73df05b6fd4843ae8d5d6ac619d206bfde35426fc8ceafb7ddc15941527bf20ec3350539e40dde4b3e0efcdb50850922b2c96172d2f00652fa443c4718042e0fe19a01b5a6d6b934102823a0da47917bbefc5dd479ffd22ad7ff6c28f6bd182b2580005403d4cd2160975ed7cf629f7fc7bf7e1640f7219a5e542e9520199e708f350434133447a02811b7deda38e993f5286098cd5d3ff955009d9bf971d3470619042a51bc811f65b5b6634d154884ddff9eda9723fd7b97dff8db22cb51e5d30f01912a1c6c5bc9eac0a0baf69f5917430519457a89bea6d26f85d536623ef47f0642d5275dedeb9236f58efcd774d8a6077894c623eabdf2805fc3451aeb8f8a01f1fa9010d7b8be0fc1e20ab11151b9f9b4836346e018b231ea4693cfa74b3906773a31c5b40acb3120a3a786cf331e1d237d22117c50551614382b67ca0575005d3c7a700f4eda10bcaf6041951fc9c85b5a23a2a31e90cbc49354f90f180b05e7afb6e50a64106f4df8112fba9d80c72ef8de4f46e4d77247d990c5c4324406ff0feb4f9439657d0fa1320570a6caf8f21ebdcc5ab28753cf70f1642ab946012e96f0c7ebfe2f11fa9834a621fd6c6c2a29573c23e29a8f9eb90dc105d61505ad11c1c4e0bb3ec29e7bdc9b1f1627d393fd95dad3ab1bab7581f10eff7d7303b4cddf6f12a741df196642392cce8e728dc282402b5fb988e3e097c11b6aba05100cae4e89d2baa16db22e043a270415fe609ff2634cce6b291d89ee997241063b4dc4b04afc1f60de387a5eaf3eae86bebbc739b27935c6365947883611d1057fc37bba933e16afb81e0ee98695b417a1a8576c2f8bac79f17645ce5060930288b921a2c6a9f5a56030a0b8ce9ab7dccfcc3001a76bbeca73cfc1ba3e339f037e74225fff08f7b30e4262529be28e44e1587ea5422c46d5c8264a6a8114f2060a498fd76efd2ce06e25b9b7918ff48422b18f8a02b0310c82fa58481d7b8b019427a750b9db2d8345a78b2ae771f12716f43fc5917422f2d63e91f63c671206ed5b1839805018a138dcd73ff277e9806b9bb2d88793e4f276fc5b62db443501b62a7d35d7c33f4a406446d67356327e97c7fe4fcd4de4bf6e94e4cb321e4001f5f3cfa36c0b84dff5a3f71ee7f2799f56f1b4696d9be3a485421736a8ac6e04f8ef12246997f26666f2b342f0519cd49a8aea9d6522bfa9a8cf12e698662601ceaf6765aae1e9df7cd1f71ab712f957c20cc7081bb12a4edc93183d6c309c01503d6302e01b65be0e1fc457f678bafd8130e809fa08150c4bed415f15d69205017bb3ff5cfb9bb8d753a4432bd6de32cfe4ecc5f8bcefd4ac956c7695225305604a4c555187b8cd045b722776c2260f432dd26918bf1b834f02586a24e2a6019c379f68b0127bcf026c3bb5824f978aa3b5d5e402be0ba07cb425bf5af0e103abcddbbd17864098d1544f9d3c566b867c83593a8bd1d18c36b57724167e5506a4e25f8b252181654d8d973a28d3fdcff1d8176ba9b009b89fd5cce717ce270790c076e9ca5c238a75123e812dce4b5e7cc8be07ddc4810d87a596af88e92805574fb7a5c63a897580cdeb9f0759dc5e9d50f57e42ece5ed63aa5a86ea8dac01d61a275d6d0de049c1e6bb2641e78c1d80681b5c60170556ac0257a255cf70062d3058d2582f9fe1ba4a851d4cb100d413c8e0cdab75678ac2ac23ebf3241c0445b95435f43789d6b0ec50e70d367f4faceeb5f550ab79f37c34c427269e42045803abaeee1f718264ff1b1e9afb575c2a91cd8a4d0a673f37622bc5a27e2b0705bbc8bedbb54e63f9823164ae4155a96802439db9c37a0d67ee186be1ac06", + "proof_parameters" : + { + "channel_hash" : "poseidon3", + "commitment_hash" : "keccak256_masked160_lsb", + "field" : "PrimeField0", + "n_verifier_friendly_commitment_layers" : 100, + "pow_hash" : "keccak256", + "stark" : + { + "fri" : + { + "fri_step_list" : + [ + 0, + 4, + 4, + 3, + 1 + ], + "last_layer_degree_bound" : 128, + "n_queries" : 10, + "proof_of_work_bits" : 30 + }, + "log_n_cosets" : 4 + }, + "statement" : + { + "page_hash" : "pedersen" + }, + "use_extension_field" : false, + "verifier_friendly_channel_updates" : true, + "verifier_friendly_commitment_hash" : "poseidon3" + }, + "prover_config" : + { + "cached_lde_config" : + { + "store_full_lde" : false, + "use_fft_for_eval" : false + }, + "constraint_polynomial_task_size" : 256, + "n_out_of_memory_merkle_layers" : 0, + "table_prover_n_tasks_per_segment" : 32 + }, + "public_input" : + { + "dynamic_params" : null, + "layout" : "starknet_with_keccak", + "memory_segments" : + { + "bitwise" : + { + "begin_addr" : 5270, + "stop_ptr" : 5270 + }, + "ec_op" : + { + "begin_addr" : 7830, + "stop_ptr" : 7830 + }, + "ecdsa" : + { + "begin_addr" : 5238, + "stop_ptr" : 5238 + }, + "execution" : + { + "begin_addr" : 41, + "stop_ptr" : 116 + }, + "keccak" : + { + "begin_addr" : 8054, + "stop_ptr" : 8054 + }, + "output" : + { + "begin_addr" : 116, + "stop_ptr" : 118 + }, + "pedersen" : + { + "begin_addr" : 118, + "stop_ptr" : 118 + }, + "poseidon" : + { + "begin_addr" : 8310, + "stop_ptr" : 8310 + }, + "program" : + { + "begin_addr" : 1, + "stop_ptr" : 5 + }, + "range_check" : + { + "begin_addr" : 3190, + "stop_ptr" : 3190 + } + }, + "n_steps" : 32768, + "public_memory" : + [ + { + "address" : 1, + "page" : 0, + "value" : "0x40780017fff7fff" + }, + { + "address" : 2, + "page" : 0, + "value" : "0x8" + }, + { + "address" : 3, + "page" : 0, + "value" : "0x1104800180018000" + }, + { + "address" : 4, + "page" : 0, + "value" : "0x4" + }, + { + "address" : 5, + "page" : 0, + "value" : "0x10780017fff7fff" + }, + { + "address" : 6, + "page" : 0, + "value" : "0x0" + }, + { + "address" : 7, + "page" : 0, + "value" : "0x40780017fff7fff" + }, + { + "address" : 8, + "page" : 0, + "value" : "0x1" + }, + { + "address" : 9, + "page" : 0, + "value" : "0x400380007ff68000" + }, + { + "address" : 10, + "page" : 0, + "value" : "0x480680017fff8000" + }, + { + "address" : 11, + "page" : 0, + "value" : "0x1" + }, + { + "address" : 12, + "page" : 0, + "value" : "0x480680017fff8000" + }, + { + "address" : 13, + "page" : 0, + "value" : "0x1" + }, + { + "address" : 14, + "page" : 0, + "value" : "0x480a80007fff8000" + }, + { + "address" : 15, + "page" : 0, + "value" : "0x1104800180018000" + }, + { + "address" : 16, + "page" : 0, + "value" : "0xd" + }, + { + "address" : 17, + "page" : 0, + "value" : "0x400280017ff67fff" + }, + { + "address" : 18, + "page" : 0, + "value" : "0x482680017ff68000" + }, + { + "address" : 19, + "page" : 0, + "value" : "0x2" + }, + { + "address" : 20, + "page" : 0, + "value" : "0x480a7ff77fff8000" + }, + { + "address" : 21, + "page" : 0, + "value" : "0x480a7ff87fff8000" + }, + { + "address" : 22, + "page" : 0, + "value" : "0x480a7ff97fff8000" + }, + { + "address" : 23, + "page" : 0, + "value" : "0x480a7ffa7fff8000" + }, + { + "address" : 24, + "page" : 0, + "value" : "0x480a7ffb7fff8000" + }, + { + "address" : 25, + "page" : 0, + "value" : "0x480a7ffc7fff8000" + }, + { + "address" : 26, + "page" : 0, + "value" : "0x480a7ffd7fff8000" + }, + { + "address" : 27, + "page" : 0, + "value" : "0x208b7fff7fff7ffe" + }, + { + "address" : 28, + "page" : 0, + "value" : "0x20780017fff7ffd" + }, + { + "address" : 29, + "page" : 0, + "value" : "0x4" + }, + { + "address" : 30, + "page" : 0, + "value" : "0x480a7ffc7fff8000" + }, + { + "address" : 31, + "page" : 0, + "value" : "0x208b7fff7fff7ffe" + }, + { + "address" : 32, + "page" : 0, + "value" : "0x480a7ffc7fff8000" + }, + { + "address" : 33, + "page" : 0, + "value" : "0x482a7ffc7ffb8000" + }, + { + "address" : 34, + "page" : 0, + "value" : "0x482680017ffd8000" + }, + { + "address" : 35, + "page" : 0, + "value" : "0x800000000000011000000000000000000000000000000000000000000000000" + }, + { + "address" : 36, + "page" : 0, + "value" : "0x1104800180018000" + }, + { + "address" : 37, + "page" : 0, + "value" : "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff9" + }, + { + "address" : 38, + "page" : 0, + "value" : "0x208b7fff7fff7ffe" + }, + { + "address" : 39, + "page" : 0, + "value" : "0x29" + }, + { + "address" : 40, + "page" : 0, + "value" : "0x0" + }, + { + "address" : 41, + "page" : 0, + "value" : "0x74" + }, + { + "address" : 42, + "page" : 0, + "value" : "0x76" + }, + { + "address" : 43, + "page" : 0, + "value" : "0xc76" + }, + { + "address" : 44, + "page" : 0, + "value" : "0x1476" + }, + { + "address" : 45, + "page" : 0, + "value" : "0x1496" + }, + { + "address" : 46, + "page" : 0, + "value" : "0x1e96" + }, + { + "address" : 47, + "page" : 0, + "value" : "0x1f76" + }, + { + "address" : 48, + "page" : 0, + "value" : "0x2076" + }, + { + "address" : 108, + "page" : 0, + "value" : "0x76" + }, + { + "address" : 109, + "page" : 0, + "value" : "0x76" + }, + { + "address" : 110, + "page" : 0, + "value" : "0xc76" + }, + { + "address" : 111, + "page" : 0, + "value" : "0x1476" + }, + { + "address" : 112, + "page" : 0, + "value" : "0x1496" + }, + { + "address" : 113, + "page" : 0, + "value" : "0x1e96" + }, + { + "address" : 114, + "page" : 0, + "value" : "0x1f76" + }, + { + "address" : 115, + "page" : 0, + "value" : "0x2076" + }, + { + "address" : 116, + "page" : 0, + "value" : "0xa" + }, + { + "address" : 117, + "page" : 0, + "value" : "0x90" + } + ], + "rc_max" : 32769, + "rc_min" : 32758 + }, + "version" : + { + "commit_hash" : "INVALID_COMMIT", + "proof_hash" : "INVALID_PROOF_HASH", + "statement_name" : "INVALID_NAME" + } +} \ No newline at end of file diff --git a/test_layouts.py b/test_layouts.py index 95d67d9fd..e9e3a5194 100644 --- a/test_layouts.py +++ b/test_layouts.py @@ -24,7 +24,7 @@ def log_and_run(commands, description, cwd=None): # List of layouts to test -LAYOUTS = ["DEX", "RECURSIVE", "RECURSIVE_WITH_POSEIDON", "SMALL"] +LAYOUTS = ["DEX", "RECURSIVE", "RECURSIVE_WITH_POSEIDON", "SMALL", "STARKNET", "STARKNET_WITH_KECCAK"] # Main function to run the tests and optionally restore the src folder From 8b29aa1d4ffa253d84d410912c6f34299a05ebdd Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 21 Mar 2024 07:48:43 +0100 Subject: [PATCH 09/29] add starknet_with_keccak to ci --- .../workflows/proof_verification_tests.yml | 2 +- src/air/layouts.cairo | 4 ++-- src/deserialization/stark.cairo | 4 ++-- src/deserialization/traces.cairo | 12 +++++----- src/lib.cairo | 8 +++---- src/oods.cairo | 20 ++++++++--------- src/stark.cairo | 22 +++++++++---------- src/stark/stark_commit.cairo | 14 ++++++------ src/stark/stark_verify.cairo | 4 ++-- 9 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index cd3eb4dcb..85047f0dd 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet"] + layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet", "starknet_with_keccak"] steps: - name: Checkout repository uses: actions/checkout@v3 diff --git a/src/air/layouts.cairo b/src/air/layouts.cairo index f92f4f388..8ef3e9169 100644 --- a/src/air/layouts.cairo +++ b/src/air/layouts.cairo @@ -2,10 +2,10 @@ // mod dex; // === DEX END === // === RECURSIVE BEGIN === -mod recursive; +// mod recursive; // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === -// mod recursive_with_poseidon; +mod recursive_with_poseidon; // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // mod small; diff --git a/src/deserialization/stark.cairo b/src/deserialization/stark.cairo index caed9bfc1..29c39d6c2 100644 --- a/src/deserialization/stark.cairo +++ b/src/deserialization/stark.cairo @@ -7,10 +7,10 @@ use cairo_verifier::{ // air::layouts::dex::traces::TracesConfig, // === DEX END === // === RECURSIVE BEGIN === - air::layouts::recursive::traces::TracesConfig, + // air::layouts::recursive::traces::TracesConfig, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - // air::layouts::recursive_with_poseidon::traces::TracesConfig, + air::layouts::recursive_with_poseidon::traces::TracesConfig, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::traces::TracesConfig, diff --git a/src/deserialization/traces.cairo b/src/deserialization/traces.cairo index acf2bdf33..b0070e4a1 100644 --- a/src/deserialization/traces.cairo +++ b/src/deserialization/traces.cairo @@ -5,14 +5,14 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - air::layouts::recursive::{ - traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} - }, - // === RECURSIVE END === - // === RECURSIVE_WITH_POSEIDON BEGIN === - // air::layouts::recursive_with_poseidon::{ + // air::layouts::recursive::{ // traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} // }, + // === RECURSIVE END === + // === RECURSIVE_WITH_POSEIDON BEGIN === + air::layouts::recursive_with_poseidon::{ + traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} + }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::{ diff --git a/src/lib.cairo b/src/lib.cairo index 6545a1b82..3ad553338 100644 --- a/src/lib.cairo +++ b/src/lib.cairo @@ -1,6 +1,6 @@ mod air; // === RECURSIVE BEGIN === -mod benches; +// mod benches; // === RECURSIVE END === mod channel; mod common; @@ -15,7 +15,7 @@ mod table_commitment; mod vector_commitment; // === RECURSIVE BEGIN === -mod tests; +// mod tests; // === RECURSIVE END === use cairo_verifier::{ @@ -24,10 +24,10 @@ use cairo_verifier::{ // air::layouts::dex::public_input::DexPublicInputImpl as PublicInputImpl, // === DEX END === // === RECURSIVE BEGIN === - air::layouts::recursive::public_input::RecursivePublicInputImpl as PublicInputImpl, + // air::layouts::recursive::public_input::RecursivePublicInputImpl as PublicInputImpl, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === -// air::layouts::recursive_with_poseidon::public_input::RecursiveWithPoseidonPublicInputImpl as PublicInputImpl, +air::layouts::recursive_with_poseidon::public_input::RecursiveWithPoseidonPublicInputImpl as PublicInputImpl, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::public_input::SmallPublicInputImpl as PublicInputImpl, diff --git a/src/oods.cairo b/src/oods.cairo index 4b7f918e9..4ae22cc1b 100644 --- a/src/oods.cairo +++ b/src/oods.cairo @@ -8,18 +8,18 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - air::layouts::recursive::{ - AIRComposition, AIROods, RecursiveAIRCompositionImpl, RecursiveAIROodsImpl, - global_values::InteractionElements, public_input::PublicInput, traces::TracesDecommitment, - constants::CONSTRAINT_DEGREE, - }, + // air::layouts::recursive::{ + // AIRComposition, AIROods, RecursiveAIRCompositionImpl, RecursiveAIROodsImpl, + // global_values::InteractionElements, public_input::PublicInput, traces::TracesDecommitment, + // constants::CONSTRAINT_DEGREE, + // }, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - // air::layouts::recursive_with_poseidon::{ - // AIRComposition, AIROods, RecursiveWithPoseidonAIRCompositionImpl, - // RecursiveWithPoseidonAIROodsImpl, global_values::InteractionElements, - // public_input::PublicInput, traces::TracesDecommitment, constants::CONSTRAINT_DEGREE, - // }, + air::layouts::recursive_with_poseidon::{ + AIRComposition, AIROods, RecursiveWithPoseidonAIRCompositionImpl, + RecursiveWithPoseidonAIROodsImpl, global_values::InteractionElements, + public_input::PublicInput, traces::TracesDecommitment, constants::CONSTRAINT_DEGREE, + }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::{ diff --git a/src/stark.cairo b/src/stark.cairo index 09d08521f..06cb39cd4 100644 --- a/src/stark.cairo +++ b/src/stark.cairo @@ -15,19 +15,19 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - layouts::recursive::{ - traces::{TracesConfig, TracesConfigTrait}, public_input::RecursivePublicInputImpl, - traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, - constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND}, - }, + // layouts::recursive::{ + // traces::{TracesConfig, TracesConfigTrait}, public_input::RecursivePublicInputImpl, + // traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, + // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND}, + // }, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - // layouts::recursive_with_poseidon::{ - // traces::{TracesConfig, TracesConfigTrait}, - // public_input::RecursiveWithPoseidonPublicInputImpl, - // traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, - // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} - // }, + layouts::recursive_with_poseidon::{ + traces::{TracesConfig, TracesConfigTrait}, + public_input::RecursiveWithPoseidonPublicInputImpl, + traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, + constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} + }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // layouts::small::{ diff --git a/src/stark/stark_commit.cairo b/src/stark/stark_commit.cairo index fa6c7e506..0ffadbc50 100644 --- a/src/stark/stark_commit.cairo +++ b/src/stark/stark_commit.cairo @@ -6,16 +6,16 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - air::layouts::recursive::{ - constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, - traces::traces_commit, - }, - // === RECURSIVE END === - // === RECURSIVE_WITH_POSEIDON BEGIN === - // air::layouts::recursive_with_poseidon::{ + // air::layouts::recursive::{ // constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, // traces::traces_commit, // }, + // === RECURSIVE END === + // === RECURSIVE_WITH_POSEIDON BEGIN === + air::layouts::recursive_with_poseidon::{ + constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, + traces::traces_commit, + }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::{ diff --git a/src/stark/stark_verify.cairo b/src/stark/stark_verify.cairo index 0944a079b..20dd59c93 100644 --- a/src/stark/stark_verify.cairo +++ b/src/stark/stark_verify.cairo @@ -5,10 +5,10 @@ use cairo_verifier::{ // === DEX BEGIN === // air::layouts::dex::traces::traces_decommit, // === DEX END === // === RECURSIVE BEGIN === - air::layouts::recursive::traces::traces_decommit, + // air::layouts::recursive::traces::traces_decommit, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - // air::layouts::recursive_with_poseidon::traces::traces_decommit, + air::layouts::recursive_with_poseidon::traces::traces_decommit, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::traces::traces_decommit, From ccedef0a3d24ea598acf2e4b10ea98eee4c79765 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 21 Mar 2024 08:04:11 +0100 Subject: [PATCH 10/29] recursive layout as default --- src/air/layouts.cairo | 4 ++-- src/deserialization/stark.cairo | 4 ++-- src/deserialization/traces.cairo | 12 ++++++------ src/lib.cairo | 8 ++++---- src/oods.cairo | 20 ++++++++++---------- src/stark.cairo | 22 +++++++++++----------- src/stark/stark_commit.cairo | 14 +++++++------- src/stark/stark_verify.cairo | 4 ++-- 8 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/air/layouts.cairo b/src/air/layouts.cairo index 8ef3e9169..f92f4f388 100644 --- a/src/air/layouts.cairo +++ b/src/air/layouts.cairo @@ -2,10 +2,10 @@ // mod dex; // === DEX END === // === RECURSIVE BEGIN === -// mod recursive; +mod recursive; // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === -mod recursive_with_poseidon; +// mod recursive_with_poseidon; // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // mod small; diff --git a/src/deserialization/stark.cairo b/src/deserialization/stark.cairo index 29c39d6c2..caed9bfc1 100644 --- a/src/deserialization/stark.cairo +++ b/src/deserialization/stark.cairo @@ -7,10 +7,10 @@ use cairo_verifier::{ // air::layouts::dex::traces::TracesConfig, // === DEX END === // === RECURSIVE BEGIN === - // air::layouts::recursive::traces::TracesConfig, + air::layouts::recursive::traces::TracesConfig, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - air::layouts::recursive_with_poseidon::traces::TracesConfig, + // air::layouts::recursive_with_poseidon::traces::TracesConfig, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::traces::TracesConfig, diff --git a/src/deserialization/traces.cairo b/src/deserialization/traces.cairo index b0070e4a1..acf2bdf33 100644 --- a/src/deserialization/traces.cairo +++ b/src/deserialization/traces.cairo @@ -5,14 +5,14 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - // air::layouts::recursive::{ - // traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} - // }, + air::layouts::recursive::{ + traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} + }, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - air::layouts::recursive_with_poseidon::{ - traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} - }, + // air::layouts::recursive_with_poseidon::{ + // traces::TracesConfig, traces::{TracesUnsentCommitment, TracesDecommitment, TracesWitness} + // }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::{ diff --git a/src/lib.cairo b/src/lib.cairo index 3ad553338..6545a1b82 100644 --- a/src/lib.cairo +++ b/src/lib.cairo @@ -1,6 +1,6 @@ mod air; // === RECURSIVE BEGIN === -// mod benches; +mod benches; // === RECURSIVE END === mod channel; mod common; @@ -15,7 +15,7 @@ mod table_commitment; mod vector_commitment; // === RECURSIVE BEGIN === -// mod tests; +mod tests; // === RECURSIVE END === use cairo_verifier::{ @@ -24,10 +24,10 @@ use cairo_verifier::{ // air::layouts::dex::public_input::DexPublicInputImpl as PublicInputImpl, // === DEX END === // === RECURSIVE BEGIN === - // air::layouts::recursive::public_input::RecursivePublicInputImpl as PublicInputImpl, + air::layouts::recursive::public_input::RecursivePublicInputImpl as PublicInputImpl, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === -air::layouts::recursive_with_poseidon::public_input::RecursiveWithPoseidonPublicInputImpl as PublicInputImpl, +// air::layouts::recursive_with_poseidon::public_input::RecursiveWithPoseidonPublicInputImpl as PublicInputImpl, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::public_input::SmallPublicInputImpl as PublicInputImpl, diff --git a/src/oods.cairo b/src/oods.cairo index 4ae22cc1b..4b7f918e9 100644 --- a/src/oods.cairo +++ b/src/oods.cairo @@ -8,18 +8,18 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - // air::layouts::recursive::{ - // AIRComposition, AIROods, RecursiveAIRCompositionImpl, RecursiveAIROodsImpl, - // global_values::InteractionElements, public_input::PublicInput, traces::TracesDecommitment, - // constants::CONSTRAINT_DEGREE, - // }, + air::layouts::recursive::{ + AIRComposition, AIROods, RecursiveAIRCompositionImpl, RecursiveAIROodsImpl, + global_values::InteractionElements, public_input::PublicInput, traces::TracesDecommitment, + constants::CONSTRAINT_DEGREE, + }, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - air::layouts::recursive_with_poseidon::{ - AIRComposition, AIROods, RecursiveWithPoseidonAIRCompositionImpl, - RecursiveWithPoseidonAIROodsImpl, global_values::InteractionElements, - public_input::PublicInput, traces::TracesDecommitment, constants::CONSTRAINT_DEGREE, - }, + // air::layouts::recursive_with_poseidon::{ + // AIRComposition, AIROods, RecursiveWithPoseidonAIRCompositionImpl, + // RecursiveWithPoseidonAIROodsImpl, global_values::InteractionElements, + // public_input::PublicInput, traces::TracesDecommitment, constants::CONSTRAINT_DEGREE, + // }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::{ diff --git a/src/stark.cairo b/src/stark.cairo index 06cb39cd4..09d08521f 100644 --- a/src/stark.cairo +++ b/src/stark.cairo @@ -15,19 +15,19 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - // layouts::recursive::{ - // traces::{TracesConfig, TracesConfigTrait}, public_input::RecursivePublicInputImpl, - // traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, - // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND}, - // }, + layouts::recursive::{ + traces::{TracesConfig, TracesConfigTrait}, public_input::RecursivePublicInputImpl, + traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, + constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND}, + }, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - layouts::recursive_with_poseidon::{ - traces::{TracesConfig, TracesConfigTrait}, - public_input::RecursiveWithPoseidonPublicInputImpl, - traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, - constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} - }, + // layouts::recursive_with_poseidon::{ + // traces::{TracesConfig, TracesConfigTrait}, + // public_input::RecursiveWithPoseidonPublicInputImpl, + // traces::{TracesUnsentCommitment, TracesCommitment, TracesDecommitment, TracesWitness}, + // constants::{NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND} + // }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // layouts::small::{ diff --git a/src/stark/stark_commit.cairo b/src/stark/stark_commit.cairo index 0ffadbc50..fa6c7e506 100644 --- a/src/stark/stark_commit.cairo +++ b/src/stark/stark_commit.cairo @@ -6,16 +6,16 @@ use cairo_verifier::{ // }, // === DEX END === // === RECURSIVE BEGIN === - // air::layouts::recursive::{ + air::layouts::recursive::{ + constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, + traces::traces_commit, + }, + // === RECURSIVE END === + // === RECURSIVE_WITH_POSEIDON BEGIN === + // air::layouts::recursive_with_poseidon::{ // constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, // traces::traces_commit, // }, - // === RECURSIVE END === - // === RECURSIVE_WITH_POSEIDON BEGIN === - air::layouts::recursive_with_poseidon::{ - constants::{CONSTRAINT_DEGREE, N_CONSTRAINTS, MASK_SIZE}, public_input::PublicInput, - traces::traces_commit, - }, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::{ diff --git a/src/stark/stark_verify.cairo b/src/stark/stark_verify.cairo index 20dd59c93..0944a079b 100644 --- a/src/stark/stark_verify.cairo +++ b/src/stark/stark_verify.cairo @@ -5,10 +5,10 @@ use cairo_verifier::{ // === DEX BEGIN === // air::layouts::dex::traces::traces_decommit, // === DEX END === // === RECURSIVE BEGIN === - // air::layouts::recursive::traces::traces_decommit, + air::layouts::recursive::traces::traces_decommit, // === RECURSIVE END === // === RECURSIVE_WITH_POSEIDON BEGIN === - air::layouts::recursive_with_poseidon::traces::traces_decommit, + // air::layouts::recursive_with_poseidon::traces::traces_decommit, // === RECURSIVE_WITH_POSEIDON END === // === SMALL BEGIN === // air::layouts::small::traces::traces_decommit, From ff8a8655c777d9565834b6f9c9efe59fad45724f Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 21 Mar 2024 08:20:50 +0100 Subject: [PATCH 11/29] Revert "add starknet_with_keccak to ci" This reverts commit 8b29aa1d4ffa253d84d410912c6f34299a05ebdd. --- .github/workflows/proof_verification_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index 85047f0dd..cd3eb4dcb 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet", "starknet_with_keccak"] + layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet"] steps: - name: Checkout repository uses: actions/checkout@v3 From 8019ae994c76ba23aaab6b396d12b1c2d2cb8cbd Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 21 Mar 2024 18:52:21 +0100 Subject: [PATCH 12/29] starknet_with_keccak pop_front optimization --- .../starknet_with_keccak/autogenerated.cairo | 5146 ++++++++--------- 1 file changed, 2573 insertions(+), 2573 deletions(-) diff --git a/src/air/layouts/starknet_with_keccak/autogenerated.cairo b/src/air/layouts/starknet_with_keccak/autogenerated.cairo index ae033fba1..38e8ec3b7 100644 --- a/src/air/layouts/starknet_with_keccak/autogenerated.cairo +++ b/src/air/layouts/starknet_with_keccak/autogenerated.cairo @@ -7,8 +7,8 @@ use cairo_verifier::{ }; fn eval_composition_polynomial_inner( - mask_values: Span, - constraint_coefficients: Span, + mut mask_values: Span, + mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, global_values: GlobalValues @@ -10360,740 +10360,740 @@ fn eval_composition_polynomial_inner( let domain153 = point - pow15; // Fetch mask variables. - let column0_row0 = *mask_values[0]; - let column0_row1 = *mask_values[1]; - let column0_row2 = *mask_values[2]; - let column0_row3 = *mask_values[3]; - let column0_row4 = *mask_values[4]; - let column0_row5 = *mask_values[5]; - let column0_row6 = *mask_values[6]; - let column0_row7 = *mask_values[7]; - let column0_row8 = *mask_values[8]; - let column0_row9 = *mask_values[9]; - let column0_row10 = *mask_values[10]; - let column0_row11 = *mask_values[11]; - let column0_row12 = *mask_values[12]; - let column0_row13 = *mask_values[13]; - let column0_row14 = *mask_values[14]; - let column0_row15 = *mask_values[15]; - let column1_row0 = *mask_values[16]; - let column1_row1 = *mask_values[17]; - let column1_row2 = *mask_values[18]; - let column1_row4 = *mask_values[19]; - let column1_row6 = *mask_values[20]; - let column1_row8 = *mask_values[21]; - let column1_row12 = *mask_values[22]; - let column1_row16 = *mask_values[23]; - let column1_row32 = *mask_values[24]; - let column1_row48 = *mask_values[25]; - let column1_row64 = *mask_values[26]; - let column1_row80 = *mask_values[27]; - let column1_row96 = *mask_values[28]; - let column1_row112 = *mask_values[29]; - let column1_row128 = *mask_values[30]; - let column1_row144 = *mask_values[31]; - let column1_row160 = *mask_values[32]; - let column1_row176 = *mask_values[33]; - let column1_row192 = *mask_values[34]; - let column1_row193 = *mask_values[35]; - let column1_row196 = *mask_values[36]; - let column1_row208 = *mask_values[37]; - let column1_row224 = *mask_values[38]; - let column1_row240 = *mask_values[39]; - let column1_row256 = *mask_values[40]; - let column1_row257 = *mask_values[41]; - let column1_row260 = *mask_values[42]; - let column1_row264 = *mask_values[43]; - let column1_row449 = *mask_values[44]; - let column1_row512 = *mask_values[45]; - let column1_row513 = *mask_values[46]; - let column1_row516 = *mask_values[47]; - let column1_row520 = *mask_values[48]; - let column1_row704 = *mask_values[49]; - let column1_row705 = *mask_values[50]; - let column1_row720 = *mask_values[51]; - let column1_row736 = *mask_values[52]; - let column1_row752 = *mask_values[53]; - let column1_row768 = *mask_values[54]; - let column1_row769 = *mask_values[55]; - let column1_row770 = *mask_values[56]; - let column1_row772 = *mask_values[57]; - let column1_row774 = *mask_values[58]; - let column1_row776 = *mask_values[59]; - let column1_row780 = *mask_values[60]; - let column1_row960 = *mask_values[61]; - let column1_row961 = *mask_values[62]; - let column1_row976 = *mask_values[63]; - let column1_row992 = *mask_values[64]; - let column1_row1008 = *mask_values[65]; - let column1_row1025 = *mask_values[66]; - let column1_row1026 = *mask_values[67]; - let column1_row1028 = *mask_values[68]; - let column1_row1030 = *mask_values[69]; - let column1_row1036 = *mask_values[70]; - let column1_row1217 = *mask_values[71]; - let column1_row1281 = *mask_values[72]; - let column1_row1284 = *mask_values[73]; - let column1_row1473 = *mask_values[74]; - let column1_row1537 = *mask_values[75]; - let column1_row1540 = *mask_values[76]; - let column1_row1729 = *mask_values[77]; - let column1_row1793 = *mask_values[78]; - let column1_row1796 = *mask_values[79]; - let column1_row1985 = *mask_values[80]; - let column1_row2049 = *mask_values[81]; - let column1_row2052 = *mask_values[82]; - let column1_row2116 = *mask_values[83]; - let column1_row2180 = *mask_values[84]; - let column1_row2241 = *mask_values[85]; - let column1_row2305 = *mask_values[86]; - let column1_row2308 = *mask_values[87]; - let column1_row2497 = *mask_values[88]; - let column1_row2561 = *mask_values[89]; - let column1_row2564 = *mask_values[90]; - let column1_row2753 = *mask_values[91]; - let column1_row2817 = *mask_values[92]; - let column1_row2820 = *mask_values[93]; - let column1_row3009 = *mask_values[94]; - let column1_row3073 = *mask_values[95]; - let column1_row3076 = *mask_values[96]; - let column1_row3329 = *mask_values[97]; - let column1_row3332 = *mask_values[98]; - let column1_row3585 = *mask_values[99]; - let column1_row3588 = *mask_values[100]; - let column1_row3652 = *mask_values[101]; - let column1_row3716 = *mask_values[102]; - let column1_row3841 = *mask_values[103]; - let column1_row3844 = *mask_values[104]; - let column1_row3908 = *mask_values[105]; - let column1_row3972 = *mask_values[106]; - let column1_row4097 = *mask_values[107]; - let column1_row4100 = *mask_values[108]; - let column1_row4353 = *mask_values[109]; - let column1_row4356 = *mask_values[110]; - let column1_row4609 = *mask_values[111]; - let column1_row4612 = *mask_values[112]; - let column1_row4865 = *mask_values[113]; - let column1_row4868 = *mask_values[114]; - let column1_row5121 = *mask_values[115]; - let column1_row5124 = *mask_values[116]; - let column1_row5377 = *mask_values[117]; - let column1_row5380 = *mask_values[118]; - let column1_row5441 = *mask_values[119]; - let column1_row5444 = *mask_values[120]; - let column1_row5505 = *mask_values[121]; - let column1_row5508 = *mask_values[122]; - let column1_row5633 = *mask_values[123]; - let column1_row5636 = *mask_values[124]; - let column1_row5697 = *mask_values[125]; - let column1_row5761 = *mask_values[126]; - let column1_row5889 = *mask_values[127]; - let column1_row5892 = *mask_values[128]; - let column1_row5953 = *mask_values[129]; - let column1_row6017 = *mask_values[130]; - let column1_row6145 = *mask_values[131]; - let column1_row6148 = *mask_values[132]; - let column1_row6209 = *mask_values[133]; - let column1_row6273 = *mask_values[134]; - let column1_row6401 = *mask_values[135]; - let column1_row6402 = *mask_values[136]; - let column1_row6404 = *mask_values[137]; - let column1_row6406 = *mask_values[138]; - let column1_row6468 = *mask_values[139]; - let column1_row6470 = *mask_values[140]; - let column1_row6532 = *mask_values[141]; - let column1_row6534 = *mask_values[142]; - let column1_row6593 = *mask_values[143]; - let column1_row6594 = *mask_values[144]; - let column1_row6596 = *mask_values[145]; - let column1_row6598 = *mask_values[146]; - let column1_row6658 = *mask_values[147]; - let column1_row6660 = *mask_values[148]; - let column1_row6722 = *mask_values[149]; - let column1_row6724 = *mask_values[150]; - let column1_row6785 = *mask_values[151]; - let column1_row6786 = *mask_values[152]; - let column1_row6788 = *mask_values[153]; - let column1_row6790 = *mask_values[154]; - let column1_row6977 = *mask_values[155]; - let column1_row6978 = *mask_values[156]; - let column1_row6980 = *mask_values[157]; - let column1_row6982 = *mask_values[158]; - let column1_row7169 = *mask_values[159]; - let column1_row7170 = *mask_values[160]; - let column1_row7172 = *mask_values[161]; - let column1_row7174 = *mask_values[162]; - let column1_row7361 = *mask_values[163]; - let column1_row7362 = *mask_values[164]; - let column1_row7364 = *mask_values[165]; - let column1_row7366 = *mask_values[166]; - let column1_row7553 = *mask_values[167]; - let column1_row7554 = *mask_values[168]; - let column1_row7556 = *mask_values[169]; - let column1_row7558 = *mask_values[170]; - let column1_row7745 = *mask_values[171]; - let column1_row7746 = *mask_values[172]; - let column1_row7748 = *mask_values[173]; - let column1_row7750 = *mask_values[174]; - let column1_row7937 = *mask_values[175]; - let column1_row7938 = *mask_values[176]; - let column1_row7940 = *mask_values[177]; - let column1_row7942 = *mask_values[178]; - let column1_row8193 = *mask_values[179]; - let column1_row8194 = *mask_values[180]; - let column1_row8198 = *mask_values[181]; - let column1_row8204 = *mask_values[182]; - let column1_row8449 = *mask_values[183]; - let column1_row8705 = *mask_values[184]; - let column1_row10753 = *mask_values[185]; - let column1_row15942 = *mask_values[186]; - let column1_row16900 = *mask_values[187]; - let column1_row18881 = *mask_values[188]; - let column1_row19137 = *mask_values[189]; - let column1_row19393 = *mask_values[190]; - let column1_row22529 = *mask_values[191]; - let column1_row22593 = *mask_values[192]; - let column1_row22657 = *mask_values[193]; - let column1_row22786 = *mask_values[194]; - let column1_row24577 = *mask_values[195]; - let column1_row24578 = *mask_values[196]; - let column1_row24582 = *mask_values[197]; - let column1_row24588 = *mask_values[198]; - let column1_row24833 = *mask_values[199]; - let column1_row25089 = *mask_values[200]; - let column1_row26369 = *mask_values[201]; - let column1_row30212 = *mask_values[202]; - let column1_row30978 = *mask_values[203]; - let column1_row31169 = *mask_values[204]; - let column1_row51969 = *mask_values[205]; - let column1_row55937 = *mask_values[206]; - let column1_row57345 = *mask_values[207]; - let column1_row57346 = *mask_values[208]; - let column1_row57350 = *mask_values[209]; - let column1_row57356 = *mask_values[210]; - let column1_row57601 = *mask_values[211]; - let column1_row57857 = *mask_values[212]; - let column1_row68865 = *mask_values[213]; - let column1_row71428 = *mask_values[214]; - let column1_row71942 = *mask_values[215]; - let column1_row73474 = *mask_values[216]; - let column1_row75780 = *mask_values[217]; - let column1_row75844 = *mask_values[218]; - let column1_row75908 = *mask_values[219]; - let column1_row80134 = *mask_values[220]; - let column1_row80198 = *mask_values[221]; - let column1_row80262 = *mask_values[222]; - let column1_row86273 = *mask_values[223]; - let column1_row89281 = *mask_values[224]; - let column1_row115713 = *mask_values[225]; - let column1_row122244 = *mask_values[226]; - let column1_row122881 = *mask_values[227]; - let column1_row122882 = *mask_values[228]; - let column1_row122886 = *mask_values[229]; - let column1_row122892 = *mask_values[230]; - let column1_row123137 = *mask_values[231]; - let column1_row123393 = *mask_values[232]; - let column1_row127489 = *mask_values[233]; - let column1_row130433 = *mask_values[234]; - let column1_row151041 = *mask_values[235]; - let column1_row155398 = *mask_values[236]; - let column1_row159748 = *mask_values[237]; - let column1_row162052 = *mask_values[238]; - let column1_row165377 = *mask_values[239]; - let column1_row165380 = *mask_values[240]; - let column1_row170244 = *mask_values[241]; - let column1_row171398 = *mask_values[242]; - let column1_row172801 = *mask_values[243]; - let column1_row175108 = *mask_values[244]; - let column1_row178433 = *mask_values[245]; - let column1_row178434 = *mask_values[246]; - let column1_row192260 = *mask_values[247]; - let column1_row192324 = *mask_values[248]; - let column1_row192388 = *mask_values[249]; - let column1_row195010 = *mask_values[250]; - let column1_row195074 = *mask_values[251]; - let column1_row195138 = *mask_values[252]; - let column1_row207873 = *mask_values[253]; - let column1_row208388 = *mask_values[254]; - let column1_row208452 = *mask_values[255]; - let column1_row208516 = *mask_values[256]; - let column1_row211396 = *mask_values[257]; - let column1_row211460 = *mask_values[258]; - let column1_row211524 = *mask_values[259]; - let column1_row212740 = *mask_values[260]; - let column1_row225025 = *mask_values[261]; - let column1_row228161 = *mask_values[262]; - let column1_row230657 = *mask_values[263]; - let column1_row230660 = *mask_values[264]; - let column1_row235970 = *mask_values[265]; - let column1_row236930 = *mask_values[266]; - let column1_row253953 = *mask_values[267]; - let column1_row253954 = *mask_values[268]; - let column1_row253958 = *mask_values[269]; - let column1_row253964 = *mask_values[270]; - let column1_row254209 = *mask_values[271]; - let column1_row254465 = *mask_values[272]; - let column1_row295684 = *mask_values[273]; - let column1_row299009 = *mask_values[274]; - let column1_row301318 = *mask_values[275]; - let column1_row302081 = *mask_values[276]; - let column1_row304132 = *mask_values[277]; - let column1_row309700 = *mask_values[278]; - let column1_row320449 = *mask_values[279]; - let column1_row320705 = *mask_values[280]; - let column1_row320961 = *mask_values[281]; - let column1_row322820 = *mask_values[282]; - let column1_row325121 = *mask_values[283]; - let column1_row325185 = *mask_values[284]; - let column1_row325249 = *mask_values[285]; - let column1_row325894 = *mask_values[286]; - let column1_row337601 = *mask_values[287]; - let column1_row337857 = *mask_values[288]; - let column1_row338113 = *mask_values[289]; - let column1_row341761 = *mask_values[290]; - let column1_row341825 = *mask_values[291]; - let column1_row341889 = *mask_values[292]; - let column1_row352769 = *mask_values[293]; - let column1_row356868 = *mask_values[294]; - let column1_row358662 = *mask_values[295]; - let column1_row359622 = *mask_values[296]; - let column1_row360705 = *mask_values[297]; - let column1_row362756 = *mask_values[298]; - let column1_row367044 = *mask_values[299]; - let column1_row367810 = *mask_values[300]; - let column1_row370689 = *mask_values[301]; - let column1_row376388 = *mask_values[302]; - let column1_row381956 = *mask_values[303]; - let column1_row383426 = *mask_values[304]; - let column1_row405764 = *mask_values[305]; - let column1_row407810 = *mask_values[306]; - let column1_row415748 = *mask_values[307]; - let column1_row416196 = *mask_values[308]; - let column1_row445188 = *mask_values[309]; - let column1_row448772 = *mask_values[310]; - let column1_row450753 = *mask_values[311]; - let column1_row451009 = *mask_values[312]; - let column1_row451265 = *mask_values[313]; - let column1_row455937 = *mask_values[314]; - let column1_row456001 = *mask_values[315]; - let column1_row456065 = *mask_values[316]; - let column1_row463617 = *mask_values[317]; - let column1_row463620 = *mask_values[318]; - let column1_row465348 = *mask_values[319]; - let column1_row466497 = *mask_values[320]; - let column1_row476932 = *mask_values[321]; - let column1_row481538 = *mask_values[322]; - let column1_row502017 = *mask_values[323]; - let column1_row502276 = *mask_values[324]; - let column1_row506306 = *mask_values[325]; - let column1_row507458 = *mask_values[326]; - let column1_row513025 = *mask_values[327]; - let column1_row513284 = *mask_values[328]; - let column1_row513348 = *mask_values[329]; - let column1_row513412 = *mask_values[330]; - let column1_row514308 = *mask_values[331]; - let column1_row514372 = *mask_values[332]; - let column1_row514436 = *mask_values[333]; - let column1_row515841 = *mask_values[334]; - let column1_row516097 = *mask_values[335]; - let column1_row516098 = *mask_values[336]; - let column1_row516100 = *mask_values[337]; - let column1_row516102 = *mask_values[338]; - let column1_row516108 = *mask_values[339]; - let column1_row516292 = *mask_values[340]; - let column1_row516353 = *mask_values[341]; - let column1_row516356 = *mask_values[342]; - let column1_row516609 = *mask_values[343]; - let column1_row522498 = *mask_values[344]; - let column1_row522500 = *mask_values[345]; - let column1_row522502 = *mask_values[346]; - let column1_row522690 = *mask_values[347]; - let column1_row522692 = *mask_values[348]; - let column2_row0 = *mask_values[349]; - let column2_row1 = *mask_values[350]; - let column3_row0 = *mask_values[351]; - let column3_row1 = *mask_values[352]; - let column3_row255 = *mask_values[353]; - let column3_row256 = *mask_values[354]; - let column3_row511 = *mask_values[355]; - let column4_row0 = *mask_values[356]; - let column4_row1 = *mask_values[357]; - let column4_row255 = *mask_values[358]; - let column4_row256 = *mask_values[359]; - let column5_row0 = *mask_values[360]; - let column5_row1 = *mask_values[361]; - let column5_row192 = *mask_values[362]; - let column5_row193 = *mask_values[363]; - let column5_row196 = *mask_values[364]; - let column5_row197 = *mask_values[365]; - let column5_row251 = *mask_values[366]; - let column5_row252 = *mask_values[367]; - let column5_row256 = *mask_values[368]; - let column6_row0 = *mask_values[369]; - let column6_row255 = *mask_values[370]; - let column7_row0 = *mask_values[371]; - let column7_row1 = *mask_values[372]; - let column7_row2 = *mask_values[373]; - let column7_row3 = *mask_values[374]; - let column7_row4 = *mask_values[375]; - let column7_row5 = *mask_values[376]; - let column7_row6 = *mask_values[377]; - let column7_row7 = *mask_values[378]; - let column7_row8 = *mask_values[379]; - let column7_row9 = *mask_values[380]; - let column7_row10 = *mask_values[381]; - let column7_row11 = *mask_values[382]; - let column7_row12 = *mask_values[383]; - let column7_row13 = *mask_values[384]; - let column7_row14 = *mask_values[385]; - let column7_row15 = *mask_values[386]; - let column7_row16144 = *mask_values[387]; - let column7_row16145 = *mask_values[388]; - let column7_row16146 = *mask_values[389]; - let column7_row16147 = *mask_values[390]; - let column7_row16148 = *mask_values[391]; - let column7_row16149 = *mask_values[392]; - let column7_row16150 = *mask_values[393]; - let column7_row16151 = *mask_values[394]; - let column7_row16160 = *mask_values[395]; - let column7_row16161 = *mask_values[396]; - let column7_row16162 = *mask_values[397]; - let column7_row16163 = *mask_values[398]; - let column7_row16164 = *mask_values[399]; - let column7_row16165 = *mask_values[400]; - let column7_row16166 = *mask_values[401]; - let column7_row16167 = *mask_values[402]; - let column7_row16176 = *mask_values[403]; - let column7_row16192 = *mask_values[404]; - let column7_row16208 = *mask_values[405]; - let column7_row16224 = *mask_values[406]; - let column7_row16240 = *mask_values[407]; - let column7_row16256 = *mask_values[408]; - let column7_row16272 = *mask_values[409]; - let column7_row16288 = *mask_values[410]; - let column7_row16304 = *mask_values[411]; - let column7_row16320 = *mask_values[412]; - let column7_row16336 = *mask_values[413]; - let column7_row16352 = *mask_values[414]; - let column7_row16368 = *mask_values[415]; - let column7_row16384 = *mask_values[416]; - let column7_row32768 = *mask_values[417]; - let column7_row65536 = *mask_values[418]; - let column7_row98304 = *mask_values[419]; - let column7_row131072 = *mask_values[420]; - let column7_row163840 = *mask_values[421]; - let column7_row196608 = *mask_values[422]; - let column7_row229376 = *mask_values[423]; - let column7_row262144 = *mask_values[424]; - let column7_row294912 = *mask_values[425]; - let column7_row327680 = *mask_values[426]; - let column7_row360448 = *mask_values[427]; - let column7_row393216 = *mask_values[428]; - let column7_row425984 = *mask_values[429]; - let column7_row458752 = *mask_values[430]; - let column7_row491520 = *mask_values[431]; - let column8_row0 = *mask_values[432]; - let column8_row1 = *mask_values[433]; - let column8_row2 = *mask_values[434]; - let column8_row3 = *mask_values[435]; - let column8_row4 = *mask_values[436]; - let column8_row5 = *mask_values[437]; - let column8_row6 = *mask_values[438]; - let column8_row7 = *mask_values[439]; - let column8_row8 = *mask_values[440]; - let column8_row9 = *mask_values[441]; - let column8_row12 = *mask_values[442]; - let column8_row13 = *mask_values[443]; - let column8_row16 = *mask_values[444]; - let column8_row38 = *mask_values[445]; - let column8_row39 = *mask_values[446]; - let column8_row70 = *mask_values[447]; - let column8_row71 = *mask_values[448]; - let column8_row102 = *mask_values[449]; - let column8_row103 = *mask_values[450]; - let column8_row134 = *mask_values[451]; - let column8_row135 = *mask_values[452]; - let column8_row166 = *mask_values[453]; - let column8_row167 = *mask_values[454]; - let column8_row198 = *mask_values[455]; - let column8_row199 = *mask_values[456]; - let column8_row262 = *mask_values[457]; - let column8_row263 = *mask_values[458]; - let column8_row294 = *mask_values[459]; - let column8_row295 = *mask_values[460]; - let column8_row326 = *mask_values[461]; - let column8_row358 = *mask_values[462]; - let column8_row359 = *mask_values[463]; - let column8_row390 = *mask_values[464]; - let column8_row391 = *mask_values[465]; - let column8_row422 = *mask_values[466]; - let column8_row423 = *mask_values[467]; - let column8_row454 = *mask_values[468]; - let column8_row518 = *mask_values[469]; - let column8_row711 = *mask_values[470]; - let column8_row902 = *mask_values[471]; - let column8_row903 = *mask_values[472]; - let column8_row966 = *mask_values[473]; - let column8_row967 = *mask_values[474]; - let column8_row1222 = *mask_values[475]; - let column8_row1414 = *mask_values[476]; - let column8_row1415 = *mask_values[477]; - let column8_row2438 = *mask_values[478]; - let column8_row2439 = *mask_values[479]; - let column8_row3462 = *mask_values[480]; - let column8_row3463 = *mask_values[481]; - let column8_row4486 = *mask_values[482]; - let column8_row4487 = *mask_values[483]; - let column8_row5511 = *mask_values[484]; - let column8_row6534 = *mask_values[485]; - let column8_row6535 = *mask_values[486]; - let column8_row7559 = *mask_values[487]; - let column8_row8582 = *mask_values[488]; - let column8_row8583 = *mask_values[489]; - let column8_row9607 = *mask_values[490]; - let column8_row10630 = *mask_values[491]; - let column8_row10631 = *mask_values[492]; - let column8_row11655 = *mask_values[493]; - let column8_row12678 = *mask_values[494]; - let column8_row12679 = *mask_values[495]; - let column8_row13703 = *mask_values[496]; - let column8_row14726 = *mask_values[497]; - let column8_row14727 = *mask_values[498]; - let column8_row15751 = *mask_values[499]; - let column8_row16774 = *mask_values[500]; - let column8_row16775 = *mask_values[501]; - let column8_row17799 = *mask_values[502]; - let column8_row19847 = *mask_values[503]; - let column8_row21895 = *mask_values[504]; - let column8_row23943 = *mask_values[505]; - let column8_row24966 = *mask_values[506]; - let column8_row25991 = *mask_values[507]; - let column8_row28039 = *mask_values[508]; - let column8_row30087 = *mask_values[509]; - let column8_row32135 = *mask_values[510]; - let column8_row33158 = *mask_values[511]; - let column9_row0 = *mask_values[512]; - let column9_row1 = *mask_values[513]; - let column9_row2 = *mask_values[514]; - let column9_row3 = *mask_values[515]; - let column10_row0 = *mask_values[516]; - let column10_row1 = *mask_values[517]; - let column10_row2 = *mask_values[518]; - let column10_row3 = *mask_values[519]; - let column10_row4 = *mask_values[520]; - let column10_row5 = *mask_values[521]; - let column10_row6 = *mask_values[522]; - let column10_row7 = *mask_values[523]; - let column10_row8 = *mask_values[524]; - let column10_row9 = *mask_values[525]; - let column10_row12 = *mask_values[526]; - let column10_row13 = *mask_values[527]; - let column10_row17 = *mask_values[528]; - let column10_row19 = *mask_values[529]; - let column10_row21 = *mask_values[530]; - let column10_row25 = *mask_values[531]; - let column10_row44 = *mask_values[532]; - let column10_row71 = *mask_values[533]; - let column10_row76 = *mask_values[534]; - let column10_row108 = *mask_values[535]; - let column10_row135 = *mask_values[536]; - let column10_row140 = *mask_values[537]; - let column10_row172 = *mask_values[538]; - let column10_row204 = *mask_values[539]; - let column10_row236 = *mask_values[540]; - let column10_row243 = *mask_values[541]; - let column10_row251 = *mask_values[542]; - let column10_row259 = *mask_values[543]; - let column10_row275 = *mask_values[544]; - let column10_row489 = *mask_values[545]; - let column10_row497 = *mask_values[546]; - let column10_row499 = *mask_values[547]; - let column10_row505 = *mask_values[548]; - let column10_row507 = *mask_values[549]; - let column10_row2055 = *mask_values[550]; - let column10_row2119 = *mask_values[551]; - let column10_row2183 = *mask_values[552]; - let column10_row4103 = *mask_values[553]; - let column10_row4167 = *mask_values[554]; - let column10_row4231 = *mask_values[555]; - let column10_row6403 = *mask_values[556]; - let column10_row6419 = *mask_values[557]; - let column10_row7811 = *mask_values[558]; - let column10_row8003 = *mask_values[559]; - let column10_row8067 = *mask_values[560]; - let column10_row8131 = *mask_values[561]; - let column10_row8195 = *mask_values[562]; - let column10_row8199 = *mask_values[563]; - let column10_row8211 = *mask_values[564]; - let column10_row8435 = *mask_values[565]; - let column10_row8443 = *mask_values[566]; - let column10_row10247 = *mask_values[567]; - let column10_row12295 = *mask_values[568]; - let column10_row16003 = *mask_values[569]; - let column10_row16195 = *mask_values[570]; - let column10_row24195 = *mask_values[571]; - let column10_row32387 = *mask_values[572]; - let column10_row66307 = *mask_values[573]; - let column10_row66323 = *mask_values[574]; - let column10_row67591 = *mask_values[575]; - let column10_row75783 = *mask_values[576]; - let column10_row75847 = *mask_values[577]; - let column10_row75911 = *mask_values[578]; - let column10_row132611 = *mask_values[579]; - let column10_row132627 = *mask_values[580]; - let column10_row159751 = *mask_values[581]; - let column10_row167943 = *mask_values[582]; - let column10_row179843 = *mask_values[583]; - let column10_row196419 = *mask_values[584]; - let column10_row196483 = *mask_values[585]; - let column10_row196547 = *mask_values[586]; - let column10_row198915 = *mask_values[587]; - let column10_row198931 = *mask_values[588]; - let column10_row204807 = *mask_values[589]; - let column10_row204871 = *mask_values[590]; - let column10_row204935 = *mask_values[591]; - let column10_row237379 = *mask_values[592]; - let column10_row265219 = *mask_values[593]; - let column10_row265235 = *mask_values[594]; - let column10_row296967 = *mask_values[595]; - let column10_row303111 = *mask_values[596]; - let column10_row321543 = *mask_values[597]; - let column10_row331523 = *mask_values[598]; - let column10_row331539 = *mask_values[599]; - let column10_row354311 = *mask_values[600]; - let column10_row360455 = *mask_values[601]; - let column10_row384835 = *mask_values[602]; - let column10_row397827 = *mask_values[603]; - let column10_row397843 = *mask_values[604]; - let column10_row409219 = *mask_values[605]; - let column10_row409607 = *mask_values[606]; - let column10_row446471 = *mask_values[607]; - let column10_row458759 = *mask_values[608]; - let column10_row464131 = *mask_values[609]; - let column10_row464147 = *mask_values[610]; - let column10_row482947 = *mask_values[611]; - let column10_row507715 = *mask_values[612]; - let column10_row512007 = *mask_values[613]; - let column10_row512071 = *mask_values[614]; - let column10_row512135 = *mask_values[615]; - let column10_row516099 = *mask_values[616]; - let column10_row516115 = *mask_values[617]; - let column10_row516339 = *mask_values[618]; - let column10_row516347 = *mask_values[619]; - let column10_row520199 = *mask_values[620]; - let column11_row0 = *mask_values[621]; - let column11_row1 = *mask_values[622]; - let column11_row2 = *mask_values[623]; - let column11_row3 = *mask_values[624]; - let column11_row4 = *mask_values[625]; - let column11_row5 = *mask_values[626]; - let column11_row6 = *mask_values[627]; - let column11_row7 = *mask_values[628]; - let column11_row8 = *mask_values[629]; - let column11_row9 = *mask_values[630]; - let column11_row10 = *mask_values[631]; - let column11_row11 = *mask_values[632]; - let column11_row12 = *mask_values[633]; - let column11_row13 = *mask_values[634]; - let column11_row14 = *mask_values[635]; - let column11_row16 = *mask_values[636]; - let column11_row17 = *mask_values[637]; - let column11_row19 = *mask_values[638]; - let column11_row21 = *mask_values[639]; - let column11_row22 = *mask_values[640]; - let column11_row24 = *mask_values[641]; - let column11_row25 = *mask_values[642]; - let column11_row27 = *mask_values[643]; - let column11_row29 = *mask_values[644]; - let column11_row30 = *mask_values[645]; - let column11_row33 = *mask_values[646]; - let column11_row35 = *mask_values[647]; - let column11_row37 = *mask_values[648]; - let column11_row38 = *mask_values[649]; - let column11_row41 = *mask_values[650]; - let column11_row43 = *mask_values[651]; - let column11_row45 = *mask_values[652]; - let column11_row46 = *mask_values[653]; - let column11_row49 = *mask_values[654]; - let column11_row51 = *mask_values[655]; - let column11_row53 = *mask_values[656]; - let column11_row54 = *mask_values[657]; - let column11_row57 = *mask_values[658]; - let column11_row59 = *mask_values[659]; - let column11_row61 = *mask_values[660]; - let column11_row65 = *mask_values[661]; - let column11_row69 = *mask_values[662]; - let column11_row71 = *mask_values[663]; - let column11_row73 = *mask_values[664]; - let column11_row77 = *mask_values[665]; - let column11_row81 = *mask_values[666]; - let column11_row85 = *mask_values[667]; - let column11_row89 = *mask_values[668]; - let column11_row91 = *mask_values[669]; - let column11_row97 = *mask_values[670]; - let column11_row101 = *mask_values[671]; - let column11_row105 = *mask_values[672]; - let column11_row109 = *mask_values[673]; - let column11_row113 = *mask_values[674]; - let column11_row117 = *mask_values[675]; - let column11_row123 = *mask_values[676]; - let column11_row155 = *mask_values[677]; - let column11_row187 = *mask_values[678]; - let column11_row195 = *mask_values[679]; - let column11_row205 = *mask_values[680]; - let column11_row219 = *mask_values[681]; - let column11_row221 = *mask_values[682]; - let column11_row237 = *mask_values[683]; - let column11_row245 = *mask_values[684]; - let column11_row253 = *mask_values[685]; - let column11_row269 = *mask_values[686]; - let column11_row301 = *mask_values[687]; - let column11_row309 = *mask_values[688]; - let column11_row310 = *mask_values[689]; - let column11_row318 = *mask_values[690]; - let column11_row326 = *mask_values[691]; - let column11_row334 = *mask_values[692]; - let column11_row342 = *mask_values[693]; - let column11_row350 = *mask_values[694]; - let column11_row451 = *mask_values[695]; - let column11_row461 = *mask_values[696]; - let column11_row477 = *mask_values[697]; - let column11_row493 = *mask_values[698]; - let column11_row501 = *mask_values[699]; - let column11_row509 = *mask_values[700]; - let column11_row12309 = *mask_values[701]; - let column11_row12373 = *mask_values[702]; - let column11_row12565 = *mask_values[703]; - let column11_row12629 = *mask_values[704]; - let column11_row16085 = *mask_values[705]; - let column11_row16149 = *mask_values[706]; - let column11_row16325 = *mask_values[707]; - let column11_row16331 = *mask_values[708]; - let column11_row16337 = *mask_values[709]; - let column11_row16339 = *mask_values[710]; - let column11_row16355 = *mask_values[711]; - let column11_row16357 = *mask_values[712]; - let column11_row16363 = *mask_values[713]; - let column11_row16369 = *mask_values[714]; - let column11_row16371 = *mask_values[715]; - let column11_row16385 = *mask_values[716]; - let column11_row16417 = *mask_values[717]; - let column11_row32647 = *mask_values[718]; - let column11_row32667 = *mask_values[719]; - let column11_row32715 = *mask_values[720]; - let column11_row32721 = *mask_values[721]; - let column11_row32731 = *mask_values[722]; - let column11_row32747 = *mask_values[723]; - let column11_row32753 = *mask_values[724]; - let column11_row32763 = *mask_values[725]; - let column12_inter1_row0 = *mask_values[726]; - let column12_inter1_row1 = *mask_values[727]; - let column13_inter1_row0 = *mask_values[728]; - let column13_inter1_row1 = *mask_values[729]; - let column14_inter1_row0 = *mask_values[730]; - let column14_inter1_row1 = *mask_values[731]; - let column14_inter1_row2 = *mask_values[732]; - let column14_inter1_row5 = *mask_values[733]; + let column0_row0 = *mask_values.pop_front().unwrap(); + let column0_row1 = *mask_values.pop_front().unwrap(); + let column0_row2 = *mask_values.pop_front().unwrap(); + let column0_row3 = *mask_values.pop_front().unwrap(); + let column0_row4 = *mask_values.pop_front().unwrap(); + let column0_row5 = *mask_values.pop_front().unwrap(); + let column0_row6 = *mask_values.pop_front().unwrap(); + let column0_row7 = *mask_values.pop_front().unwrap(); + let column0_row8 = *mask_values.pop_front().unwrap(); + let column0_row9 = *mask_values.pop_front().unwrap(); + let column0_row10 = *mask_values.pop_front().unwrap(); + let column0_row11 = *mask_values.pop_front().unwrap(); + let column0_row12 = *mask_values.pop_front().unwrap(); + let column0_row13 = *mask_values.pop_front().unwrap(); + let column0_row14 = *mask_values.pop_front().unwrap(); + let column0_row15 = *mask_values.pop_front().unwrap(); + let column1_row0 = *mask_values.pop_front().unwrap(); + let column1_row1 = *mask_values.pop_front().unwrap(); + let column1_row2 = *mask_values.pop_front().unwrap(); + let column1_row4 = *mask_values.pop_front().unwrap(); + let column1_row6 = *mask_values.pop_front().unwrap(); + let column1_row8 = *mask_values.pop_front().unwrap(); + let column1_row12 = *mask_values.pop_front().unwrap(); + let column1_row16 = *mask_values.pop_front().unwrap(); + let column1_row32 = *mask_values.pop_front().unwrap(); + let column1_row48 = *mask_values.pop_front().unwrap(); + let column1_row64 = *mask_values.pop_front().unwrap(); + let column1_row80 = *mask_values.pop_front().unwrap(); + let column1_row96 = *mask_values.pop_front().unwrap(); + let column1_row112 = *mask_values.pop_front().unwrap(); + let column1_row128 = *mask_values.pop_front().unwrap(); + let column1_row144 = *mask_values.pop_front().unwrap(); + let column1_row160 = *mask_values.pop_front().unwrap(); + let column1_row176 = *mask_values.pop_front().unwrap(); + let column1_row192 = *mask_values.pop_front().unwrap(); + let column1_row193 = *mask_values.pop_front().unwrap(); + let column1_row196 = *mask_values.pop_front().unwrap(); + let column1_row208 = *mask_values.pop_front().unwrap(); + let column1_row224 = *mask_values.pop_front().unwrap(); + let column1_row240 = *mask_values.pop_front().unwrap(); + let column1_row256 = *mask_values.pop_front().unwrap(); + let column1_row257 = *mask_values.pop_front().unwrap(); + let column1_row260 = *mask_values.pop_front().unwrap(); + let column1_row264 = *mask_values.pop_front().unwrap(); + let column1_row449 = *mask_values.pop_front().unwrap(); + let column1_row512 = *mask_values.pop_front().unwrap(); + let column1_row513 = *mask_values.pop_front().unwrap(); + let column1_row516 = *mask_values.pop_front().unwrap(); + let column1_row520 = *mask_values.pop_front().unwrap(); + let column1_row704 = *mask_values.pop_front().unwrap(); + let column1_row705 = *mask_values.pop_front().unwrap(); + let column1_row720 = *mask_values.pop_front().unwrap(); + let column1_row736 = *mask_values.pop_front().unwrap(); + let column1_row752 = *mask_values.pop_front().unwrap(); + let column1_row768 = *mask_values.pop_front().unwrap(); + let column1_row769 = *mask_values.pop_front().unwrap(); + let column1_row770 = *mask_values.pop_front().unwrap(); + let column1_row772 = *mask_values.pop_front().unwrap(); + let column1_row774 = *mask_values.pop_front().unwrap(); + let column1_row776 = *mask_values.pop_front().unwrap(); + let column1_row780 = *mask_values.pop_front().unwrap(); + let column1_row960 = *mask_values.pop_front().unwrap(); + let column1_row961 = *mask_values.pop_front().unwrap(); + let column1_row976 = *mask_values.pop_front().unwrap(); + let column1_row992 = *mask_values.pop_front().unwrap(); + let column1_row1008 = *mask_values.pop_front().unwrap(); + let column1_row1025 = *mask_values.pop_front().unwrap(); + let column1_row1026 = *mask_values.pop_front().unwrap(); + let column1_row1028 = *mask_values.pop_front().unwrap(); + let column1_row1030 = *mask_values.pop_front().unwrap(); + let column1_row1036 = *mask_values.pop_front().unwrap(); + let column1_row1217 = *mask_values.pop_front().unwrap(); + let column1_row1281 = *mask_values.pop_front().unwrap(); + let column1_row1284 = *mask_values.pop_front().unwrap(); + let column1_row1473 = *mask_values.pop_front().unwrap(); + let column1_row1537 = *mask_values.pop_front().unwrap(); + let column1_row1540 = *mask_values.pop_front().unwrap(); + let column1_row1729 = *mask_values.pop_front().unwrap(); + let column1_row1793 = *mask_values.pop_front().unwrap(); + let column1_row1796 = *mask_values.pop_front().unwrap(); + let column1_row1985 = *mask_values.pop_front().unwrap(); + let column1_row2049 = *mask_values.pop_front().unwrap(); + let column1_row2052 = *mask_values.pop_front().unwrap(); + let column1_row2116 = *mask_values.pop_front().unwrap(); + let column1_row2180 = *mask_values.pop_front().unwrap(); + let column1_row2241 = *mask_values.pop_front().unwrap(); + let column1_row2305 = *mask_values.pop_front().unwrap(); + let column1_row2308 = *mask_values.pop_front().unwrap(); + let column1_row2497 = *mask_values.pop_front().unwrap(); + let column1_row2561 = *mask_values.pop_front().unwrap(); + let column1_row2564 = *mask_values.pop_front().unwrap(); + let column1_row2753 = *mask_values.pop_front().unwrap(); + let column1_row2817 = *mask_values.pop_front().unwrap(); + let column1_row2820 = *mask_values.pop_front().unwrap(); + let column1_row3009 = *mask_values.pop_front().unwrap(); + let column1_row3073 = *mask_values.pop_front().unwrap(); + let column1_row3076 = *mask_values.pop_front().unwrap(); + let column1_row3329 = *mask_values.pop_front().unwrap(); + let column1_row3332 = *mask_values.pop_front().unwrap(); + let column1_row3585 = *mask_values.pop_front().unwrap(); + let column1_row3588 = *mask_values.pop_front().unwrap(); + let column1_row3652 = *mask_values.pop_front().unwrap(); + let column1_row3716 = *mask_values.pop_front().unwrap(); + let column1_row3841 = *mask_values.pop_front().unwrap(); + let column1_row3844 = *mask_values.pop_front().unwrap(); + let column1_row3908 = *mask_values.pop_front().unwrap(); + let column1_row3972 = *mask_values.pop_front().unwrap(); + let column1_row4097 = *mask_values.pop_front().unwrap(); + let column1_row4100 = *mask_values.pop_front().unwrap(); + let column1_row4353 = *mask_values.pop_front().unwrap(); + let column1_row4356 = *mask_values.pop_front().unwrap(); + let column1_row4609 = *mask_values.pop_front().unwrap(); + let column1_row4612 = *mask_values.pop_front().unwrap(); + let column1_row4865 = *mask_values.pop_front().unwrap(); + let column1_row4868 = *mask_values.pop_front().unwrap(); + let column1_row5121 = *mask_values.pop_front().unwrap(); + let column1_row5124 = *mask_values.pop_front().unwrap(); + let column1_row5377 = *mask_values.pop_front().unwrap(); + let column1_row5380 = *mask_values.pop_front().unwrap(); + let column1_row5441 = *mask_values.pop_front().unwrap(); + let column1_row5444 = *mask_values.pop_front().unwrap(); + let column1_row5505 = *mask_values.pop_front().unwrap(); + let column1_row5508 = *mask_values.pop_front().unwrap(); + let column1_row5633 = *mask_values.pop_front().unwrap(); + let column1_row5636 = *mask_values.pop_front().unwrap(); + let column1_row5697 = *mask_values.pop_front().unwrap(); + let column1_row5761 = *mask_values.pop_front().unwrap(); + let column1_row5889 = *mask_values.pop_front().unwrap(); + let column1_row5892 = *mask_values.pop_front().unwrap(); + let column1_row5953 = *mask_values.pop_front().unwrap(); + let column1_row6017 = *mask_values.pop_front().unwrap(); + let column1_row6145 = *mask_values.pop_front().unwrap(); + let column1_row6148 = *mask_values.pop_front().unwrap(); + let column1_row6209 = *mask_values.pop_front().unwrap(); + let column1_row6273 = *mask_values.pop_front().unwrap(); + let column1_row6401 = *mask_values.pop_front().unwrap(); + let column1_row6402 = *mask_values.pop_front().unwrap(); + let column1_row6404 = *mask_values.pop_front().unwrap(); + let column1_row6406 = *mask_values.pop_front().unwrap(); + let column1_row6468 = *mask_values.pop_front().unwrap(); + let column1_row6470 = *mask_values.pop_front().unwrap(); + let column1_row6532 = *mask_values.pop_front().unwrap(); + let column1_row6534 = *mask_values.pop_front().unwrap(); + let column1_row6593 = *mask_values.pop_front().unwrap(); + let column1_row6594 = *mask_values.pop_front().unwrap(); + let column1_row6596 = *mask_values.pop_front().unwrap(); + let column1_row6598 = *mask_values.pop_front().unwrap(); + let column1_row6658 = *mask_values.pop_front().unwrap(); + let column1_row6660 = *mask_values.pop_front().unwrap(); + let column1_row6722 = *mask_values.pop_front().unwrap(); + let column1_row6724 = *mask_values.pop_front().unwrap(); + let column1_row6785 = *mask_values.pop_front().unwrap(); + let column1_row6786 = *mask_values.pop_front().unwrap(); + let column1_row6788 = *mask_values.pop_front().unwrap(); + let column1_row6790 = *mask_values.pop_front().unwrap(); + let column1_row6977 = *mask_values.pop_front().unwrap(); + let column1_row6978 = *mask_values.pop_front().unwrap(); + let column1_row6980 = *mask_values.pop_front().unwrap(); + let column1_row6982 = *mask_values.pop_front().unwrap(); + let column1_row7169 = *mask_values.pop_front().unwrap(); + let column1_row7170 = *mask_values.pop_front().unwrap(); + let column1_row7172 = *mask_values.pop_front().unwrap(); + let column1_row7174 = *mask_values.pop_front().unwrap(); + let column1_row7361 = *mask_values.pop_front().unwrap(); + let column1_row7362 = *mask_values.pop_front().unwrap(); + let column1_row7364 = *mask_values.pop_front().unwrap(); + let column1_row7366 = *mask_values.pop_front().unwrap(); + let column1_row7553 = *mask_values.pop_front().unwrap(); + let column1_row7554 = *mask_values.pop_front().unwrap(); + let column1_row7556 = *mask_values.pop_front().unwrap(); + let column1_row7558 = *mask_values.pop_front().unwrap(); + let column1_row7745 = *mask_values.pop_front().unwrap(); + let column1_row7746 = *mask_values.pop_front().unwrap(); + let column1_row7748 = *mask_values.pop_front().unwrap(); + let column1_row7750 = *mask_values.pop_front().unwrap(); + let column1_row7937 = *mask_values.pop_front().unwrap(); + let column1_row7938 = *mask_values.pop_front().unwrap(); + let column1_row7940 = *mask_values.pop_front().unwrap(); + let column1_row7942 = *mask_values.pop_front().unwrap(); + let column1_row8193 = *mask_values.pop_front().unwrap(); + let column1_row8194 = *mask_values.pop_front().unwrap(); + let column1_row8198 = *mask_values.pop_front().unwrap(); + let column1_row8204 = *mask_values.pop_front().unwrap(); + let column1_row8449 = *mask_values.pop_front().unwrap(); + let column1_row8705 = *mask_values.pop_front().unwrap(); + let column1_row10753 = *mask_values.pop_front().unwrap(); + let column1_row15942 = *mask_values.pop_front().unwrap(); + let column1_row16900 = *mask_values.pop_front().unwrap(); + let column1_row18881 = *mask_values.pop_front().unwrap(); + let column1_row19137 = *mask_values.pop_front().unwrap(); + let column1_row19393 = *mask_values.pop_front().unwrap(); + let column1_row22529 = *mask_values.pop_front().unwrap(); + let column1_row22593 = *mask_values.pop_front().unwrap(); + let column1_row22657 = *mask_values.pop_front().unwrap(); + let column1_row22786 = *mask_values.pop_front().unwrap(); + let column1_row24577 = *mask_values.pop_front().unwrap(); + let column1_row24578 = *mask_values.pop_front().unwrap(); + let column1_row24582 = *mask_values.pop_front().unwrap(); + let column1_row24588 = *mask_values.pop_front().unwrap(); + let column1_row24833 = *mask_values.pop_front().unwrap(); + let column1_row25089 = *mask_values.pop_front().unwrap(); + let column1_row26369 = *mask_values.pop_front().unwrap(); + let column1_row30212 = *mask_values.pop_front().unwrap(); + let column1_row30978 = *mask_values.pop_front().unwrap(); + let column1_row31169 = *mask_values.pop_front().unwrap(); + let column1_row51969 = *mask_values.pop_front().unwrap(); + let column1_row55937 = *mask_values.pop_front().unwrap(); + let column1_row57345 = *mask_values.pop_front().unwrap(); + let column1_row57346 = *mask_values.pop_front().unwrap(); + let column1_row57350 = *mask_values.pop_front().unwrap(); + let column1_row57356 = *mask_values.pop_front().unwrap(); + let column1_row57601 = *mask_values.pop_front().unwrap(); + let column1_row57857 = *mask_values.pop_front().unwrap(); + let column1_row68865 = *mask_values.pop_front().unwrap(); + let column1_row71428 = *mask_values.pop_front().unwrap(); + let column1_row71942 = *mask_values.pop_front().unwrap(); + let column1_row73474 = *mask_values.pop_front().unwrap(); + let column1_row75780 = *mask_values.pop_front().unwrap(); + let column1_row75844 = *mask_values.pop_front().unwrap(); + let column1_row75908 = *mask_values.pop_front().unwrap(); + let column1_row80134 = *mask_values.pop_front().unwrap(); + let column1_row80198 = *mask_values.pop_front().unwrap(); + let column1_row80262 = *mask_values.pop_front().unwrap(); + let column1_row86273 = *mask_values.pop_front().unwrap(); + let column1_row89281 = *mask_values.pop_front().unwrap(); + let column1_row115713 = *mask_values.pop_front().unwrap(); + let column1_row122244 = *mask_values.pop_front().unwrap(); + let column1_row122881 = *mask_values.pop_front().unwrap(); + let column1_row122882 = *mask_values.pop_front().unwrap(); + let column1_row122886 = *mask_values.pop_front().unwrap(); + let column1_row122892 = *mask_values.pop_front().unwrap(); + let column1_row123137 = *mask_values.pop_front().unwrap(); + let column1_row123393 = *mask_values.pop_front().unwrap(); + let column1_row127489 = *mask_values.pop_front().unwrap(); + let column1_row130433 = *mask_values.pop_front().unwrap(); + let column1_row151041 = *mask_values.pop_front().unwrap(); + let column1_row155398 = *mask_values.pop_front().unwrap(); + let column1_row159748 = *mask_values.pop_front().unwrap(); + let column1_row162052 = *mask_values.pop_front().unwrap(); + let column1_row165377 = *mask_values.pop_front().unwrap(); + let column1_row165380 = *mask_values.pop_front().unwrap(); + let column1_row170244 = *mask_values.pop_front().unwrap(); + let column1_row171398 = *mask_values.pop_front().unwrap(); + let column1_row172801 = *mask_values.pop_front().unwrap(); + let column1_row175108 = *mask_values.pop_front().unwrap(); + let column1_row178433 = *mask_values.pop_front().unwrap(); + let column1_row178434 = *mask_values.pop_front().unwrap(); + let column1_row192260 = *mask_values.pop_front().unwrap(); + let column1_row192324 = *mask_values.pop_front().unwrap(); + let column1_row192388 = *mask_values.pop_front().unwrap(); + let column1_row195010 = *mask_values.pop_front().unwrap(); + let column1_row195074 = *mask_values.pop_front().unwrap(); + let column1_row195138 = *mask_values.pop_front().unwrap(); + let column1_row207873 = *mask_values.pop_front().unwrap(); + let column1_row208388 = *mask_values.pop_front().unwrap(); + let column1_row208452 = *mask_values.pop_front().unwrap(); + let column1_row208516 = *mask_values.pop_front().unwrap(); + let column1_row211396 = *mask_values.pop_front().unwrap(); + let column1_row211460 = *mask_values.pop_front().unwrap(); + let column1_row211524 = *mask_values.pop_front().unwrap(); + let column1_row212740 = *mask_values.pop_front().unwrap(); + let column1_row225025 = *mask_values.pop_front().unwrap(); + let column1_row228161 = *mask_values.pop_front().unwrap(); + let column1_row230657 = *mask_values.pop_front().unwrap(); + let column1_row230660 = *mask_values.pop_front().unwrap(); + let column1_row235970 = *mask_values.pop_front().unwrap(); + let column1_row236930 = *mask_values.pop_front().unwrap(); + let column1_row253953 = *mask_values.pop_front().unwrap(); + let column1_row253954 = *mask_values.pop_front().unwrap(); + let column1_row253958 = *mask_values.pop_front().unwrap(); + let column1_row253964 = *mask_values.pop_front().unwrap(); + let column1_row254209 = *mask_values.pop_front().unwrap(); + let column1_row254465 = *mask_values.pop_front().unwrap(); + let column1_row295684 = *mask_values.pop_front().unwrap(); + let column1_row299009 = *mask_values.pop_front().unwrap(); + let column1_row301318 = *mask_values.pop_front().unwrap(); + let column1_row302081 = *mask_values.pop_front().unwrap(); + let column1_row304132 = *mask_values.pop_front().unwrap(); + let column1_row309700 = *mask_values.pop_front().unwrap(); + let column1_row320449 = *mask_values.pop_front().unwrap(); + let column1_row320705 = *mask_values.pop_front().unwrap(); + let column1_row320961 = *mask_values.pop_front().unwrap(); + let column1_row322820 = *mask_values.pop_front().unwrap(); + let column1_row325121 = *mask_values.pop_front().unwrap(); + let column1_row325185 = *mask_values.pop_front().unwrap(); + let column1_row325249 = *mask_values.pop_front().unwrap(); + let column1_row325894 = *mask_values.pop_front().unwrap(); + let column1_row337601 = *mask_values.pop_front().unwrap(); + let column1_row337857 = *mask_values.pop_front().unwrap(); + let column1_row338113 = *mask_values.pop_front().unwrap(); + let column1_row341761 = *mask_values.pop_front().unwrap(); + let column1_row341825 = *mask_values.pop_front().unwrap(); + let column1_row341889 = *mask_values.pop_front().unwrap(); + let column1_row352769 = *mask_values.pop_front().unwrap(); + let column1_row356868 = *mask_values.pop_front().unwrap(); + let column1_row358662 = *mask_values.pop_front().unwrap(); + let column1_row359622 = *mask_values.pop_front().unwrap(); + let column1_row360705 = *mask_values.pop_front().unwrap(); + let column1_row362756 = *mask_values.pop_front().unwrap(); + let column1_row367044 = *mask_values.pop_front().unwrap(); + let column1_row367810 = *mask_values.pop_front().unwrap(); + let column1_row370689 = *mask_values.pop_front().unwrap(); + let column1_row376388 = *mask_values.pop_front().unwrap(); + let column1_row381956 = *mask_values.pop_front().unwrap(); + let column1_row383426 = *mask_values.pop_front().unwrap(); + let column1_row405764 = *mask_values.pop_front().unwrap(); + let column1_row407810 = *mask_values.pop_front().unwrap(); + let column1_row415748 = *mask_values.pop_front().unwrap(); + let column1_row416196 = *mask_values.pop_front().unwrap(); + let column1_row445188 = *mask_values.pop_front().unwrap(); + let column1_row448772 = *mask_values.pop_front().unwrap(); + let column1_row450753 = *mask_values.pop_front().unwrap(); + let column1_row451009 = *mask_values.pop_front().unwrap(); + let column1_row451265 = *mask_values.pop_front().unwrap(); + let column1_row455937 = *mask_values.pop_front().unwrap(); + let column1_row456001 = *mask_values.pop_front().unwrap(); + let column1_row456065 = *mask_values.pop_front().unwrap(); + let column1_row463617 = *mask_values.pop_front().unwrap(); + let column1_row463620 = *mask_values.pop_front().unwrap(); + let column1_row465348 = *mask_values.pop_front().unwrap(); + let column1_row466497 = *mask_values.pop_front().unwrap(); + let column1_row476932 = *mask_values.pop_front().unwrap(); + let column1_row481538 = *mask_values.pop_front().unwrap(); + let column1_row502017 = *mask_values.pop_front().unwrap(); + let column1_row502276 = *mask_values.pop_front().unwrap(); + let column1_row506306 = *mask_values.pop_front().unwrap(); + let column1_row507458 = *mask_values.pop_front().unwrap(); + let column1_row513025 = *mask_values.pop_front().unwrap(); + let column1_row513284 = *mask_values.pop_front().unwrap(); + let column1_row513348 = *mask_values.pop_front().unwrap(); + let column1_row513412 = *mask_values.pop_front().unwrap(); + let column1_row514308 = *mask_values.pop_front().unwrap(); + let column1_row514372 = *mask_values.pop_front().unwrap(); + let column1_row514436 = *mask_values.pop_front().unwrap(); + let column1_row515841 = *mask_values.pop_front().unwrap(); + let column1_row516097 = *mask_values.pop_front().unwrap(); + let column1_row516098 = *mask_values.pop_front().unwrap(); + let column1_row516100 = *mask_values.pop_front().unwrap(); + let column1_row516102 = *mask_values.pop_front().unwrap(); + let column1_row516108 = *mask_values.pop_front().unwrap(); + let column1_row516292 = *mask_values.pop_front().unwrap(); + let column1_row516353 = *mask_values.pop_front().unwrap(); + let column1_row516356 = *mask_values.pop_front().unwrap(); + let column1_row516609 = *mask_values.pop_front().unwrap(); + let column1_row522498 = *mask_values.pop_front().unwrap(); + let column1_row522500 = *mask_values.pop_front().unwrap(); + let column1_row522502 = *mask_values.pop_front().unwrap(); + let column1_row522690 = *mask_values.pop_front().unwrap(); + let column1_row522692 = *mask_values.pop_front().unwrap(); + let column2_row0 = *mask_values.pop_front().unwrap(); + let column2_row1 = *mask_values.pop_front().unwrap(); + let column3_row0 = *mask_values.pop_front().unwrap(); + let column3_row1 = *mask_values.pop_front().unwrap(); + let column3_row255 = *mask_values.pop_front().unwrap(); + let column3_row256 = *mask_values.pop_front().unwrap(); + let column3_row511 = *mask_values.pop_front().unwrap(); + let column4_row0 = *mask_values.pop_front().unwrap(); + let column4_row1 = *mask_values.pop_front().unwrap(); + let column4_row255 = *mask_values.pop_front().unwrap(); + let column4_row256 = *mask_values.pop_front().unwrap(); + let column5_row0 = *mask_values.pop_front().unwrap(); + let column5_row1 = *mask_values.pop_front().unwrap(); + let column5_row192 = *mask_values.pop_front().unwrap(); + let column5_row193 = *mask_values.pop_front().unwrap(); + let column5_row196 = *mask_values.pop_front().unwrap(); + let column5_row197 = *mask_values.pop_front().unwrap(); + let column5_row251 = *mask_values.pop_front().unwrap(); + let column5_row252 = *mask_values.pop_front().unwrap(); + let column5_row256 = *mask_values.pop_front().unwrap(); + let column6_row0 = *mask_values.pop_front().unwrap(); + let column6_row255 = *mask_values.pop_front().unwrap(); + let column7_row0 = *mask_values.pop_front().unwrap(); + let column7_row1 = *mask_values.pop_front().unwrap(); + let column7_row2 = *mask_values.pop_front().unwrap(); + let column7_row3 = *mask_values.pop_front().unwrap(); + let column7_row4 = *mask_values.pop_front().unwrap(); + let column7_row5 = *mask_values.pop_front().unwrap(); + let column7_row6 = *mask_values.pop_front().unwrap(); + let column7_row7 = *mask_values.pop_front().unwrap(); + let column7_row8 = *mask_values.pop_front().unwrap(); + let column7_row9 = *mask_values.pop_front().unwrap(); + let column7_row10 = *mask_values.pop_front().unwrap(); + let column7_row11 = *mask_values.pop_front().unwrap(); + let column7_row12 = *mask_values.pop_front().unwrap(); + let column7_row13 = *mask_values.pop_front().unwrap(); + let column7_row14 = *mask_values.pop_front().unwrap(); + let column7_row15 = *mask_values.pop_front().unwrap(); + let column7_row16144 = *mask_values.pop_front().unwrap(); + let column7_row16145 = *mask_values.pop_front().unwrap(); + let column7_row16146 = *mask_values.pop_front().unwrap(); + let column7_row16147 = *mask_values.pop_front().unwrap(); + let column7_row16148 = *mask_values.pop_front().unwrap(); + let column7_row16149 = *mask_values.pop_front().unwrap(); + let column7_row16150 = *mask_values.pop_front().unwrap(); + let column7_row16151 = *mask_values.pop_front().unwrap(); + let column7_row16160 = *mask_values.pop_front().unwrap(); + let column7_row16161 = *mask_values.pop_front().unwrap(); + let column7_row16162 = *mask_values.pop_front().unwrap(); + let column7_row16163 = *mask_values.pop_front().unwrap(); + let column7_row16164 = *mask_values.pop_front().unwrap(); + let column7_row16165 = *mask_values.pop_front().unwrap(); + let column7_row16166 = *mask_values.pop_front().unwrap(); + let column7_row16167 = *mask_values.pop_front().unwrap(); + let column7_row16176 = *mask_values.pop_front().unwrap(); + let column7_row16192 = *mask_values.pop_front().unwrap(); + let column7_row16208 = *mask_values.pop_front().unwrap(); + let column7_row16224 = *mask_values.pop_front().unwrap(); + let column7_row16240 = *mask_values.pop_front().unwrap(); + let column7_row16256 = *mask_values.pop_front().unwrap(); + let column7_row16272 = *mask_values.pop_front().unwrap(); + let column7_row16288 = *mask_values.pop_front().unwrap(); + let column7_row16304 = *mask_values.pop_front().unwrap(); + let column7_row16320 = *mask_values.pop_front().unwrap(); + let column7_row16336 = *mask_values.pop_front().unwrap(); + let column7_row16352 = *mask_values.pop_front().unwrap(); + let column7_row16368 = *mask_values.pop_front().unwrap(); + let column7_row16384 = *mask_values.pop_front().unwrap(); + let column7_row32768 = *mask_values.pop_front().unwrap(); + let column7_row65536 = *mask_values.pop_front().unwrap(); + let column7_row98304 = *mask_values.pop_front().unwrap(); + let column7_row131072 = *mask_values.pop_front().unwrap(); + let column7_row163840 = *mask_values.pop_front().unwrap(); + let column7_row196608 = *mask_values.pop_front().unwrap(); + let column7_row229376 = *mask_values.pop_front().unwrap(); + let column7_row262144 = *mask_values.pop_front().unwrap(); + let column7_row294912 = *mask_values.pop_front().unwrap(); + let column7_row327680 = *mask_values.pop_front().unwrap(); + let column7_row360448 = *mask_values.pop_front().unwrap(); + let column7_row393216 = *mask_values.pop_front().unwrap(); + let column7_row425984 = *mask_values.pop_front().unwrap(); + let column7_row458752 = *mask_values.pop_front().unwrap(); + let column7_row491520 = *mask_values.pop_front().unwrap(); + let column8_row0 = *mask_values.pop_front().unwrap(); + let column8_row1 = *mask_values.pop_front().unwrap(); + let column8_row2 = *mask_values.pop_front().unwrap(); + let column8_row3 = *mask_values.pop_front().unwrap(); + let column8_row4 = *mask_values.pop_front().unwrap(); + let column8_row5 = *mask_values.pop_front().unwrap(); + let column8_row6 = *mask_values.pop_front().unwrap(); + let column8_row7 = *mask_values.pop_front().unwrap(); + let column8_row8 = *mask_values.pop_front().unwrap(); + let column8_row9 = *mask_values.pop_front().unwrap(); + let column8_row12 = *mask_values.pop_front().unwrap(); + let column8_row13 = *mask_values.pop_front().unwrap(); + let column8_row16 = *mask_values.pop_front().unwrap(); + let column8_row38 = *mask_values.pop_front().unwrap(); + let column8_row39 = *mask_values.pop_front().unwrap(); + let column8_row70 = *mask_values.pop_front().unwrap(); + let column8_row71 = *mask_values.pop_front().unwrap(); + let column8_row102 = *mask_values.pop_front().unwrap(); + let column8_row103 = *mask_values.pop_front().unwrap(); + let column8_row134 = *mask_values.pop_front().unwrap(); + let column8_row135 = *mask_values.pop_front().unwrap(); + let column8_row166 = *mask_values.pop_front().unwrap(); + let column8_row167 = *mask_values.pop_front().unwrap(); + let column8_row198 = *mask_values.pop_front().unwrap(); + let column8_row199 = *mask_values.pop_front().unwrap(); + let column8_row262 = *mask_values.pop_front().unwrap(); + let column8_row263 = *mask_values.pop_front().unwrap(); + let column8_row294 = *mask_values.pop_front().unwrap(); + let column8_row295 = *mask_values.pop_front().unwrap(); + let column8_row326 = *mask_values.pop_front().unwrap(); + let column8_row358 = *mask_values.pop_front().unwrap(); + let column8_row359 = *mask_values.pop_front().unwrap(); + let column8_row390 = *mask_values.pop_front().unwrap(); + let column8_row391 = *mask_values.pop_front().unwrap(); + let column8_row422 = *mask_values.pop_front().unwrap(); + let column8_row423 = *mask_values.pop_front().unwrap(); + let column8_row454 = *mask_values.pop_front().unwrap(); + let column8_row518 = *mask_values.pop_front().unwrap(); + let column8_row711 = *mask_values.pop_front().unwrap(); + let column8_row902 = *mask_values.pop_front().unwrap(); + let column8_row903 = *mask_values.pop_front().unwrap(); + let column8_row966 = *mask_values.pop_front().unwrap(); + let column8_row967 = *mask_values.pop_front().unwrap(); + let column8_row1222 = *mask_values.pop_front().unwrap(); + let column8_row1414 = *mask_values.pop_front().unwrap(); + let column8_row1415 = *mask_values.pop_front().unwrap(); + let column8_row2438 = *mask_values.pop_front().unwrap(); + let column8_row2439 = *mask_values.pop_front().unwrap(); + let column8_row3462 = *mask_values.pop_front().unwrap(); + let column8_row3463 = *mask_values.pop_front().unwrap(); + let column8_row4486 = *mask_values.pop_front().unwrap(); + let column8_row4487 = *mask_values.pop_front().unwrap(); + let column8_row5511 = *mask_values.pop_front().unwrap(); + let column8_row6534 = *mask_values.pop_front().unwrap(); + let column8_row6535 = *mask_values.pop_front().unwrap(); + let column8_row7559 = *mask_values.pop_front().unwrap(); + let column8_row8582 = *mask_values.pop_front().unwrap(); + let column8_row8583 = *mask_values.pop_front().unwrap(); + let column8_row9607 = *mask_values.pop_front().unwrap(); + let column8_row10630 = *mask_values.pop_front().unwrap(); + let column8_row10631 = *mask_values.pop_front().unwrap(); + let column8_row11655 = *mask_values.pop_front().unwrap(); + let column8_row12678 = *mask_values.pop_front().unwrap(); + let column8_row12679 = *mask_values.pop_front().unwrap(); + let column8_row13703 = *mask_values.pop_front().unwrap(); + let column8_row14726 = *mask_values.pop_front().unwrap(); + let column8_row14727 = *mask_values.pop_front().unwrap(); + let column8_row15751 = *mask_values.pop_front().unwrap(); + let column8_row16774 = *mask_values.pop_front().unwrap(); + let column8_row16775 = *mask_values.pop_front().unwrap(); + let column8_row17799 = *mask_values.pop_front().unwrap(); + let column8_row19847 = *mask_values.pop_front().unwrap(); + let column8_row21895 = *mask_values.pop_front().unwrap(); + let column8_row23943 = *mask_values.pop_front().unwrap(); + let column8_row24966 = *mask_values.pop_front().unwrap(); + let column8_row25991 = *mask_values.pop_front().unwrap(); + let column8_row28039 = *mask_values.pop_front().unwrap(); + let column8_row30087 = *mask_values.pop_front().unwrap(); + let column8_row32135 = *mask_values.pop_front().unwrap(); + let column8_row33158 = *mask_values.pop_front().unwrap(); + let column9_row0 = *mask_values.pop_front().unwrap(); + let column9_row1 = *mask_values.pop_front().unwrap(); + let column9_row2 = *mask_values.pop_front().unwrap(); + let column9_row3 = *mask_values.pop_front().unwrap(); + let column10_row0 = *mask_values.pop_front().unwrap(); + let column10_row1 = *mask_values.pop_front().unwrap(); + let column10_row2 = *mask_values.pop_front().unwrap(); + let column10_row3 = *mask_values.pop_front().unwrap(); + let column10_row4 = *mask_values.pop_front().unwrap(); + let column10_row5 = *mask_values.pop_front().unwrap(); + let column10_row6 = *mask_values.pop_front().unwrap(); + let column10_row7 = *mask_values.pop_front().unwrap(); + let column10_row8 = *mask_values.pop_front().unwrap(); + let column10_row9 = *mask_values.pop_front().unwrap(); + let column10_row12 = *mask_values.pop_front().unwrap(); + let column10_row13 = *mask_values.pop_front().unwrap(); + let column10_row17 = *mask_values.pop_front().unwrap(); + let column10_row19 = *mask_values.pop_front().unwrap(); + let column10_row21 = *mask_values.pop_front().unwrap(); + let column10_row25 = *mask_values.pop_front().unwrap(); + let column10_row44 = *mask_values.pop_front().unwrap(); + let column10_row71 = *mask_values.pop_front().unwrap(); + let column10_row76 = *mask_values.pop_front().unwrap(); + let column10_row108 = *mask_values.pop_front().unwrap(); + let column10_row135 = *mask_values.pop_front().unwrap(); + let column10_row140 = *mask_values.pop_front().unwrap(); + let column10_row172 = *mask_values.pop_front().unwrap(); + let column10_row204 = *mask_values.pop_front().unwrap(); + let column10_row236 = *mask_values.pop_front().unwrap(); + let column10_row243 = *mask_values.pop_front().unwrap(); + let column10_row251 = *mask_values.pop_front().unwrap(); + let column10_row259 = *mask_values.pop_front().unwrap(); + let column10_row275 = *mask_values.pop_front().unwrap(); + let column10_row489 = *mask_values.pop_front().unwrap(); + let column10_row497 = *mask_values.pop_front().unwrap(); + let column10_row499 = *mask_values.pop_front().unwrap(); + let column10_row505 = *mask_values.pop_front().unwrap(); + let column10_row507 = *mask_values.pop_front().unwrap(); + let column10_row2055 = *mask_values.pop_front().unwrap(); + let column10_row2119 = *mask_values.pop_front().unwrap(); + let column10_row2183 = *mask_values.pop_front().unwrap(); + let column10_row4103 = *mask_values.pop_front().unwrap(); + let column10_row4167 = *mask_values.pop_front().unwrap(); + let column10_row4231 = *mask_values.pop_front().unwrap(); + let column10_row6403 = *mask_values.pop_front().unwrap(); + let column10_row6419 = *mask_values.pop_front().unwrap(); + let column10_row7811 = *mask_values.pop_front().unwrap(); + let column10_row8003 = *mask_values.pop_front().unwrap(); + let column10_row8067 = *mask_values.pop_front().unwrap(); + let column10_row8131 = *mask_values.pop_front().unwrap(); + let column10_row8195 = *mask_values.pop_front().unwrap(); + let column10_row8199 = *mask_values.pop_front().unwrap(); + let column10_row8211 = *mask_values.pop_front().unwrap(); + let column10_row8435 = *mask_values.pop_front().unwrap(); + let column10_row8443 = *mask_values.pop_front().unwrap(); + let column10_row10247 = *mask_values.pop_front().unwrap(); + let column10_row12295 = *mask_values.pop_front().unwrap(); + let column10_row16003 = *mask_values.pop_front().unwrap(); + let column10_row16195 = *mask_values.pop_front().unwrap(); + let column10_row24195 = *mask_values.pop_front().unwrap(); + let column10_row32387 = *mask_values.pop_front().unwrap(); + let column10_row66307 = *mask_values.pop_front().unwrap(); + let column10_row66323 = *mask_values.pop_front().unwrap(); + let column10_row67591 = *mask_values.pop_front().unwrap(); + let column10_row75783 = *mask_values.pop_front().unwrap(); + let column10_row75847 = *mask_values.pop_front().unwrap(); + let column10_row75911 = *mask_values.pop_front().unwrap(); + let column10_row132611 = *mask_values.pop_front().unwrap(); + let column10_row132627 = *mask_values.pop_front().unwrap(); + let column10_row159751 = *mask_values.pop_front().unwrap(); + let column10_row167943 = *mask_values.pop_front().unwrap(); + let column10_row179843 = *mask_values.pop_front().unwrap(); + let column10_row196419 = *mask_values.pop_front().unwrap(); + let column10_row196483 = *mask_values.pop_front().unwrap(); + let column10_row196547 = *mask_values.pop_front().unwrap(); + let column10_row198915 = *mask_values.pop_front().unwrap(); + let column10_row198931 = *mask_values.pop_front().unwrap(); + let column10_row204807 = *mask_values.pop_front().unwrap(); + let column10_row204871 = *mask_values.pop_front().unwrap(); + let column10_row204935 = *mask_values.pop_front().unwrap(); + let column10_row237379 = *mask_values.pop_front().unwrap(); + let column10_row265219 = *mask_values.pop_front().unwrap(); + let column10_row265235 = *mask_values.pop_front().unwrap(); + let column10_row296967 = *mask_values.pop_front().unwrap(); + let column10_row303111 = *mask_values.pop_front().unwrap(); + let column10_row321543 = *mask_values.pop_front().unwrap(); + let column10_row331523 = *mask_values.pop_front().unwrap(); + let column10_row331539 = *mask_values.pop_front().unwrap(); + let column10_row354311 = *mask_values.pop_front().unwrap(); + let column10_row360455 = *mask_values.pop_front().unwrap(); + let column10_row384835 = *mask_values.pop_front().unwrap(); + let column10_row397827 = *mask_values.pop_front().unwrap(); + let column10_row397843 = *mask_values.pop_front().unwrap(); + let column10_row409219 = *mask_values.pop_front().unwrap(); + let column10_row409607 = *mask_values.pop_front().unwrap(); + let column10_row446471 = *mask_values.pop_front().unwrap(); + let column10_row458759 = *mask_values.pop_front().unwrap(); + let column10_row464131 = *mask_values.pop_front().unwrap(); + let column10_row464147 = *mask_values.pop_front().unwrap(); + let column10_row482947 = *mask_values.pop_front().unwrap(); + let column10_row507715 = *mask_values.pop_front().unwrap(); + let column10_row512007 = *mask_values.pop_front().unwrap(); + let column10_row512071 = *mask_values.pop_front().unwrap(); + let column10_row512135 = *mask_values.pop_front().unwrap(); + let column10_row516099 = *mask_values.pop_front().unwrap(); + let column10_row516115 = *mask_values.pop_front().unwrap(); + let column10_row516339 = *mask_values.pop_front().unwrap(); + let column10_row516347 = *mask_values.pop_front().unwrap(); + let column10_row520199 = *mask_values.pop_front().unwrap(); + let column11_row0 = *mask_values.pop_front().unwrap(); + let column11_row1 = *mask_values.pop_front().unwrap(); + let column11_row2 = *mask_values.pop_front().unwrap(); + let column11_row3 = *mask_values.pop_front().unwrap(); + let column11_row4 = *mask_values.pop_front().unwrap(); + let column11_row5 = *mask_values.pop_front().unwrap(); + let column11_row6 = *mask_values.pop_front().unwrap(); + let column11_row7 = *mask_values.pop_front().unwrap(); + let column11_row8 = *mask_values.pop_front().unwrap(); + let column11_row9 = *mask_values.pop_front().unwrap(); + let column11_row10 = *mask_values.pop_front().unwrap(); + let column11_row11 = *mask_values.pop_front().unwrap(); + let column11_row12 = *mask_values.pop_front().unwrap(); + let column11_row13 = *mask_values.pop_front().unwrap(); + let column11_row14 = *mask_values.pop_front().unwrap(); + let column11_row16 = *mask_values.pop_front().unwrap(); + let column11_row17 = *mask_values.pop_front().unwrap(); + let column11_row19 = *mask_values.pop_front().unwrap(); + let column11_row21 = *mask_values.pop_front().unwrap(); + let column11_row22 = *mask_values.pop_front().unwrap(); + let column11_row24 = *mask_values.pop_front().unwrap(); + let column11_row25 = *mask_values.pop_front().unwrap(); + let column11_row27 = *mask_values.pop_front().unwrap(); + let column11_row29 = *mask_values.pop_front().unwrap(); + let column11_row30 = *mask_values.pop_front().unwrap(); + let column11_row33 = *mask_values.pop_front().unwrap(); + let column11_row35 = *mask_values.pop_front().unwrap(); + let column11_row37 = *mask_values.pop_front().unwrap(); + let column11_row38 = *mask_values.pop_front().unwrap(); + let column11_row41 = *mask_values.pop_front().unwrap(); + let column11_row43 = *mask_values.pop_front().unwrap(); + let column11_row45 = *mask_values.pop_front().unwrap(); + let column11_row46 = *mask_values.pop_front().unwrap(); + let column11_row49 = *mask_values.pop_front().unwrap(); + let column11_row51 = *mask_values.pop_front().unwrap(); + let column11_row53 = *mask_values.pop_front().unwrap(); + let column11_row54 = *mask_values.pop_front().unwrap(); + let column11_row57 = *mask_values.pop_front().unwrap(); + let column11_row59 = *mask_values.pop_front().unwrap(); + let column11_row61 = *mask_values.pop_front().unwrap(); + let column11_row65 = *mask_values.pop_front().unwrap(); + let column11_row69 = *mask_values.pop_front().unwrap(); + let column11_row71 = *mask_values.pop_front().unwrap(); + let column11_row73 = *mask_values.pop_front().unwrap(); + let column11_row77 = *mask_values.pop_front().unwrap(); + let column11_row81 = *mask_values.pop_front().unwrap(); + let column11_row85 = *mask_values.pop_front().unwrap(); + let column11_row89 = *mask_values.pop_front().unwrap(); + let column11_row91 = *mask_values.pop_front().unwrap(); + let column11_row97 = *mask_values.pop_front().unwrap(); + let column11_row101 = *mask_values.pop_front().unwrap(); + let column11_row105 = *mask_values.pop_front().unwrap(); + let column11_row109 = *mask_values.pop_front().unwrap(); + let column11_row113 = *mask_values.pop_front().unwrap(); + let column11_row117 = *mask_values.pop_front().unwrap(); + let column11_row123 = *mask_values.pop_front().unwrap(); + let column11_row155 = *mask_values.pop_front().unwrap(); + let column11_row187 = *mask_values.pop_front().unwrap(); + let column11_row195 = *mask_values.pop_front().unwrap(); + let column11_row205 = *mask_values.pop_front().unwrap(); + let column11_row219 = *mask_values.pop_front().unwrap(); + let column11_row221 = *mask_values.pop_front().unwrap(); + let column11_row237 = *mask_values.pop_front().unwrap(); + let column11_row245 = *mask_values.pop_front().unwrap(); + let column11_row253 = *mask_values.pop_front().unwrap(); + let column11_row269 = *mask_values.pop_front().unwrap(); + let column11_row301 = *mask_values.pop_front().unwrap(); + let column11_row309 = *mask_values.pop_front().unwrap(); + let column11_row310 = *mask_values.pop_front().unwrap(); + let column11_row318 = *mask_values.pop_front().unwrap(); + let column11_row326 = *mask_values.pop_front().unwrap(); + let column11_row334 = *mask_values.pop_front().unwrap(); + let column11_row342 = *mask_values.pop_front().unwrap(); + let column11_row350 = *mask_values.pop_front().unwrap(); + let column11_row451 = *mask_values.pop_front().unwrap(); + let column11_row461 = *mask_values.pop_front().unwrap(); + let column11_row477 = *mask_values.pop_front().unwrap(); + let column11_row493 = *mask_values.pop_front().unwrap(); + let column11_row501 = *mask_values.pop_front().unwrap(); + let column11_row509 = *mask_values.pop_front().unwrap(); + let column11_row12309 = *mask_values.pop_front().unwrap(); + let column11_row12373 = *mask_values.pop_front().unwrap(); + let column11_row12565 = *mask_values.pop_front().unwrap(); + let column11_row12629 = *mask_values.pop_front().unwrap(); + let column11_row16085 = *mask_values.pop_front().unwrap(); + let column11_row16149 = *mask_values.pop_front().unwrap(); + let column11_row16325 = *mask_values.pop_front().unwrap(); + let column11_row16331 = *mask_values.pop_front().unwrap(); + let column11_row16337 = *mask_values.pop_front().unwrap(); + let column11_row16339 = *mask_values.pop_front().unwrap(); + let column11_row16355 = *mask_values.pop_front().unwrap(); + let column11_row16357 = *mask_values.pop_front().unwrap(); + let column11_row16363 = *mask_values.pop_front().unwrap(); + let column11_row16369 = *mask_values.pop_front().unwrap(); + let column11_row16371 = *mask_values.pop_front().unwrap(); + let column11_row16385 = *mask_values.pop_front().unwrap(); + let column11_row16417 = *mask_values.pop_front().unwrap(); + let column11_row32647 = *mask_values.pop_front().unwrap(); + let column11_row32667 = *mask_values.pop_front().unwrap(); + let column11_row32715 = *mask_values.pop_front().unwrap(); + let column11_row32721 = *mask_values.pop_front().unwrap(); + let column11_row32731 = *mask_values.pop_front().unwrap(); + let column11_row32747 = *mask_values.pop_front().unwrap(); + let column11_row32753 = *mask_values.pop_front().unwrap(); + let column11_row32763 = *mask_values.pop_front().unwrap(); + let column12_inter1_row0 = *mask_values.pop_front().unwrap(); + let column12_inter1_row1 = *mask_values.pop_front().unwrap(); + let column13_inter1_row0 = *mask_values.pop_front().unwrap(); + let column13_inter1_row1 = *mask_values.pop_front().unwrap(); + let column14_inter1_row0 = *mask_values.pop_front().unwrap(); + let column14_inter1_row1 = *mask_values.pop_front().unwrap(); + let column14_inter1_row2 = *mask_values.pop_front().unwrap(); + let column14_inter1_row5 = *mask_values.pop_front().unwrap(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -11306,11 +11306,11 @@ fn eval_composition_polynomial_inner( - cpu_decode_opcode_range_check_bit_0) * domain4 / domain0; - let total_sum = total_sum + *constraint_coefficients[0] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. let value = (column0_row0) / domain4; - let total_sum = total_sum + *constraint_coefficients[1] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. let value = (column8_row1 @@ -11319,30 +11319,30 @@ fn eval_composition_polynomial_inner( * global_values.offset_size + column10_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[2] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - cpu_decode_flag_op1_base_op0_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[3] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[4] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - cpu_decode_flag_pc_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[5] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - cpu_decode_fp_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[6] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. let value = (column8_row8 @@ -11351,7 +11351,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_0) * column11_row0 + column10_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[7] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. let value = (column8_row4 @@ -11360,7 +11360,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_1) * column11_row0 + column10_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[8] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. let value = (column8_row12 @@ -11371,11 +11371,11 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_op1_base_op0_0 * column8_row5 + column10_row4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[9] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. let value = (column11_row4 - column8_row5 * column8_row13) / domain5; - let total_sum = total_sum + *constraint_coefficients[10] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column11_row12 @@ -11383,17 +11383,17 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_6 * column11_row4 + cpu_decode_flag_res_op1_0 * column8_row13)) / domain5; - let total_sum = total_sum + *constraint_coefficients[11] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. let value = (column11_row2 - cpu_decode_opcode_range_check_bit_9 * column8_row9) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients[12] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. let value = (column11_row10 - column11_row2 * column11_row12) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients[13] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column8_row16 @@ -11403,14 +11403,14 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_8 * (column8_row0 + column11_row12))) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients[14] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. let value = ((column11_row10 - cpu_decode_opcode_range_check_bit_9) * (column8_row16 - npc_reg_0)) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients[15] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. let value = (column11_row16 @@ -11420,7 +11420,7 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * 2)) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients[16] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. let value = (column11_row24 @@ -11429,29 +11429,29 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * (column11_row0 + 2))) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients[17] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. let value = (cpu_decode_opcode_range_check_bit_12 * (column8_row9 - column11_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[18] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. let value = (cpu_decode_opcode_range_check_bit_12 * (column8_row5 - (column8_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[19] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. let value = (cpu_decode_opcode_range_check_bit_12 * (column10_row0 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[20] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. let value = (cpu_decode_opcode_range_check_bit_12 * (column10_row8 - (global_values.half_offset_size + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[21] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. let value = (cpu_decode_opcode_range_check_bit_12 @@ -11461,19 +11461,19 @@ fn eval_composition_polynomial_inner( + 1 - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain5; - let total_sum = total_sum + *constraint_coefficients[22] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. let value = (cpu_decode_opcode_range_check_bit_13 * (column10_row0 + 2 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[23] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. let value = (cpu_decode_opcode_range_check_bit_13 * (column10_row4 + 1 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[24] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. let value = (cpu_decode_opcode_range_check_bit_13 @@ -11483,35 +11483,35 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_res_op1_0 - 4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[25] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. let value = (cpu_decode_opcode_range_check_bit_14 * (column8_row9 - column11_row12)) / domain5; - let total_sum = total_sum + *constraint_coefficients[26] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. let value = (column11_row0 - global_values.initial_ap) / domain144; - let total_sum = total_sum + *constraint_coefficients[27] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. let value = (column11_row8 - global_values.initial_ap) / domain144; - let total_sum = total_sum + *constraint_coefficients[28] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. let value = (column8_row0 - global_values.initial_pc) / domain144; - let total_sum = total_sum + *constraint_coefficients[29] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. let value = (column11_row0 - global_values.final_ap) / domain143; - let total_sum = total_sum + *constraint_coefficients[30] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. let value = (column11_row8 - global_values.initial_ap) / domain143; - let total_sum = total_sum + *constraint_coefficients[31] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. let value = (column8_row0 - global_values.final_pc) / domain143; - let total_sum = total_sum + *constraint_coefficients[32] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -11522,7 +11522,7 @@ fn eval_composition_polynomial_inner( + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row1 - global_values.memory_multi_column_perm_perm_interaction_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients[33] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -11535,35 +11535,35 @@ fn eval_composition_polynomial_inner( * column14_inter1_row0) * domain145 / domain1; - let total_sum = total_sum + *constraint_coefficients[34] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. let value = (column14_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain145; - let total_sum = total_sum + *constraint_coefficients[35] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain145 / domain1; - let total_sum = total_sum + *constraint_coefficients[36] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. let value = ((memory_address_diff_0 - 1) * (column9_row1 - column9_row3)) * domain145 / domain1; - let total_sum = total_sum + *constraint_coefficients[37] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. let value = (column9_row0 - 1) / domain144; - let total_sum = total_sum + *constraint_coefficients[38] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. let value = (column8_row2) / domain3; - let total_sum = total_sum + *constraint_coefficients[39] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. let value = (column8_row3) / domain3; - let total_sum = total_sum + *constraint_coefficients[40] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. let value = ((global_values.range_check16_perm_interaction_elm - column10_row2) @@ -11571,7 +11571,7 @@ fn eval_composition_polynomial_inner( + column10_row0 - global_values.range_check16_perm_interaction_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients[41] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. let value = ((global_values.range_check16_perm_interaction_elm - column10_row6) @@ -11579,26 +11579,26 @@ fn eval_composition_polynomial_inner( - (global_values.range_check16_perm_interaction_elm - column10_row4) * column14_inter1_row1) * domain146 / domain2; - let total_sum = total_sum + *constraint_coefficients[42] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. let value = (column14_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / domain146; - let total_sum = total_sum + *constraint_coefficients[43] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain146 / domain2; - let total_sum = total_sum + *constraint_coefficients[44] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. let value = (column10_row2 - global_values.range_check_min) / domain144; - let total_sum = total_sum + *constraint_coefficients[45] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. let value = (column10_row2 - global_values.range_check_max) / domain146; - let total_sum = total_sum + *constraint_coefficients[46] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/init0. let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row0) @@ -11606,7 +11606,7 @@ fn eval_composition_polynomial_inner( + column1_row0 - global_values.diluted_check_permutation_interaction_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients[47] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/step0. let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row1) @@ -11615,20 +11615,20 @@ fn eval_composition_polynomial_inner( * column13_inter1_row0) * domain147 / domain0; - let total_sum = total_sum + *constraint_coefficients[48] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/last. let value = (column13_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) / domain147; - let total_sum = total_sum + *constraint_coefficients[49] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/init. let value = (column12_inter1_row0 - 1) / domain144; - let total_sum = total_sum + *constraint_coefficients[50] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/first_element. let value = (column2_row0 - global_values.diluted_check_first_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients[51] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/step. let value = (column12_inter1_row1 @@ -11639,59 +11639,59 @@ fn eval_composition_polynomial_inner( * (column2_row1 - column2_row0))) * domain147 / domain0; - let total_sum = total_sum + *constraint_coefficients[52] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/last. let value = (column12_inter1_row0 - global_values.diluted_check_final_cum_val) / domain147; - let total_sum = total_sum + *constraint_coefficients[53] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column11_row71 * (column5_row0 - (column5_row1 + column5_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients[54] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column11_row71 * (column5_row1 - 3138550867693340381917894711603833208051177722232017256448 * column5_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients[55] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column11_row71 - column6_row255 * (column5_row192 - (column5_row193 + column5_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients[56] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column6_row255 * (column5_row193 - 8 * column5_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients[57] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column6_row255 - (column5_row251 - (column5_row252 + column5_row252)) * (column5_row196 - (column5_row197 + column5_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients[58] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column5_row251 - (column5_row252 + column5_row252)) * (column5_row197 - 18014398509481984 * column5_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients[59] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[60] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. let value = (column5_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[61] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. let value = (column5_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[62] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. let value = (pedersen_hash0_ec_subset_sum_bit_0 @@ -11699,7 +11699,7 @@ fn eval_composition_polynomial_inner( - column6_row0 * (column3_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[63] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. let value = (column6_row0 * column6_row0 @@ -11707,82 +11707,82 @@ fn eval_composition_polynomial_inner( * (column3_row0 + global_values.pedersen_points_x + column3_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[64] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row0 + column4_row1) - column6_row0 * (column3_row0 - column3_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[65] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column3_row1 - column3_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[66] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row1 - column4_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[67] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. let value = (column3_row256 - column3_row255) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients[68] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. let value = (column4_row256 - column4_row255) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients[69] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. let value = (column3_row0 - global_values.pedersen_shift_point.x) / domain14; - let total_sum = total_sum + *constraint_coefficients[70] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. let value = (column4_row0 - global_values.pedersen_shift_point.y) / domain14; - let total_sum = total_sum + *constraint_coefficients[71] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. let value = (column8_row7 - column5_row0) / domain14; - let total_sum = total_sum + *constraint_coefficients[72] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. let value = (column8_row518 - (column8_row134 + 1)) * domain148 / domain14; - let total_sum = total_sum + *constraint_coefficients[73] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. let value = (column8_row6 - global_values.initial_pedersen_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[74] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. let value = (column8_row263 - column5_row256) / domain14; - let total_sum = total_sum + *constraint_coefficients[75] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. let value = (column8_row262 - (column8_row6 + 1)) / domain14; - let total_sum = total_sum + *constraint_coefficients[76] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. let value = (column8_row135 - column3_row511) / domain14; - let total_sum = total_sum + *constraint_coefficients[77] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. let value = (column8_row134 - (column8_row262 + 1)) / domain14; - let total_sum = total_sum + *constraint_coefficients[78] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. let value = (range_check_builtin_value7_0 - column8_row71) / domain8; - let total_sum = total_sum + *constraint_coefficients[79] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. let value = (column8_row326 - (column8_row70 + 1)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients[80] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. let value = (column8_row70 - global_values.initial_range_check_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[81] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/slope. let value = (ecdsa_signature0_doubling_key_x_squared @@ -11792,13 +11792,13 @@ fn eval_composition_polynomial_inner( - (column11_row33 + column11_row33) * column11_row35) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[82] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/x. let value = (column11_row35 * column11_row35 - (column11_row1 + column11_row1 + column11_row65)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[83] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/y. let value = (column11_row33 @@ -11806,22 +11806,22 @@ fn eval_composition_polynomial_inner( - column11_row35 * (column11_row1 - column11_row65)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[84] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[85] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. let value = (column11_row59) / domain32; - let total_sum = total_sum + *constraint_coefficients[86] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. let value = (column11_row59) / domain31; - let total_sum = total_sum + *constraint_coefficients[87] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. let value = (ecdsa_signature0_exponentiate_generator_bit_0 @@ -11829,7 +11829,7 @@ fn eval_composition_polynomial_inner( - column11_row123 * (column11_row27 - global_values.ecdsa_generator_points_x)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[88] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. let value = (column11_row123 * column11_row123 @@ -11837,56 +11837,56 @@ fn eval_composition_polynomial_inner( * (column11_row27 + global_values.ecdsa_generator_points_x + column11_row155)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[89] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (column11_row91 + column11_row219) - column11_row123 * (column11_row27 - column11_row155)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[90] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. let value = (column11_row7 * (column11_row27 - global_values.ecdsa_generator_points_x) - 1) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[91] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column11_row155 - column11_row27)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[92] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column11_row219 - column11_row91)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients[93] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[94] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. let value = (column11_row9) / domain28; - let total_sum = total_sum + *constraint_coefficients[95] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. let value = (column11_row9) / domain27; - let total_sum = total_sum + *constraint_coefficients[96] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 - column11_row33) - column11_row19 * (column11_row17 - column11_row1)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[97] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. let value = (column11_row19 * column11_row19 @@ -11894,101 +11894,101 @@ fn eval_composition_polynomial_inner( * (column11_row17 + column11_row1 + column11_row81)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[98] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 + column11_row113) - column11_row19 * (column11_row17 - column11_row81)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[99] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. let value = (column11_row51 * (column11_row17 - column11_row1) - 1) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[100] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row81 - column11_row17)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[101] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row113 - column11_row49)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[102] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/x. let value = (column11_row27 - global_values.ecdsa_sig_config.shift_point.x) / domain33; - let total_sum = total_sum + *constraint_coefficients[103] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/y. let value = (column11_row91 + global_values.ecdsa_sig_config.shift_point.y) / domain33; - let total_sum = total_sum + *constraint_coefficients[104] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/x. let value = (column11_row17 - global_values.ecdsa_sig_config.shift_point.x) / domain29; - let total_sum = total_sum + *constraint_coefficients[105] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/y. let value = (column11_row49 - global_values.ecdsa_sig_config.shift_point.y) / domain29; - let total_sum = total_sum + *constraint_coefficients[106] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/slope. let value = (column11_row32731 - (column11_row16369 + column11_row32763 * (column11_row32667 - column11_row16337))) / domain33; - let total_sum = total_sum + *constraint_coefficients[107] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x. let value = (column11_row32763 * column11_row32763 - (column11_row32667 + column11_row16337 + column11_row16385)) / domain33; - let total_sum = total_sum + *constraint_coefficients[108] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/y. let value = (column11_row32731 + column11_row16417 - column11_row32763 * (column11_row32667 - column11_row16385)) / domain33; - let total_sum = total_sum + *constraint_coefficients[109] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x_diff_inv. let value = (column11_row32647 * (column11_row32667 - column11_row16337) - 1) / domain33; - let total_sum = total_sum + *constraint_coefficients[110] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/slope. let value = (column11_row32753 + global_values.ecdsa_sig_config.shift_point.y - column11_row16331 * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x)) / domain33; - let total_sum = total_sum + *constraint_coefficients[111] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x. let value = (column11_row16331 * column11_row16331 - (column11_row32721 + global_values.ecdsa_sig_config.shift_point.x + column11_row9)) / domain33; - let total_sum = total_sum + *constraint_coefficients[112] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x_diff_inv. let value = (column11_row32715 * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x) - 1) / domain33; - let total_sum = total_sum + *constraint_coefficients[113] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/z_nonzero. let value = (column11_row59 * column11_row16363 - 1) / domain33; - let total_sum = total_sum + *constraint_coefficients[114] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/r_and_w_nonzero. let value = (column11_row9 * column11_row16355 - 1) / domain29; - let total_sum = total_sum + *constraint_coefficients[115] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/x_squared. let value = (column11_row32747 - column11_row1 * column11_row1) / domain33; - let total_sum = total_sum + *constraint_coefficients[116] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/on_curve. let value = (column11_row33 * column11_row33 @@ -11996,104 +11996,104 @@ fn eval_composition_polynomial_inner( + global_values.ecdsa_sig_config.alpha * column11_row1 + global_values.ecdsa_sig_config.beta)) / domain33; - let total_sum = total_sum + *constraint_coefficients[117] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/init_addr. let value = (column8_row390 - global_values.initial_ecdsa_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[118] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_addr. let value = (column8_row16774 - (column8_row390 + 1)) / domain33; - let total_sum = total_sum + *constraint_coefficients[119] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_addr. let value = (column8_row33158 - (column8_row16774 + 1)) * domain150 / domain33; - let total_sum = total_sum + *constraint_coefficients[120] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_value0. let value = (column8_row16775 - column11_row59) / domain33; - let total_sum = total_sum + *constraint_coefficients[121] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_value0. let value = (column8_row391 - column11_row1) / domain33; - let total_sum = total_sum + *constraint_coefficients[122] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/init_var_pool_addr. let value = (column8_row198 - global_values.initial_bitwise_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[123] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/step_var_pool_addr. let value = (column8_row454 - (column8_row198 + 1)) * domain19 / domain8; - let total_sum = total_sum + *constraint_coefficients[124] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/x_or_y_addr. let value = (column8_row902 - (column8_row966 + 1)) / domain20; - let total_sum = total_sum + *constraint_coefficients[125] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/next_var_pool_addr. let value = (column8_row1222 - (column8_row902 + 1)) * domain151 / domain20; - let total_sum = total_sum + *constraint_coefficients[126] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/partition. let value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column8_row199) / domain8; - let total_sum = total_sum + *constraint_coefficients[127] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/or_is_and_plus_xor. let value = (column8_row903 - (column8_row711 + column8_row967)) / domain20; - let total_sum = total_sum + *constraint_coefficients[128] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/addition_is_xor_with_and. let value = (column1_row0 + column1_row256 - (column1_row768 + column1_row512 + column1_row512)) / domain21; - let total_sum = total_sum + *constraint_coefficients[129] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking192. let value = ((column1_row704 + column1_row960) * 16 - column1_row8) / domain20; - let total_sum = total_sum + *constraint_coefficients[130] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking193. let value = ((column1_row720 + column1_row976) * 16 - column1_row520) / domain20; - let total_sum = total_sum + *constraint_coefficients[131] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking194. let value = ((column1_row736 + column1_row992) * 16 - column1_row264) / domain20; - let total_sum = total_sum + *constraint_coefficients[132] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking195. let value = ((column1_row752 + column1_row1008) * 256 - column1_row776) / domain20; - let total_sum = total_sum + *constraint_coefficients[133] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/init_addr. let value = (column8_row8582 - global_values.initial_ec_op_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[134] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/p_x_addr. let value = (column8_row24966 - (column8_row8582 + 7)) * domain152 / domain29; - let total_sum = total_sum + *constraint_coefficients[135] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/p_y_addr. let value = (column8_row4486 - (column8_row8582 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[136] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/q_x_addr. let value = (column8_row12678 - (column8_row4486 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[137] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/q_y_addr. let value = (column8_row2438 - (column8_row12678 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[138] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/m_addr. let value = (column8_row10630 - (column8_row2438 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[139] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/r_x_addr. let value = (column8_row6534 - (column8_row10630 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[140] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/r_y_addr. let value = (column8_row14726 - (column8_row6534 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[141] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/slope. let value = (ec_op_doubling_q_x_squared_0 @@ -12103,14 +12103,14 @@ fn eval_composition_polynomial_inner( - (column11_row25 + column11_row25) * column11_row57) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[142] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/x. let value = (column11_row57 * column11_row57 - (column11_row41 + column11_row41 + column11_row105)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[143] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/y. let value = (column11_row25 @@ -12118,377 +12118,377 @@ fn eval_composition_polynomial_inner( - column11_row57 * (column11_row41 - column11_row105)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[144] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_q_x. let value = (column8_row12679 - column11_row41) / domain29; - let total_sum = total_sum + *constraint_coefficients[145] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_q_y. let value = (column8_row2439 - column11_row25) / domain29; - let total_sum = total_sum + *constraint_coefficients[146] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column11_row16371 * (column11_row21 - (column11_row85 + column11_row85))) / domain29; - let total_sum = total_sum + *constraint_coefficients[147] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column11_row16371 * (column11_row85 - 3138550867693340381917894711603833208051177722232017256448 * column11_row12309)) / domain29; - let total_sum = total_sum + *constraint_coefficients[148] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column11_row16371 - column11_row16339 * (column11_row12309 - (column11_row12373 + column11_row12373))) / domain29; - let total_sum = total_sum + *constraint_coefficients[149] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column11_row16339 * (column11_row12373 - 8 * column11_row12565)) / domain29; - let total_sum = total_sum + *constraint_coefficients[150] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column11_row16339 - (column11_row16085 - (column11_row16149 + column11_row16149)) * (column11_row12565 - (column11_row12629 + column11_row12629))) / domain29; - let total_sum = total_sum + *constraint_coefficients[151] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column11_row16085 - (column11_row16149 + column11_row16149)) * (column11_row12629 - 18014398509481984 * column11_row16085)) / domain29; - let total_sum = total_sum + *constraint_coefficients[152] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/booleanity_test. let value = (ec_op_ec_subset_sum_bit_0 * (ec_op_ec_subset_sum_bit_0 - 1)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[153] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_extraction_end. let value = (column11_row21) / domain30; - let total_sum = total_sum + *constraint_coefficients[154] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/zeros_tail. let value = (column11_row21) / domain27; - let total_sum = total_sum + *constraint_coefficients[155] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/slope. let value = (ec_op_ec_subset_sum_bit_0 * (column11_row37 - column11_row25) - column11_row11 * (column11_row5 - column11_row41)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[156] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/x. let value = (column11_row11 * column11_row11 - ec_op_ec_subset_sum_bit_0 * (column11_row5 + column11_row41 + column11_row69)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[157] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/y. let value = (ec_op_ec_subset_sum_bit_0 * (column11_row37 + column11_row101) - column11_row11 * (column11_row5 - column11_row69)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[158] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/x_diff_inv. let value = (column11_row43 * (column11_row5 - column11_row41) - 1) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[159] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/copy_point/x. let value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row69 - column11_row5)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[160] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/copy_point/y. let value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row101 - column11_row37)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients[161] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_m. let value = (column11_row21 - column8_row10631) / domain29; - let total_sum = total_sum + *constraint_coefficients[162] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_p_x. let value = (column8_row8583 - column11_row5) / domain29; - let total_sum = total_sum + *constraint_coefficients[163] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_p_y. let value = (column8_row4487 - column11_row37) / domain29; - let total_sum = total_sum + *constraint_coefficients[164] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/set_r_x. let value = (column8_row6535 - column11_row16325) / domain29; - let total_sum = total_sum + *constraint_coefficients[165] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/set_r_y. let value = (column8_row14727 - column11_row16357) / domain29; - let total_sum = total_sum + *constraint_coefficients[166] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/init_input_output_addr. let value = (column8_row1414 - global_values.initial_keccak_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[167] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/addr_input_output_step. let value = (column8_row3462 - (column8_row1414 + 1)) * domain153 / domain22; - let total_sum = total_sum + *constraint_coefficients[168] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w0. let value = (column8_row1415 - column7_row0) / domain33; - let total_sum = total_sum + *constraint_coefficients[169] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w1. let value = (column8_row3463 - column7_row1) / domain33; - let total_sum = total_sum + *constraint_coefficients[170] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w2. let value = (column8_row5511 - column7_row2) / domain33; - let total_sum = total_sum + *constraint_coefficients[171] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w3. let value = (column8_row7559 - column7_row3) / domain33; - let total_sum = total_sum + *constraint_coefficients[172] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w4. let value = (column8_row9607 - column7_row4) / domain33; - let total_sum = total_sum + *constraint_coefficients[173] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w5. let value = (column8_row11655 - column7_row5) / domain33; - let total_sum = total_sum + *constraint_coefficients[174] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w6. let value = (column8_row13703 - column7_row6) / domain33; - let total_sum = total_sum + *constraint_coefficients[175] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w7. let value = (column8_row15751 - column7_row7) / domain33; - let total_sum = total_sum + *constraint_coefficients[176] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w0. let value = (column8_row17799 - column7_row8) / domain33; - let total_sum = total_sum + *constraint_coefficients[177] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w1. let value = (column8_row19847 - column7_row9) / domain33; - let total_sum = total_sum + *constraint_coefficients[178] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w2. let value = (column8_row21895 - column7_row10) / domain33; - let total_sum = total_sum + *constraint_coefficients[179] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w3. let value = (column8_row23943 - column7_row11) / domain33; - let total_sum = total_sum + *constraint_coefficients[180] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w4. let value = (column8_row25991 - column7_row12) / domain33; - let total_sum = total_sum + *constraint_coefficients[181] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w5. let value = (column8_row28039 - column7_row13) / domain33; - let total_sum = total_sum + *constraint_coefficients[182] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w6. let value = (column8_row30087 - column7_row14) / domain33; - let total_sum = total_sum + *constraint_coefficients[183] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w7. let value = (column8_row32135 - column7_row15) / domain33; - let total_sum = total_sum + *constraint_coefficients[184] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final0. let value = (column7_row0 - column7_row16144) / domain36; - let total_sum = total_sum + *constraint_coefficients[185] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final1. let value = (column7_row32768 - column7_row16160) / domain36; - let total_sum = total_sum + *constraint_coefficients[186] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final2. let value = (column7_row65536 - column7_row16176) / domain36; - let total_sum = total_sum + *constraint_coefficients[187] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final3. let value = (column7_row98304 - column7_row16192) / domain36; - let total_sum = total_sum + *constraint_coefficients[188] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final4. let value = (column7_row131072 - column7_row16208) / domain36; - let total_sum = total_sum + *constraint_coefficients[189] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final5. let value = (column7_row163840 - column7_row16224) / domain36; - let total_sum = total_sum + *constraint_coefficients[190] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final6. let value = (column7_row196608 - column7_row16240) / domain36; - let total_sum = total_sum + *constraint_coefficients[191] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final7. let value = (column7_row229376 - column7_row16256) / domain36; - let total_sum = total_sum + *constraint_coefficients[192] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final8. let value = (column7_row262144 - column7_row16272) / domain36; - let total_sum = total_sum + *constraint_coefficients[193] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final9. let value = (column7_row294912 - column7_row16288) / domain36; - let total_sum = total_sum + *constraint_coefficients[194] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final10. let value = (column7_row327680 - column7_row16304) / domain36; - let total_sum = total_sum + *constraint_coefficients[195] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final11. let value = (column7_row360448 - column7_row16320) / domain36; - let total_sum = total_sum + *constraint_coefficients[196] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final12. let value = (column7_row393216 - column7_row16336) / domain36; - let total_sum = total_sum + *constraint_coefficients[197] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final13. let value = (column7_row425984 - column7_row16352) / domain36; - let total_sum = total_sum + *constraint_coefficients[198] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final14. let value = (column7_row458752 - column7_row16368) / domain36; - let total_sum = total_sum + *constraint_coefficients[199] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final15. let value = (column7_row491520 - column7_row16384) / domain36; - let total_sum = total_sum + *constraint_coefficients[200] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/start_accumulation. let value = (column10_row6403) / domain40; - let total_sum = total_sum + *constraint_coefficients[201] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation0. let value = (column7_row16144 - keccak_keccak_parse_to_diluted_sum_words_over_instances0_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[202] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations0. let value = (column7_row16160 + keccak_keccak_parse_to_diluted_sum_words_over_instances0_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances0_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[203] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation1. let value = (column7_row16145 - keccak_keccak_parse_to_diluted_sum_words_over_instances1_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[204] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations1. let value = (column7_row16161 + keccak_keccak_parse_to_diluted_sum_words_over_instances1_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances1_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[205] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation2. let value = (column7_row16146 - keccak_keccak_parse_to_diluted_sum_words_over_instances2_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[206] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations2. let value = (column7_row16162 + keccak_keccak_parse_to_diluted_sum_words_over_instances2_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances2_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[207] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation3. let value = (column7_row16147 - keccak_keccak_parse_to_diluted_sum_words_over_instances3_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[208] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations3. let value = (column7_row16163 + keccak_keccak_parse_to_diluted_sum_words_over_instances3_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances3_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[209] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation4. let value = (column7_row16148 - keccak_keccak_parse_to_diluted_sum_words_over_instances4_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[210] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations4. let value = (column7_row16164 + keccak_keccak_parse_to_diluted_sum_words_over_instances4_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances4_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[211] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation5. let value = (column7_row16149 - keccak_keccak_parse_to_diluted_sum_words_over_instances5_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[212] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations5. let value = (column7_row16165 + keccak_keccak_parse_to_diluted_sum_words_over_instances5_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances5_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[213] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation6. let value = (column7_row16150 - keccak_keccak_parse_to_diluted_sum_words_over_instances6_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[214] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations6. let value = (column7_row16166 + keccak_keccak_parse_to_diluted_sum_words_over_instances6_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances6_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[215] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation7. let value = (column7_row16151 - keccak_keccak_parse_to_diluted_sum_words_over_instances7_0) / domain35; - let total_sum = total_sum + *constraint_coefficients[216] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations7. let value = (column7_row16167 + keccak_keccak_parse_to_diluted_sum_words_over_instances7_0 * 16 - keccak_keccak_parse_to_diluted_sum_words_over_instances7_2) / domain39; - let total_sum = total_sum + *constraint_coefficients[217] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation1. let value = (keccak_keccak_parse_to_diluted_partial_diluted1_0 * keccak_keccak_parse_to_diluted_partial_diluted1_0 - keccak_keccak_parse_to_diluted_partial_diluted1_0) / domain43; - let total_sum = total_sum + *constraint_coefficients[218] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations1. let value = (keccak_keccak_parse_to_diluted_bit_other1_0 * keccak_keccak_parse_to_diluted_bit_other1_0 - keccak_keccak_parse_to_diluted_bit_other1_0) / domain44; - let total_sum = total_sum + *constraint_coefficients[219] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p1. let value = (keccak_keccak_parse_to_diluted_partial_diluted1_30 - column1_row516100) / domain45; - let total_sum = total_sum + *constraint_coefficients[220] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p1. let value = (keccak_keccak_parse_to_diluted_partial_diluted1_31 - column1_row516292) / domain45; - let total_sum = total_sum + *constraint_coefficients[221] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation0. let value = (keccak_keccak_parse_to_diluted_partial_diluted0_0 @@ -12496,7 +12496,7 @@ fn eval_composition_polynomial_inner( - keccak_keccak_parse_to_diluted_partial_diluted0_0) * domain49 / domain11; - let total_sum = total_sum + *constraint_coefficients[222] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations0. let value = (keccak_keccak_parse_to_diluted_bit_other0_0 @@ -12504,19 +12504,19 @@ fn eval_composition_polynomial_inner( - keccak_keccak_parse_to_diluted_bit_other0_0) * domain52 / domain3; - let total_sum = total_sum + *constraint_coefficients[223] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p0. let value = (keccak_keccak_parse_to_diluted_partial_diluted0_30 - column1_row4) * domain53 / domain8; - let total_sum = total_sum + *constraint_coefficients[224] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p0. let value = (keccak_keccak_parse_to_diluted_partial_diluted0_31 - column1_row196) * domain53 / domain8; - let total_sum = total_sum + *constraint_coefficients[225] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity0. let value = (column1_row4 @@ -12526,7 +12526,7 @@ fn eval_composition_polynomial_inner( + column1_row5124 - (column1_row6404 + column1_row6598 + column1_row6598 + column1_row6978 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients[226] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity1. let value = (column1_row260 @@ -12536,7 +12536,7 @@ fn eval_composition_polynomial_inner( + column1_row5380 - (column1_row6402 + column1_row6788 + column1_row6788 + column1_row6982 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients[227] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity2. let value = (column1_row516 @@ -12546,7 +12546,7 @@ fn eval_composition_polynomial_inner( + column1_row5636 - (column1_row6406 + column1_row6786 + column1_row6786 + column1_row7172 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients[228] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity3. let value = (column1_row772 @@ -12556,7 +12556,7 @@ fn eval_composition_polynomial_inner( + column1_row5892 - (column1_row6596 + column1_row6790 + column1_row6790 + column1_row7170 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients[229] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity4. let value = (column1_row1028 @@ -12566,54 +12566,54 @@ fn eval_composition_polynomial_inner( + column1_row6148 - (column1_row6594 + column1_row6980 + column1_row6980 + column1_row7174 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients[230] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity0/n0. let value = (column10_row7 - column1_row522500) / domain38; - let total_sum = total_sum + *constraint_coefficients[231] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity0/n1. let value = (column10_row8199 - column1_row6404) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients[232] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity1/n0. let value = (column10_row8003 - column1_row522498) / domain38; - let total_sum = total_sum + *constraint_coefficients[233] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity1/n1. let value = (column10_row16195 - column1_row6402) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients[234] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity2/n0. let value = (column10_row4103 - column1_row522502) / domain38; - let total_sum = total_sum + *constraint_coefficients[235] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity2/n1. let value = (column10_row12295 - column1_row6406) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients[236] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity3/n0. let value = (column10_row7811 - column1_row522692) / domain38; - let total_sum = total_sum + *constraint_coefficients[237] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity3/n1. let value = (column10_row16003 - column1_row6596) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients[238] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity4/n0. let value = (column10_row2055 - column1_row522690) / domain38; - let total_sum = total_sum + *constraint_coefficients[239] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity4/n1. let value = (column10_row10247 - column1_row6594) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients[240] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j0. let value = (keccak_keccak_sum_parities0_0 + column1_row4 - (column1_row1 + column1_row7364 + column1_row7364)) / domain24; - let total_sum = total_sum + *constraint_coefficients[241] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n0. let value = (keccak_keccak_sum_parities1_0 @@ -12621,21 +12621,21 @@ fn eval_composition_polynomial_inner( - (column1_row10753 + column1_row15942 + column1_row15942)) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients[242] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n1. let value = (keccak_keccak_sum_parities1_64512 + column1_row516356 - (column1_row2561 + column1_row7750 + column1_row7750)) / domain38; - let total_sum = total_sum + *constraint_coefficients[243] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n0. let value = (keccak_keccak_sum_parities2_0 + column1_row516 - (column1_row513025 + column1_row515841 + column1_row515841)) / domain57; - let total_sum = total_sum + *constraint_coefficients[244] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n1. let value = (keccak_keccak_sum_parities2_2048 @@ -12643,7 +12643,7 @@ fn eval_composition_polynomial_inner( - (column1_row5121 + column1_row7937 + column1_row7937)) * domain59 / domain24; - let total_sum = total_sum + *constraint_coefficients[245] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n0. let value = (keccak_keccak_sum_parities3_0 @@ -12651,14 +12651,14 @@ fn eval_composition_polynomial_inner( - (column1_row230657 + column1_row236930 + column1_row236930)) * domain85 / domain24; - let total_sum = total_sum + *constraint_coefficients[246] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n1. let value = (keccak_keccak_sum_parities3_36864 + column1_row295684 - (column1_row1281 + column1_row7554 + column1_row7554)) / domain117; - let total_sum = total_sum + *constraint_coefficients[247] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n0. let value = (keccak_keccak_sum_parities4_0 @@ -12666,21 +12666,21 @@ fn eval_composition_polynomial_inner( - (column1_row225025 + column1_row228161 + column1_row228161)) * domain84 / domain24; - let total_sum = total_sum + *constraint_coefficients[248] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n1. let value = (keccak_keccak_sum_parities4_37888 + column1_row304132 - (column1_row3841 + column1_row6977 + column1_row6977)) / domain116; - let total_sum = total_sum + *constraint_coefficients[249] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n0. let value = (keccak_keccak_sum_parities0_0 + column1_row1284 - (column1_row299009 + column1_row302081 + column1_row302081)) / domain117; - let total_sum = total_sum + *constraint_coefficients[250] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n1. let value = (keccak_keccak_sum_parities0_28672 @@ -12688,14 +12688,14 @@ fn eval_composition_polynomial_inner( - (column1_row4097 + column1_row7169 + column1_row7169)) * domain85 / domain24; - let total_sum = total_sum + *constraint_coefficients[251] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n0. let value = (keccak_keccak_sum_parities1_0 + column1_row1540 - (column1_row360705 + column1_row367810 + column1_row367810)) / domain110; - let total_sum = total_sum + *constraint_coefficients[252] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n1. let value = (keccak_keccak_sum_parities1_20480 @@ -12703,7 +12703,7 @@ fn eval_composition_polynomial_inner( - (column1_row257 + column1_row7362 + column1_row7362)) * domain78 / domain24; - let total_sum = total_sum + *constraint_coefficients[253] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n0. let value = (keccak_keccak_sum_parities2_0 @@ -12711,35 +12711,35 @@ fn eval_composition_polynomial_inner( - (column1_row51969 + column1_row55937 + column1_row55937)) * domain63 / domain24; - let total_sum = total_sum + *constraint_coefficients[254] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n1. let value = (keccak_keccak_sum_parities2_59392 + column1_row476932 - (column1_row2817 + column1_row6785 + column1_row6785)) / domain91; - let total_sum = total_sum + *constraint_coefficients[255] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n0. let value = (keccak_keccak_sum_parities3_0 + column1_row2052 - (column1_row455937 + column1_row450753 + column1_row450753)) / domain120; - let total_sum = total_sum + *constraint_coefficients[256] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n1. let value = (keccak_keccak_sum_parities3_8 + column1_row2116 - (column1_row456001 + column1_row451009 + column1_row451009)) / domain120; - let total_sum = total_sum + *constraint_coefficients[257] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n2. let value = (keccak_keccak_sum_parities3_16 + column1_row2180 - (column1_row456065 + column1_row451265 + column1_row451265)) / domain120; - let total_sum = total_sum + *constraint_coefficients[258] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n3. let value = (keccak_keccak_sum_parities3_9216 @@ -12747,7 +12747,7 @@ fn eval_composition_polynomial_inner( - (column1_row5377 + column1_row193 + column1_row193)) * domain123 / domain23; - let total_sum = total_sum + *constraint_coefficients[259] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n4. let value = (keccak_keccak_sum_parities3_9224 @@ -12755,7 +12755,7 @@ fn eval_composition_polynomial_inner( - (column1_row5441 + column1_row449 + column1_row449)) * domain123 / domain23; - let total_sum = total_sum + *constraint_coefficients[260] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n5. let value = (keccak_keccak_sum_parities3_9232 @@ -12763,7 +12763,7 @@ fn eval_composition_polynomial_inner( - (column1_row5505 + column1_row705 + column1_row705)) * domain123 / domain23; - let total_sum = total_sum + *constraint_coefficients[261] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n0. let value = (keccak_keccak_sum_parities4_0 @@ -12771,14 +12771,14 @@ fn eval_composition_polynomial_inner( - (column1_row165377 + column1_row171398 + column1_row171398)) * domain78 / domain24; - let total_sum = total_sum + *constraint_coefficients[262] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n1. let value = (keccak_keccak_sum_parities4_45056 + column1_row362756 - (column1_row1537 + column1_row7558 + column1_row7558)) / domain110; - let total_sum = total_sum + *constraint_coefficients[263] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n0. let value = (keccak_keccak_sum_parities0_0 @@ -12786,14 +12786,14 @@ fn eval_composition_polynomial_inner( - (column1_row26369 + column1_row31169 + column1_row31169)) * domain124 / domain24; - let total_sum = total_sum + *constraint_coefficients[264] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n1. let value = (keccak_keccak_sum_parities0_62464 + column1_row502276 - (column1_row1793 + column1_row6593 + column1_row6593)) / domain125; - let total_sum = total_sum + *constraint_coefficients[265] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n0. let value = (keccak_keccak_sum_parities1_0 @@ -12801,21 +12801,21 @@ fn eval_composition_polynomial_inner( - (column1_row86273 + column1_row89281 + column1_row89281)) * domain68 / domain24; - let total_sum = total_sum + *constraint_coefficients[266] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n1. let value = (keccak_keccak_sum_parities1_55296 + column1_row445188 - (column1_row4353 + column1_row7361 + column1_row7361)) / domain98; - let total_sum = total_sum + *constraint_coefficients[267] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n0. let value = (keccak_keccak_sum_parities2_0 + column1_row3076 - (column1_row352769 + column1_row359622 + column1_row359622)) / domain112; - let total_sum = total_sum + *constraint_coefficients[268] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n1. let value = (keccak_keccak_sum_parities2_21504 @@ -12823,7 +12823,7 @@ fn eval_composition_polynomial_inner( - (column1_row513 + column1_row7366 + column1_row7366)) * domain80 / domain24; - let total_sum = total_sum + *constraint_coefficients[269] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n0. let value = (keccak_keccak_sum_parities3_0 @@ -12831,35 +12831,35 @@ fn eval_composition_polynomial_inner( - (column1_row207873 + column1_row212740 + column1_row212740)) * domain83 / domain24; - let total_sum = total_sum + *constraint_coefficients[270] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n1. let value = (keccak_keccak_sum_parities3_39936 + column1_row322820 - (column1_row3073 + column1_row7940 + column1_row7940)) / domain115; - let total_sum = total_sum + *constraint_coefficients[271] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n0. let value = (keccak_keccak_sum_parities4_0 + column1_row3588 - (column1_row325121 + column1_row320449 + column1_row320449)) / domain127; - let total_sum = total_sum + *constraint_coefficients[272] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n1. let value = (keccak_keccak_sum_parities4_8 + column1_row3652 - (column1_row325185 + column1_row320705 + column1_row320705)) / domain127; - let total_sum = total_sum + *constraint_coefficients[273] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n2. let value = (keccak_keccak_sum_parities4_16 + column1_row3716 - (column1_row325249 + column1_row320961 + column1_row320961)) / domain127; - let total_sum = total_sum + *constraint_coefficients[274] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n3. let value = (keccak_keccak_sum_parities4_25600 @@ -12867,7 +12867,7 @@ fn eval_composition_polynomial_inner( - (column1_row5633 + column1_row961 + column1_row961)) * domain129 / domain23; - let total_sum = total_sum + *constraint_coefficients[275] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n4. let value = (keccak_keccak_sum_parities4_25608 @@ -12875,7 +12875,7 @@ fn eval_composition_polynomial_inner( - (column1_row5697 + column1_row1217 + column1_row1217)) * domain129 / domain23; - let total_sum = total_sum + *constraint_coefficients[276] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n5. let value = (keccak_keccak_sum_parities4_25616 @@ -12883,28 +12883,28 @@ fn eval_composition_polynomial_inner( - (column1_row5761 + column1_row1473 + column1_row1473)) * domain129 / domain23; - let total_sum = total_sum + *constraint_coefficients[277] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n0. let value = (keccak_keccak_sum_parities0_0 + column1_row3844 - (column1_row341761 + column1_row337601 + column1_row337601)) / domain130; - let total_sum = total_sum + *constraint_coefficients[278] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n1. let value = (keccak_keccak_sum_parities0_8 + column1_row3908 - (column1_row341825 + column1_row337857 + column1_row337857)) / domain130; - let total_sum = total_sum + *constraint_coefficients[279] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n2. let value = (keccak_keccak_sum_parities0_16 + column1_row3972 - (column1_row341889 + column1_row338113 + column1_row338113)) / domain130; - let total_sum = total_sum + *constraint_coefficients[280] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n3. let value = (keccak_keccak_sum_parities0_23552 @@ -12912,7 +12912,7 @@ fn eval_composition_polynomial_inner( - (column1_row5889 + column1_row1729 + column1_row1729)) * domain131 / domain23; - let total_sum = total_sum + *constraint_coefficients[281] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n4. let value = (keccak_keccak_sum_parities0_23560 @@ -12920,7 +12920,7 @@ fn eval_composition_polynomial_inner( - (column1_row5953 + column1_row1985 + column1_row1985)) * domain131 / domain23; - let total_sum = total_sum + *constraint_coefficients[282] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n5. let value = (keccak_keccak_sum_parities0_23568 @@ -12928,14 +12928,14 @@ fn eval_composition_polynomial_inner( - (column1_row6017 + column1_row2241 + column1_row2241)) * domain131 / domain23; - let total_sum = total_sum + *constraint_coefficients[283] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n0. let value = (keccak_keccak_sum_parities1_0 + column1_row4100 - (column1_row370689 + column1_row376388 + column1_row376388)) / domain132; - let total_sum = total_sum + *constraint_coefficients[284] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n1. let value = (keccak_keccak_sum_parities1_19456 @@ -12943,7 +12943,7 @@ fn eval_composition_polynomial_inner( - (column1_row2049 + column1_row7748 + column1_row7748)) * domain133 / domain24; - let total_sum = total_sum + *constraint_coefficients[285] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n0. let value = (keccak_keccak_sum_parities2_0 @@ -12951,14 +12951,14 @@ fn eval_composition_polynomial_inner( - (column1_row127489 + column1_row130433 + column1_row130433)) * domain134 / domain24; - let total_sum = total_sum + *constraint_coefficients[286] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n1. let value = (keccak_keccak_sum_parities2_50176 + column1_row405764 - (column1_row4609 + column1_row7553 + column1_row7553)) / domain135; - let total_sum = total_sum + *constraint_coefficients[287] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n0. let value = (keccak_keccak_sum_parities3_0 @@ -12966,14 +12966,14 @@ fn eval_composition_polynomial_inner( - (column1_row172801 + column1_row178433 + column1_row178433)) * domain80 / domain24; - let total_sum = total_sum + *constraint_coefficients[288] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n1. let value = (keccak_keccak_sum_parities3_44032 + column1_row356868 - (column1_row769 + column1_row6401 + column1_row6401)) / domain112; - let total_sum = total_sum + *constraint_coefficients[289] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n0. let value = (keccak_keccak_sum_parities4_0 @@ -12981,14 +12981,14 @@ fn eval_composition_polynomial_inner( - (column1_row68865 + column1_row73474 + column1_row73474)) * domain136 / domain24; - let total_sum = total_sum + *constraint_coefficients[290] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n1. let value = (keccak_keccak_sum_parities4_57344 + column1_row463620 - (column1_row3329 + column1_row7938 + column1_row7938)) / domain137; - let total_sum = total_sum + *constraint_coefficients[291] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n0. let value = (keccak_keccak_sum_parities0_0 @@ -12996,14 +12996,14 @@ fn eval_composition_polynomial_inner( - (column1_row151041 + column1_row155398 + column1_row155398)) * domain138 / domain24; - let total_sum = total_sum + *constraint_coefficients[292] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n1. let value = (keccak_keccak_sum_parities0_47104 + column1_row381956 - (column1_row3585 + column1_row7942 + column1_row7942)) / domain139; - let total_sum = total_sum + *constraint_coefficients[293] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n0. let value = (keccak_keccak_sum_parities1_0 @@ -13011,7 +13011,7 @@ fn eval_composition_polynomial_inner( - (column1_row22529 + column1_row18881 + column1_row18881)) * domain121 / domain23; - let total_sum = total_sum + *constraint_coefficients[294] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n1. let value = (keccak_keccak_sum_parities1_8 @@ -13019,7 +13019,7 @@ fn eval_composition_polynomial_inner( - (column1_row22593 + column1_row19137 + column1_row19137)) * domain121 / domain23; - let total_sum = total_sum + *constraint_coefficients[295] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n2. let value = (keccak_keccak_sum_parities1_16 @@ -13027,35 +13027,35 @@ fn eval_composition_polynomial_inner( - (column1_row22657 + column1_row19393 + column1_row19393)) * domain121 / domain23; - let total_sum = total_sum + *constraint_coefficients[296] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n3. let value = (keccak_keccak_sum_parities1_63488 + column1_row513284 - (column1_row6145 + column1_row2497 + column1_row2497)) / domain118; - let total_sum = total_sum + *constraint_coefficients[297] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n4. let value = (keccak_keccak_sum_parities1_63496 + column1_row513348 - (column1_row6209 + column1_row2753 + column1_row2753)) / domain118; - let total_sum = total_sum + *constraint_coefficients[298] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n5. let value = (keccak_keccak_sum_parities1_63504 + column1_row513412 - (column1_row6273 + column1_row3009 + column1_row3009)) / domain118; - let total_sum = total_sum + *constraint_coefficients[299] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n0. let value = (keccak_keccak_sum_parities2_0 + column1_row5636 - (column1_row502017 + column1_row507458 + column1_row507458)) / domain125; - let total_sum = total_sum + *constraint_coefficients[300] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n1. let value = (keccak_keccak_sum_parities2_3072 @@ -13063,14 +13063,14 @@ fn eval_composition_polynomial_inner( - (column1_row2305 + column1_row7746 + column1_row7746)) * domain124 / domain24; - let total_sum = total_sum + *constraint_coefficients[301] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n0. let value = (keccak_keccak_sum_parities3_0 + column1_row5892 - (column1_row463617 + column1_row466497 + column1_row466497)) / domain137; - let total_sum = total_sum + *constraint_coefficients[302] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n1. let value = (keccak_keccak_sum_parities3_8192 @@ -13078,7 +13078,7 @@ fn eval_composition_polynomial_inner( - (column1_row4865 + column1_row7745 + column1_row7745)) * domain136 / domain24; - let total_sum = total_sum + *constraint_coefficients[303] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n0. let value = (keccak_keccak_sum_parities4_0 @@ -13086,14 +13086,14 @@ fn eval_composition_polynomial_inner( - (column1_row115713 + column1_row122244 + column1_row122244)) * domain140 / domain24; - let total_sum = total_sum + *constraint_coefficients[304] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n1. let value = (keccak_keccak_sum_parities4_51200 + column1_row415748 - (column1_row1025 + column1_row7556 + column1_row7556)) / domain141; - let total_sum = total_sum + *constraint_coefficients[305] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota0. let value = (global_values.keccak_keccak_keccak_round_key0 @@ -13103,7 +13103,7 @@ fn eval_composition_polynomial_inner( + column1_row513 - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[306] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota1. let value = (global_values.keccak_keccak_keccak_round_key1 @@ -13113,7 +13113,7 @@ fn eval_composition_polynomial_inner( + column1_row8705 - (column1_row8194 + column1_row8204 + column1_row8204 + column1_row8198 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[307] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota3. let value = (global_values.keccak_keccak_keccak_round_key3 @@ -13123,7 +13123,7 @@ fn eval_composition_polynomial_inner( + column1_row25089 - (column1_row24578 + column1_row24588 + column1_row24588 + column1_row24582 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[308] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota7. let value = (global_values.keccak_keccak_keccak_round_key7 @@ -13133,7 +13133,7 @@ fn eval_composition_polynomial_inner( + column1_row57857 - (column1_row57346 + column1_row57356 + column1_row57356 + column1_row57350 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[309] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota15. let value = (global_values.keccak_keccak_keccak_round_key15 @@ -13143,7 +13143,7 @@ fn eval_composition_polynomial_inner( + column1_row123393 - (column1_row122882 + column1_row122892 + column1_row122892 + column1_row122886 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[310] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota31. let value = (global_values.keccak_keccak_keccak_round_key31 @@ -13153,7 +13153,7 @@ fn eval_composition_polynomial_inner( + column1_row254465 - (column1_row253954 + column1_row253964 + column1_row253964 + column1_row253958 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[311] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota63. let value = (global_values.keccak_keccak_keccak_round_key63 @@ -13163,7 +13163,7 @@ fn eval_composition_polynomial_inner( + column1_row516609 - (column1_row516098 + column1_row516108 + column1_row516108 + column1_row516102 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients[312] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi0. let value = (column1_row1 @@ -13173,7 +13173,7 @@ fn eval_composition_polynomial_inner( - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) * domain142 / domain26; - let total_sum = total_sum + *constraint_coefficients[313] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi1. let value = (column1_row1025 @@ -13182,7 +13182,7 @@ fn eval_composition_polynomial_inner( + column1_row257 - (column1_row1026 + column1_row1036 + column1_row1036 + column1_row1030 * 4)) / domain25; - let total_sum = total_sum + *constraint_coefficients[314] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi2. let value = (column1_row769 @@ -13191,72 +13191,72 @@ fn eval_composition_polynomial_inner( + column1_row1 - (column1_row770 + column1_row780 + column1_row780 + column1_row774 * 4)) / domain25; - let total_sum = total_sum + *constraint_coefficients[315] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/init_input_output_addr. let value = (column8_row38 - global_values.initial_poseidon_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients[316] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/addr_input_output_step. let value = (column8_row294 - (column8_row38 + 3)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients[317] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/init_input_output_addr. let value = (column8_row166 - (global_values.initial_poseidon_addr + 1)) / domain144; - let total_sum = total_sum + *constraint_coefficients[318] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/addr_input_output_step. let value = (column8_row422 - (column8_row166 + 3)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients[319] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/init_input_output_addr. let value = (column8_row102 - (global_values.initial_poseidon_addr + 2)) / domain144; - let total_sum = total_sum + *constraint_coefficients[320] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/addr_input_output_step. let value = (column8_row358 - (column8_row102 + 3)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients[321] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state0_squaring. let value = (column11_row53 * column11_row53 - column11_row29) / domain6; - let total_sum = total_sum + *constraint_coefficients[322] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state1_squaring. let value = (column11_row13 * column11_row13 - column11_row61) / domain6; - let total_sum = total_sum + *constraint_coefficients[323] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state2_squaring. let value = (column11_row45 * column11_row45 - column11_row3) / domain6; - let total_sum = total_sum + *constraint_coefficients[324] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. let value = (column10_row1 * column10_row1 - column10_row5) / domain3; - let total_sum = total_sum + *constraint_coefficients[325] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. let value = (column11_row6 * column11_row6 - column11_row14) * domain16 / domain5; - let total_sum = total_sum + *constraint_coefficients[326] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key0. let value = (column8_row39 + 2950795762459345168613727575620414179244544320470208355568817838579231751791 - column11_row53) / domain14; - let total_sum = total_sum + *constraint_coefficients[327] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key1. let value = (column8_row167 + 1587446564224215276866294500450702039420286416111469274423465069420553242820 - column11_row13) / domain14; - let total_sum = total_sum + *constraint_coefficients[328] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key2. let value = (column8_row103 + 1645965921169490687904413452218868659025437693527479459426157555728339600137 - column11_row45) / domain14; - let total_sum = total_sum + *constraint_coefficients[329] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round0. let value = (column11_row117 @@ -13268,7 +13268,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key0)) * domain12 / domain6; - let total_sum = total_sum + *constraint_coefficients[330] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round1. let value = (column11_row77 @@ -13278,7 +13278,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key1)) * domain12 / domain6; - let total_sum = total_sum + *constraint_coefficients[331] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round2. let value = (column11_row109 @@ -13289,7 +13289,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key2)) * domain12 / domain6; - let total_sum = total_sum + *constraint_coefficients[332] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round0. let value = (column8_row295 @@ -13299,7 +13299,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_full_rounds_state1_cubed_7 + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain14; - let total_sum = total_sum + *constraint_coefficients[333] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round1. let value = (column8_row423 @@ -13307,7 +13307,7 @@ fn eval_composition_polynomial_inner( - (poseidon_poseidon_full_rounds_state0_cubed_7 + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain14; - let total_sum = total_sum + *constraint_coefficients[334] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round2. let value = (column8_row359 @@ -13316,19 +13316,19 @@ fn eval_composition_polynomial_inner( - (poseidon_poseidon_full_rounds_state0_cubed_7 + poseidon_poseidon_full_rounds_state1_cubed_7)) / domain14; - let total_sum = total_sum + *constraint_coefficients[335] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. let value = (column10_row489 - column11_row6) / domain14; - let total_sum = total_sum + *constraint_coefficients[336] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. let value = (column10_row497 - column11_row22) / domain14; - let total_sum = total_sum + *constraint_coefficients[337] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. let value = (column10_row505 - column11_row38) / domain14; - let total_sum = total_sum + *constraint_coefficients[338] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial0. let value = (column10_row1 @@ -13338,7 +13338,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_full_rounds_state1_cubed_3 + 2121140748740143694053732746913428481442990369183417228688865837805149503386)) / domain14; - let total_sum = total_sum + *constraint_coefficients[339] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial1. let value = (column10_row9 @@ -13350,7 +13350,7 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state0_cubed_0 + 2006642341318481906727563724340978325665491359415674592697055778067937914672)) / domain14; - let total_sum = total_sum + *constraint_coefficients[340] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial2. let value = (column10_row17 @@ -13363,7 +13363,7 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state0_cubed_1 + 427751140904099001132521606468025610873158555767197326325930641757709538586)) / domain14; - let total_sum = total_sum + *constraint_coefficients[341] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round0. let value = (column10_row25 @@ -13377,7 +13377,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_partial_round_key0)) * domain17 / domain3; - let total_sum = total_sum + *constraint_coefficients[342] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round1. let value = (column11_row54 @@ -13391,7 +13391,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_partial_round_key1)) * domain18 / domain5; - let total_sum = total_sum + *constraint_coefficients[343] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full0. let value = (column11_row309 @@ -13402,7 +13402,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_partial_rounds_state1_cubed_21 + 560279373700919169769089400651532183647886248799764942664266404650165812023)) / domain14; - let total_sum = total_sum + *constraint_coefficients[344] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full1. let value = (column11_row269 @@ -13412,7 +13412,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_partial_rounds_state1_cubed_21 + 1401754474293352309994371631695783042590401941592571735921592823982231996415)) / domain14; - let total_sum = total_sum + *constraint_coefficients[345] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full2. let value = (column11_row301 @@ -13425,15 +13425,15 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state1_cubed_21 + 1246177936547655338400308396717835700699368047388302793172818304164989556526)) / domain14; - let total_sum = total_sum + *constraint_coefficients[346] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } fn eval_oods_polynomial_inner( - column_values: Span, - oods_values: Span, - constraint_coefficients: Span, + mut column_values: Span, + mut oods_values: Span, + mut constraint_coefficients: Span, point: felt252, oods_point: felt252, trace_generator: felt252, @@ -14070,2237 +14070,2237 @@ fn eval_oods_polynomial_inner( let pow628 = pow9 * pow370; // pow(trace_generator, 520199). // Fetch columns. - let column0 = *column_values[0]; - let column1 = *column_values[1]; - let column2 = *column_values[2]; - let column3 = *column_values[3]; - let column4 = *column_values[4]; - let column5 = *column_values[5]; - let column6 = *column_values[6]; - let column7 = *column_values[7]; - let column8 = *column_values[8]; - let column9 = *column_values[9]; - let column10 = *column_values[10]; - let column11 = *column_values[11]; - let column12 = *column_values[12]; - let column13 = *column_values[13]; - let column14 = *column_values[14]; + let column0 = *column_values.pop_front().unwrap(); + let column1 = *column_values.pop_front().unwrap(); + let column2 = *column_values.pop_front().unwrap(); + let column3 = *column_values.pop_front().unwrap(); + let column4 = *column_values.pop_front().unwrap(); + let column5 = *column_values.pop_front().unwrap(); + let column6 = *column_values.pop_front().unwrap(); + let column7 = *column_values.pop_front().unwrap(); + let column8 = *column_values.pop_front().unwrap(); + let column9 = *column_values.pop_front().unwrap(); + let column10 = *column_values.pop_front().unwrap(); + let column11 = *column_values.pop_front().unwrap(); + let column12 = *column_values.pop_front().unwrap(); + let column13 = *column_values.pop_front().unwrap(); + let column14 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; - let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[0] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[1]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[1] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[2]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[2] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[3]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[3] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[4]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[4] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[5]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[5] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[6]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[6] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[7]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[7] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[8]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[8] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[9]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[9] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[10]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[10] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[11]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[11] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[12]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[12] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[13]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[13] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[14]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[14] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[15]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[15] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[16] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[17]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[17] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[18]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[18] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[19]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[19] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[20]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[20] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[21]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[21] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[22]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[22] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[23]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[23] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[24]) / (point - pow81 * oods_point); - let total_sum = total_sum + *constraint_coefficients[24] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow81 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[25]) / (point - pow92 * oods_point); - let total_sum = total_sum + *constraint_coefficients[25] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow92 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[26]) / (point - pow100 * oods_point); - let total_sum = total_sum + *constraint_coefficients[26] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow100 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[27]) / (point - pow114 * oods_point); - let total_sum = total_sum + *constraint_coefficients[27] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow114 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[28]) / (point - pow119 * oods_point); - let total_sum = total_sum + *constraint_coefficients[28] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow119 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[29]) / (point - pow127 * oods_point); - let total_sum = total_sum + *constraint_coefficients[29] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow127 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[30]) / (point - pow131 * oods_point); - let total_sum = total_sum + *constraint_coefficients[30] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow131 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[31]) / (point - pow141 * oods_point); - let total_sum = total_sum + *constraint_coefficients[31] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow141 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[32]) / (point - pow143 * oods_point); - let total_sum = total_sum + *constraint_coefficients[32] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow143 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[33]) / (point - pow147 * oods_point); - let total_sum = total_sum + *constraint_coefficients[33] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow147 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[34]) / (point - pow149 * oods_point); - let total_sum = total_sum + *constraint_coefficients[34] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow149 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[35]) / (point - pow150 * oods_point); - let total_sum = total_sum + *constraint_coefficients[35] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow150 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[36]) / (point - pow152 * oods_point); - let total_sum = total_sum + *constraint_coefficients[36] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow152 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[37]) / (point - pow158 * oods_point); - let total_sum = total_sum + *constraint_coefficients[37] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow158 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[38]) / (point - pow161 * oods_point); - let total_sum = total_sum + *constraint_coefficients[38] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow161 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[39]) / (point - pow164 * oods_point); - let total_sum = total_sum + *constraint_coefficients[39] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow164 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[40]) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients[40] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[41]) / (point - pow175 * oods_point); - let total_sum = total_sum + *constraint_coefficients[41] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow175 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[42]) / (point - pow178 * oods_point); - let total_sum = total_sum + *constraint_coefficients[42] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow178 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[43]) / (point - pow181 * oods_point); - let total_sum = total_sum + *constraint_coefficients[43] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow181 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[44]) / (point - pow200 * oods_point); - let total_sum = total_sum + *constraint_coefficients[44] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow200 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[45]) / (point - pow214 * oods_point); - let total_sum = total_sum + *constraint_coefficients[45] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow214 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[46]) / (point - pow219 * oods_point); - let total_sum = total_sum + *constraint_coefficients[46] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow219 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[47]) / (point - pow220 * oods_point); - let total_sum = total_sum + *constraint_coefficients[47] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow220 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[48]) / (point - pow223 * oods_point); - let total_sum = total_sum + *constraint_coefficients[48] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow223 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[49]) / (point - pow218 * oods_point); - let total_sum = total_sum + *constraint_coefficients[49] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow218 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[50]) / (point - pow222 * oods_point); - let total_sum = total_sum + *constraint_coefficients[50] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow222 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[51]) / (point - pow225 * oods_point); - let total_sum = total_sum + *constraint_coefficients[51] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow225 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[52]) / (point - pow226 * oods_point); - let total_sum = total_sum + *constraint_coefficients[52] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow226 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[53]) / (point - pow227 * oods_point); - let total_sum = total_sum + *constraint_coefficients[53] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow227 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[54]) / (point - pow228 * oods_point); - let total_sum = total_sum + *constraint_coefficients[54] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow228 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[55]) / (point - pow229 * oods_point); - let total_sum = total_sum + *constraint_coefficients[55] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow229 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[56]) / (point - pow230 * oods_point); - let total_sum = total_sum + *constraint_coefficients[56] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow230 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[57]) / (point - pow231 * oods_point); - let total_sum = total_sum + *constraint_coefficients[57] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow231 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[58]) / (point - pow232 * oods_point); - let total_sum = total_sum + *constraint_coefficients[58] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow232 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[59]) / (point - pow233 * oods_point); - let total_sum = total_sum + *constraint_coefficients[59] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow233 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[60]) / (point - pow234 * oods_point); - let total_sum = total_sum + *constraint_coefficients[60] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow234 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[61]) / (point - pow237 * oods_point); - let total_sum = total_sum + *constraint_coefficients[61] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow237 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[62]) / (point - pow238 * oods_point); - let total_sum = total_sum + *constraint_coefficients[62] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow238 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[63]) / (point - pow241 * oods_point); - let total_sum = total_sum + *constraint_coefficients[63] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow241 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[64]) / (point - pow242 * oods_point); - let total_sum = total_sum + *constraint_coefficients[64] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow242 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[65]) / (point - pow243 * oods_point); - let total_sum = total_sum + *constraint_coefficients[65] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow243 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[66]) / (point - pow244 * oods_point); - let total_sum = total_sum + *constraint_coefficients[66] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow244 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[67]) / (point - pow245 * oods_point); - let total_sum = total_sum + *constraint_coefficients[67] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow245 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[68]) / (point - pow246 * oods_point); - let total_sum = total_sum + *constraint_coefficients[68] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow246 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[69]) / (point - pow247 * oods_point); - let total_sum = total_sum + *constraint_coefficients[69] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow247 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[70]) / (point - pow248 * oods_point); - let total_sum = total_sum + *constraint_coefficients[70] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow248 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[71]) / (point - pow249 * oods_point); - let total_sum = total_sum + *constraint_coefficients[71] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow249 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[72]) / (point - pow252 * oods_point); - let total_sum = total_sum + *constraint_coefficients[72] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow252 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[73]) / (point - pow256 * oods_point); - let total_sum = total_sum + *constraint_coefficients[73] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow256 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[74]) / (point - pow254 * oods_point); - let total_sum = total_sum + *constraint_coefficients[74] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow254 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[75]) / (point - pow257 * oods_point); - let total_sum = total_sum + *constraint_coefficients[75] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow257 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[76]) / (point - pow259 * oods_point); - let total_sum = total_sum + *constraint_coefficients[76] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow259 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[77]) / (point - pow258 * oods_point); - let total_sum = total_sum + *constraint_coefficients[77] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow258 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[78]) / (point - pow260 * oods_point); - let total_sum = total_sum + *constraint_coefficients[78] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow260 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[79]) / (point - pow262 * oods_point); - let total_sum = total_sum + *constraint_coefficients[79] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow262 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[80]) / (point - pow261 * oods_point); - let total_sum = total_sum + *constraint_coefficients[80] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow261 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[81]) / (point - pow263 * oods_point); - let total_sum = total_sum + *constraint_coefficients[81] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow263 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[82]) / (point - pow264 * oods_point); - let total_sum = total_sum + *constraint_coefficients[82] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow264 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[83]) / (point - pow266 * oods_point); - let total_sum = total_sum + *constraint_coefficients[83] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow266 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[84]) / (point - pow270 * oods_point); - let total_sum = total_sum + *constraint_coefficients[84] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow270 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[85]) / (point - pow272 * oods_point); - let total_sum = total_sum + *constraint_coefficients[85] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow272 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[86]) / (point - pow273 * oods_point); - let total_sum = total_sum + *constraint_coefficients[86] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow273 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[87]) / (point - pow274 * oods_point); - let total_sum = total_sum + *constraint_coefficients[87] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow274 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[88]) / (point - pow276 * oods_point); - let total_sum = total_sum + *constraint_coefficients[88] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow276 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[89]) / (point - pow277 * oods_point); - let total_sum = total_sum + *constraint_coefficients[89] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow277 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[90]) / (point - pow279 * oods_point); - let total_sum = total_sum + *constraint_coefficients[90] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow279 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[91]) / (point - pow278 * oods_point); - let total_sum = total_sum + *constraint_coefficients[91] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow278 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[92]) / (point - pow280 * oods_point); - let total_sum = total_sum + *constraint_coefficients[92] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow280 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[93]) / (point - pow282 * oods_point); - let total_sum = total_sum + *constraint_coefficients[93] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow282 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[94]) / (point - pow281 * oods_point); - let total_sum = total_sum + *constraint_coefficients[94] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow281 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[95]) / (point - pow283 * oods_point); - let total_sum = total_sum + *constraint_coefficients[95] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow283 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[96]) / (point - pow284 * oods_point); - let total_sum = total_sum + *constraint_coefficients[96] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow284 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[97]) / (point - pow285 * oods_point); - let total_sum = total_sum + *constraint_coefficients[97] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow285 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[98]) / (point - pow286 * oods_point); - let total_sum = total_sum + *constraint_coefficients[98] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow286 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[99]) / (point - pow287 * oods_point); - let total_sum = total_sum + *constraint_coefficients[99] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow287 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[100]) / (point - pow288 * oods_point); - let total_sum = total_sum + *constraint_coefficients[100] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow288 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[101]) / (point - pow289 * oods_point); - let total_sum = total_sum + *constraint_coefficients[101] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow289 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[102]) / (point - pow294 * oods_point); - let total_sum = total_sum + *constraint_coefficients[102] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow294 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[103]) / (point - pow290 * oods_point); - let total_sum = total_sum + *constraint_coefficients[103] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow290 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[104]) / (point - pow295 * oods_point); - let total_sum = total_sum + *constraint_coefficients[104] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow295 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[105]) / (point - pow297 * oods_point); - let total_sum = total_sum + *constraint_coefficients[105] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow297 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[106]) / (point - pow298 * oods_point); - let total_sum = total_sum + *constraint_coefficients[106] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow298 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[107]) / (point - pow296 * oods_point); - let total_sum = total_sum + *constraint_coefficients[107] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow296 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[108]) / (point - pow299 * oods_point); - let total_sum = total_sum + *constraint_coefficients[108] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow299 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[109]) / (point - pow300 * oods_point); - let total_sum = total_sum + *constraint_coefficients[109] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow300 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[110]) / (point - pow303 * oods_point); - let total_sum = total_sum + *constraint_coefficients[110] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow303 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[111]) / (point - pow308 * oods_point); - let total_sum = total_sum + *constraint_coefficients[111] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow308 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[112]) / (point - pow309 * oods_point); - let total_sum = total_sum + *constraint_coefficients[112] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow309 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[113]) / (point - pow310 * oods_point); - let total_sum = total_sum + *constraint_coefficients[113] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow310 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[114]) / (point - pow311 * oods_point); - let total_sum = total_sum + *constraint_coefficients[114] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow311 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[115]) / (point - pow312 * oods_point); - let total_sum = total_sum + *constraint_coefficients[115] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow312 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[116]) / (point - pow313 * oods_point); - let total_sum = total_sum + *constraint_coefficients[116] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow313 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[117]) / (point - pow314 * oods_point); - let total_sum = total_sum + *constraint_coefficients[117] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow314 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[118]) / (point - pow315 * oods_point); - let total_sum = total_sum + *constraint_coefficients[118] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow315 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[119]) / (point - pow316 * oods_point); - let total_sum = total_sum + *constraint_coefficients[119] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow316 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[120]) / (point - pow317 * oods_point); - let total_sum = total_sum + *constraint_coefficients[120] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow317 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[121]) / (point - pow318 * oods_point); - let total_sum = total_sum + *constraint_coefficients[121] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow318 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[122]) / (point - pow322 * oods_point); - let total_sum = total_sum + *constraint_coefficients[122] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow322 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[123]) / (point - pow319 * oods_point); - let total_sum = total_sum + *constraint_coefficients[123] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow319 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[124]) / (point - pow323 * oods_point); - let total_sum = total_sum + *constraint_coefficients[124] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow323 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[125]) / (point - pow324 * oods_point); - let total_sum = total_sum + *constraint_coefficients[125] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow324 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[126]) / (point - pow325 * oods_point); - let total_sum = total_sum + *constraint_coefficients[126] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow325 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[127]) / (point - pow326 * oods_point); - let total_sum = total_sum + *constraint_coefficients[127] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow326 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[128]) / (point - pow327 * oods_point); - let total_sum = total_sum + *constraint_coefficients[128] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow327 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[129]) / (point - pow328 * oods_point); - let total_sum = total_sum + *constraint_coefficients[129] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow328 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[130]) / (point - pow329 * oods_point); - let total_sum = total_sum + *constraint_coefficients[130] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow329 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[131]) / (point - pow330 * oods_point); - let total_sum = total_sum + *constraint_coefficients[131] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow330 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[132]) / (point - pow331 * oods_point); - let total_sum = total_sum + *constraint_coefficients[132] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow331 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[133]) / (point - pow332 * oods_point); - let total_sum = total_sum + *constraint_coefficients[133] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow332 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[134]) / (point - pow333 * oods_point); - let total_sum = total_sum + *constraint_coefficients[134] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow333 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[135]) / (point - pow335 * oods_point); - let total_sum = total_sum + *constraint_coefficients[135] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow335 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[136]) / (point - pow338 * oods_point); - let total_sum = total_sum + *constraint_coefficients[136] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow338 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[137]) / (point - pow342 * oods_point); - let total_sum = total_sum + *constraint_coefficients[137] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow342 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[138]) / (point - pow343 * oods_point); - let total_sum = total_sum + *constraint_coefficients[138] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow343 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[139]) / (point - pow345 * oods_point); - let total_sum = total_sum + *constraint_coefficients[139] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow345 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[140]) / (point - pow347 * oods_point); - let total_sum = total_sum + *constraint_coefficients[140] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow347 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[141]) / (point - pow346 * oods_point); - let total_sum = total_sum + *constraint_coefficients[141] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow346 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[142]) / (point - pow348 * oods_point); - let total_sum = total_sum + *constraint_coefficients[142] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow348 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[143]) / (point - pow350 * oods_point); - let total_sum = total_sum + *constraint_coefficients[143] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow350 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[144]) / (point - pow351 * oods_point); - let total_sum = total_sum + *constraint_coefficients[144] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow351 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[145]) / (point - pow354 * oods_point); - let total_sum = total_sum + *constraint_coefficients[145] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow354 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[146]) / (point - pow357 * oods_point); - let total_sum = total_sum + *constraint_coefficients[146] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow357 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[147]) / (point - pow352 * oods_point); - let total_sum = total_sum + *constraint_coefficients[147] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow352 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[148]) / (point - pow355 * oods_point); - let total_sum = total_sum + *constraint_coefficients[148] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow355 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[149]) / (point - pow353 * oods_point); - let total_sum = total_sum + *constraint_coefficients[149] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow353 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[150]) / (point - pow356 * oods_point); - let total_sum = total_sum + *constraint_coefficients[150] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow356 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[151]) / (point - pow358 * oods_point); - let total_sum = total_sum + *constraint_coefficients[151] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow358 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[152]) / (point - pow359 * oods_point); - let total_sum = total_sum + *constraint_coefficients[152] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow359 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[153]) / (point - pow360 * oods_point); - let total_sum = total_sum + *constraint_coefficients[153] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow360 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[154]) / (point - pow361 * oods_point); - let total_sum = total_sum + *constraint_coefficients[154] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow361 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[155]) / (point - pow362 * oods_point); - let total_sum = total_sum + *constraint_coefficients[155] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow362 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[156]) / (point - pow363 * oods_point); - let total_sum = total_sum + *constraint_coefficients[156] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow363 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[157]) / (point - pow364 * oods_point); - let total_sum = total_sum + *constraint_coefficients[157] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow364 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[158]) / (point - pow366 * oods_point); - let total_sum = total_sum + *constraint_coefficients[158] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow366 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[159]) / (point - pow367 * oods_point); - let total_sum = total_sum + *constraint_coefficients[159] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow367 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[160]) / (point - pow368 * oods_point); - let total_sum = total_sum + *constraint_coefficients[160] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow368 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[161]) / (point - pow369 * oods_point); - let total_sum = total_sum + *constraint_coefficients[161] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow369 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[162]) / (point - pow370 * oods_point); - let total_sum = total_sum + *constraint_coefficients[162] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow370 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[163]) / (point - pow371 * oods_point); - let total_sum = total_sum + *constraint_coefficients[163] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow371 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[164]) / (point - pow372 * oods_point); - let total_sum = total_sum + *constraint_coefficients[164] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow372 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[165]) / (point - pow373 * oods_point); - let total_sum = total_sum + *constraint_coefficients[165] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow373 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[166]) / (point - pow374 * oods_point); - let total_sum = total_sum + *constraint_coefficients[166] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow374 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[167]) / (point - pow375 * oods_point); - let total_sum = total_sum + *constraint_coefficients[167] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow375 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[168]) / (point - pow376 * oods_point); - let total_sum = total_sum + *constraint_coefficients[168] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow376 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[169]) / (point - pow379 * oods_point); - let total_sum = total_sum + *constraint_coefficients[169] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow379 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[170]) / (point - pow380 * oods_point); - let total_sum = total_sum + *constraint_coefficients[170] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow380 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[171]) / (point - pow382 * oods_point); - let total_sum = total_sum + *constraint_coefficients[171] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow382 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[172]) / (point - pow383 * oods_point); - let total_sum = total_sum + *constraint_coefficients[172] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow383 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[173]) / (point - pow384 * oods_point); - let total_sum = total_sum + *constraint_coefficients[173] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow384 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[174]) / (point - pow385 * oods_point); - let total_sum = total_sum + *constraint_coefficients[174] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow385 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[175]) / (point - pow386 * oods_point); - let total_sum = total_sum + *constraint_coefficients[175] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow386 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[176]) / (point - pow388 * oods_point); - let total_sum = total_sum + *constraint_coefficients[176] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow388 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[177]) / (point - pow389 * oods_point); - let total_sum = total_sum + *constraint_coefficients[177] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow389 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[178]) / (point - pow391 * oods_point); - let total_sum = total_sum + *constraint_coefficients[178] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow391 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[179]) / (point - pow392 * oods_point); - let total_sum = total_sum + *constraint_coefficients[179] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow392 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[180]) / (point - pow393 * oods_point); - let total_sum = total_sum + *constraint_coefficients[180] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow393 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[181]) / (point - pow403 * oods_point); - let total_sum = total_sum + *constraint_coefficients[181] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow403 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[182]) / (point - pow417 * oods_point); - let total_sum = total_sum + *constraint_coefficients[182] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow417 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[183]) / (point - pow424 * oods_point); - let total_sum = total_sum + *constraint_coefficients[183] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow424 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[184]) / (point - pow429 * oods_point); - let total_sum = total_sum + *constraint_coefficients[184] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow429 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[185]) / (point - pow378 * oods_point); - let total_sum = total_sum + *constraint_coefficients[185] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow378 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[186]) / (point - pow398 * oods_point); - let total_sum = total_sum + *constraint_coefficients[186] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow398 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[187]) / (point - pow478 * oods_point); - let total_sum = total_sum + *constraint_coefficients[187] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow478 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[188]) / (point - pow475 * oods_point); - let total_sum = total_sum + *constraint_coefficients[188] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow475 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[189]) / (point - pow476 * oods_point); - let total_sum = total_sum + *constraint_coefficients[189] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow476 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[190]) / (point - pow477 * oods_point); - let total_sum = total_sum + *constraint_coefficients[190] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow477 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[191]) / (point - pow472 * oods_point); - let total_sum = total_sum + *constraint_coefficients[191] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow472 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[192]) / (point - pow473 * oods_point); - let total_sum = total_sum + *constraint_coefficients[192] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow473 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[193]) / (point - pow474 * oods_point); - let total_sum = total_sum + *constraint_coefficients[193] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow474 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[194]) / (point - pow481 * oods_point); - let total_sum = total_sum + *constraint_coefficients[194] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow481 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[195]) / (point - pow471 * oods_point); - let total_sum = total_sum + *constraint_coefficients[195] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow471 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[196]) / (point - pow480 * oods_point); - let total_sum = total_sum + *constraint_coefficients[196] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow480 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[197]) / (point - pow482 * oods_point); - let total_sum = total_sum + *constraint_coefficients[197] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow482 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[198]) / (point - pow483 * oods_point); - let total_sum = total_sum + *constraint_coefficients[198] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow483 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[199]) / (point - pow484 * oods_point); - let total_sum = total_sum + *constraint_coefficients[199] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow484 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[200]) / (point - pow486 * oods_point); - let total_sum = total_sum + *constraint_coefficients[200] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow486 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[201]) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients[201] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[202]) / (point - pow621 * oods_point); - let total_sum = total_sum + *constraint_coefficients[202] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow621 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[203]) / (point - pow487 * oods_point); - let total_sum = total_sum + *constraint_coefficients[203] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow487 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[204]) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients[204] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[205]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[205] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[206]) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients[206] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[207]) / (point - pow540 * oods_point); - let total_sum = total_sum + *constraint_coefficients[207] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow540 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[208]) / (point - pow542 * oods_point); - let total_sum = total_sum + *constraint_coefficients[208] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow542 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[209]) / (point - pow544 * oods_point); - let total_sum = total_sum + *constraint_coefficients[209] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow544 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[210]) / (point - pow546 * oods_point); - let total_sum = total_sum + *constraint_coefficients[210] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow546 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[211]) / (point - pow548 * oods_point); - let total_sum = total_sum + *constraint_coefficients[211] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow548 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[212]) / (point - pow549 * oods_point); - let total_sum = total_sum + *constraint_coefficients[212] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow549 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[213]) / (point - pow530 * oods_point); - let total_sum = total_sum + *constraint_coefficients[213] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow530 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[214]) / (point - pow529 * oods_point); - let total_sum = total_sum + *constraint_coefficients[214] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow529 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[215]) / (point - pow526 * oods_point); - let total_sum = total_sum + *constraint_coefficients[215] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow526 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[216]) / (point - pow531 * oods_point); - let total_sum = total_sum + *constraint_coefficients[216] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow531 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[217]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[217] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[218]) / (point - pow528 * oods_point); - let total_sum = total_sum + *constraint_coefficients[218] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow528 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[219]) / (point - pow536 * oods_point); - let total_sum = total_sum + *constraint_coefficients[219] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow536 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[220]) / (point - pow532 * oods_point); - let total_sum = total_sum + *constraint_coefficients[220] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow532 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[221]) / (point - pow533 * oods_point); - let total_sum = total_sum + *constraint_coefficients[221] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow533 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[222]) / (point - pow534 * oods_point); - let total_sum = total_sum + *constraint_coefficients[222] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow534 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[223]) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients[223] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[224]) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients[224] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[225]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[225] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[226]) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients[226] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[227]) / (point - pow541 * oods_point); - let total_sum = total_sum + *constraint_coefficients[227] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow541 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[228]) / (point - pow543 * oods_point); - let total_sum = total_sum + *constraint_coefficients[228] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow543 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[229]) / (point - pow545 * oods_point); - let total_sum = total_sum + *constraint_coefficients[229] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow545 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[230]) / (point - pow547 * oods_point); - let total_sum = total_sum + *constraint_coefficients[230] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow547 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[231]) / (point - pow550 * oods_point); - let total_sum = total_sum + *constraint_coefficients[231] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow550 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[232]) / (point - pow551 * oods_point); - let total_sum = total_sum + *constraint_coefficients[232] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow551 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[233]) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients[233] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[234]) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients[234] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[235]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[235] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[236]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[236] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[237]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[237] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[238]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[238] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[239]) / (point - pow513 * oods_point); - let total_sum = total_sum + *constraint_coefficients[239] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow513 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[240]) / (point - pow514 * oods_point); - let total_sum = total_sum + *constraint_coefficients[240] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow514 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[241]) / (point - pow512 * oods_point); - let total_sum = total_sum + *constraint_coefficients[241] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow512 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[242]) / (point - pow511 * oods_point); - let total_sum = total_sum + *constraint_coefficients[242] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow511 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[243]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[243] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[244]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[244] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[245]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[245] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[246]) / (point - pow320 * oods_point); - let total_sum = total_sum + *constraint_coefficients[246] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow320 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[247]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[247] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[248]) / (point - pow106 * oods_point); - let total_sum = total_sum + *constraint_coefficients[248] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow106 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[249]) / (point - pow137 * oods_point); - let total_sum = total_sum + *constraint_coefficients[249] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow137 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[250]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[250] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[251]) / (point - pow105 * oods_point); - let total_sum = total_sum + *constraint_coefficients[251] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow105 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[252]) / (point - pow136 * oods_point); - let total_sum = total_sum + *constraint_coefficients[252] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow136 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[253]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[253] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[254]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[254] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[255]) / (point - pow444 * oods_point); - let total_sum = total_sum + *constraint_coefficients[255] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow444 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[256]) / (point - pow450 * oods_point); - let total_sum = total_sum + *constraint_coefficients[256] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow450 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[257]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[257] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[258]) / (point - pow104 * oods_point); - let total_sum = total_sum + *constraint_coefficients[258] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow104 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[259]) / (point - pow135 * oods_point); - let total_sum = total_sum + *constraint_coefficients[259] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow135 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[260]) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients[260] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[261]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[261] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[262]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[262] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[263]) / (point - pow520 * oods_point); - let total_sum = total_sum + *constraint_coefficients[263] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow520 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[264]) / (point - pow523 * oods_point); - let total_sum = total_sum + *constraint_coefficients[264] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow523 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[265]) / (point - pow519 * oods_point); - let total_sum = total_sum + *constraint_coefficients[265] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow519 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[266]) / (point - pow521 * oods_point); - let total_sum = total_sum + *constraint_coefficients[266] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow521 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[267]) / (point - pow555 * oods_point); - let total_sum = total_sum + *constraint_coefficients[267] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow555 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[268]) / (point - pow556 * oods_point); - let total_sum = total_sum + *constraint_coefficients[268] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow556 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[269]) / (point - pow557 * oods_point); - let total_sum = total_sum + *constraint_coefficients[269] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow557 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[270]) / (point - pow558 * oods_point); - let total_sum = total_sum + *constraint_coefficients[270] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow558 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[271]) / (point - pow559 * oods_point); - let total_sum = total_sum + *constraint_coefficients[271] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow559 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[272]) / (point - pow561 * oods_point); - let total_sum = total_sum + *constraint_coefficients[272] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow561 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[273]) / (point - pow571 * oods_point); - let total_sum = total_sum + *constraint_coefficients[273] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow571 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[274]) / (point - pow570 * oods_point); - let total_sum = total_sum + *constraint_coefficients[274] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow570 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[275]) / (point - pow569 * oods_point); - let total_sum = total_sum + *constraint_coefficients[275] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow569 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[276]) / (point - pow568 * oods_point); - let total_sum = total_sum + *constraint_coefficients[276] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow568 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[277]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[277] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[278]) / (point - pow524 * oods_point); - let total_sum = total_sum + *constraint_coefficients[278] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow524 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[279]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[279] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[280]) / (point - pow174 * oods_point); - let total_sum = total_sum + *constraint_coefficients[280] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow174 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[281]) / (point - pow217 * oods_point); - let total_sum = total_sum + *constraint_coefficients[281] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow217 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[282]) / (point - pow553 * oods_point); - let total_sum = total_sum + *constraint_coefficients[282] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow553 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[283]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[283] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[284]) / (point - pow103 * oods_point); - let total_sum = total_sum + *constraint_coefficients[284] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow103 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[285]) / (point - pow134 * oods_point); - let total_sum = total_sum + *constraint_coefficients[285] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow134 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[286]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[286] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[287]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[287] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[288]) / (point - pow173 * oods_point); - let total_sum = total_sum + *constraint_coefficients[288] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow173 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[289]) / (point - pow216 * oods_point); - let total_sum = total_sum + *constraint_coefficients[289] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow216 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[290]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[290] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[291]) / (point - pow102 * oods_point); - let total_sum = total_sum + *constraint_coefficients[291] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow102 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[292]) / (point - pow133 * oods_point); - let total_sum = total_sum + *constraint_coefficients[292] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow133 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[293]) / (point - pow573 * oods_point); - let total_sum = total_sum + *constraint_coefficients[293] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow573 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[294]) / (point - pow321 * oods_point); - let total_sum = total_sum + *constraint_coefficients[294] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow321 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[295]) / (point - pow562 * oods_point); - let total_sum = total_sum + *constraint_coefficients[295] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow562 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[296]) / (point - pow563 * oods_point); - let total_sum = total_sum + *constraint_coefficients[296] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow563 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[297]) / (point - pow620 * oods_point); - let total_sum = total_sum + *constraint_coefficients[297] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow620 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[298]) / (point - pow619 * oods_point); - let total_sum = total_sum + *constraint_coefficients[298] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow619 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[299]) / (point - pow617 * oods_point); - let total_sum = total_sum + *constraint_coefficients[299] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow617 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[300]) / (point - pow616 * oods_point); - let total_sum = total_sum + *constraint_coefficients[300] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow616 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[301]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[301] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[302]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[302] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[303]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[303] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[304]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[304] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[305]) / (point - pow387 * oods_point); - let total_sum = total_sum + *constraint_coefficients[305] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow387 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[306]) / (point - pow517 * oods_point); - let total_sum = total_sum + *constraint_coefficients[306] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow517 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[307]) / (point - pow518 * oods_point); - let total_sum = total_sum + *constraint_coefficients[307] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow518 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[308]) / (point - pow578 * oods_point); - let total_sum = total_sum + *constraint_coefficients[308] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow578 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[309]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[309] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[310]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[310] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[311]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[311] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[312]) / (point - pow172 * oods_point); - let total_sum = total_sum + *constraint_coefficients[312] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow172 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[313]) / (point - pow215 * oods_point); - let total_sum = total_sum + *constraint_coefficients[313] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow215 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[314]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[314] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[315]) / (point - pow101 * oods_point); - let total_sum = total_sum + *constraint_coefficients[315] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow101 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[316]) / (point - pow132 * oods_point); - let total_sum = total_sum + *constraint_coefficients[316] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow132 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[317]) / (point - pow584 * oods_point); - let total_sum = total_sum + *constraint_coefficients[317] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow584 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[318]) / (point - pow585 * oods_point); - let total_sum = total_sum + *constraint_coefficients[318] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow585 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[319]) / (point - pow618 * oods_point); - let total_sum = total_sum + *constraint_coefficients[319] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow618 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[320]) / (point - pow583 * oods_point); - let total_sum = total_sum + *constraint_coefficients[320] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow583 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[321]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[321] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[322]) / (point - pow581 * oods_point); - let total_sum = total_sum + *constraint_coefficients[322] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow581 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[323]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[323] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[324]) / (point - pow177 * oods_point); - let total_sum = total_sum + *constraint_coefficients[324] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow177 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[325]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[325] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[326]) / (point - pow334 * oods_point); - let total_sum = total_sum + *constraint_coefficients[326] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow334 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[327]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[327] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[328]) / (point - pow365 * oods_point); - let total_sum = total_sum + *constraint_coefficients[328] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow365 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[329]) / (point - pow592 * oods_point); - let total_sum = total_sum + *constraint_coefficients[329] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow592 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[330]) / (point - pow594 * oods_point); - let total_sum = total_sum + *constraint_coefficients[330] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow594 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[331]) / (point - pow593 * oods_point); - let total_sum = total_sum + *constraint_coefficients[331] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow593 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[332]) / (point - pow595 * oods_point); - let total_sum = total_sum + *constraint_coefficients[332] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow595 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[333]) / (point - pow596 * oods_point); - let total_sum = total_sum + *constraint_coefficients[333] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow596 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[334]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[334] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[335]) / (point - pow597 * oods_point); - let total_sum = total_sum + *constraint_coefficients[335] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow597 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[336]) / (point - pow598 * oods_point); - let total_sum = total_sum + *constraint_coefficients[336] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow598 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[337]) / (point - pow600 * oods_point); - let total_sum = total_sum + *constraint_coefficients[337] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow600 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[338]) / (point - pow602 * oods_point); - let total_sum = total_sum + *constraint_coefficients[338] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow602 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[339]) / (point - pow603 * oods_point); - let total_sum = total_sum + *constraint_coefficients[339] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow603 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[340]) / (point - pow601 * oods_point); - let total_sum = total_sum + *constraint_coefficients[340] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow601 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[341]) / (point - pow608 * oods_point); - let total_sum = total_sum + *constraint_coefficients[341] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow608 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[342]) / (point - pow609 * oods_point); - let total_sum = total_sum + *constraint_coefficients[342] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow609 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[343]) / (point - pow610 * oods_point); - let total_sum = total_sum + *constraint_coefficients[343] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow610 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[344]) / (point - pow611 * oods_point); - let total_sum = total_sum + *constraint_coefficients[344] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow611 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[345]) / (point - pow613 * oods_point); - let total_sum = total_sum + *constraint_coefficients[345] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow613 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[346]) / (point - pow615 * oods_point); - let total_sum = total_sum + *constraint_coefficients[346] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow615 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[347]) / (point - pow612 * oods_point); - let total_sum = total_sum + *constraint_coefficients[347] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow612 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[348]) / (point - pow614 * oods_point); - let total_sum = total_sum + *constraint_coefficients[348] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow614 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[349]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[349] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[350]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[350] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[351]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[351] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[352]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[352] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[353]) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients[353] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[354]) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients[354] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[355]) / (point - pow213 * oods_point); - let total_sum = total_sum + *constraint_coefficients[355] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow213 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[356]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[356] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[357]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[357] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[358]) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients[358] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[359]) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients[359] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[360]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[360] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[361]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[361] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[362]) / (point - pow149 * oods_point); - let total_sum = total_sum + *constraint_coefficients[362] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow149 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[363]) / (point - pow150 * oods_point); - let total_sum = total_sum + *constraint_coefficients[363] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow150 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[364]) / (point - pow152 * oods_point); - let total_sum = total_sum + *constraint_coefficients[364] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow152 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[365]) / (point - pow153 * oods_point); - let total_sum = total_sum + *constraint_coefficients[365] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow153 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[366]) / (point - pow167 * oods_point); - let total_sum = total_sum + *constraint_coefficients[366] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow167 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[367]) / (point - pow168 * oods_point); - let total_sum = total_sum + *constraint_coefficients[367] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow168 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[368]) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients[368] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[369]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[369] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[370]) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients[370] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[371]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[371] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[372]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[372] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[373]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[373] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[374]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[374] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[375]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[375] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[376]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[376] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[377]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[377] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[378]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[378] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[379]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[379] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[380]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[380] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[381]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[381] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[382]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[382] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[383]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[383] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[384]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[384] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[385]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[385] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[386]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[386] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[387]) / (point - pow418 * oods_point); - let total_sum = total_sum + *constraint_coefficients[387] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow418 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[388]) / (point - pow419 * oods_point); - let total_sum = total_sum + *constraint_coefficients[388] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow419 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[389]) / (point - pow420 * oods_point); - let total_sum = total_sum + *constraint_coefficients[389] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow420 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[390]) / (point - pow427 * oods_point); - let total_sum = total_sum + *constraint_coefficients[390] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow427 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[391]) / (point - pow428 * oods_point); - let total_sum = total_sum + *constraint_coefficients[391] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow428 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[392]) / (point - pow431 * oods_point); - let total_sum = total_sum + *constraint_coefficients[392] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow431 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[393]) / (point - pow432 * oods_point); - let total_sum = total_sum + *constraint_coefficients[393] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow432 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[394]) / (point - pow433 * oods_point); - let total_sum = total_sum + *constraint_coefficients[394] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow433 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[395]) / (point - pow434 * oods_point); - let total_sum = total_sum + *constraint_coefficients[395] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow434 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[396]) / (point - pow435 * oods_point); - let total_sum = total_sum + *constraint_coefficients[396] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow435 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[397]) / (point - pow436 * oods_point); - let total_sum = total_sum + *constraint_coefficients[397] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow436 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[398]) / (point - pow437 * oods_point); - let total_sum = total_sum + *constraint_coefficients[398] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow437 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[399]) / (point - pow438 * oods_point); - let total_sum = total_sum + *constraint_coefficients[399] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow438 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[400]) / (point - pow439 * oods_point); - let total_sum = total_sum + *constraint_coefficients[400] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow439 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[401]) / (point - pow440 * oods_point); - let total_sum = total_sum + *constraint_coefficients[401] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow440 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[402]) / (point - pow441 * oods_point); - let total_sum = total_sum + *constraint_coefficients[402] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow441 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[403]) / (point - pow442 * oods_point); - let total_sum = total_sum + *constraint_coefficients[403] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow442 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[404]) / (point - pow443 * oods_point); - let total_sum = total_sum + *constraint_coefficients[404] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow443 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[405]) / (point - pow446 * oods_point); - let total_sum = total_sum + *constraint_coefficients[405] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow446 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[406]) / (point - pow447 * oods_point); - let total_sum = total_sum + *constraint_coefficients[406] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow447 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[407]) / (point - pow448 * oods_point); - let total_sum = total_sum + *constraint_coefficients[407] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow448 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[408]) / (point - pow449 * oods_point); - let total_sum = total_sum + *constraint_coefficients[408] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow449 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[409]) / (point - pow451 * oods_point); - let total_sum = total_sum + *constraint_coefficients[409] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow451 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[410]) / (point - pow452 * oods_point); - let total_sum = total_sum + *constraint_coefficients[410] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow452 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[411]) / (point - pow453 * oods_point); - let total_sum = total_sum + *constraint_coefficients[411] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow453 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[412]) / (point - pow454 * oods_point); - let total_sum = total_sum + *constraint_coefficients[412] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow454 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[413]) / (point - pow457 * oods_point); - let total_sum = total_sum + *constraint_coefficients[413] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow457 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[414]) / (point - pow460 * oods_point); - let total_sum = total_sum + *constraint_coefficients[414] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow460 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[415]) / (point - pow464 * oods_point); - let total_sum = total_sum + *constraint_coefficients[415] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow464 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[416]) / (point - pow468 * oods_point); - let total_sum = total_sum + *constraint_coefficients[416] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow468 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[417]) / (point - pow504 * oods_point); - let total_sum = total_sum + *constraint_coefficients[417] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow504 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[418]) / (point - pow505 * oods_point); - let total_sum = total_sum + *constraint_coefficients[418] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow505 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[419]) / (point - pow506 * oods_point); - let total_sum = total_sum + *constraint_coefficients[419] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow506 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[420]) / (point - pow507 * oods_point); - let total_sum = total_sum + *constraint_coefficients[420] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow507 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[421]) / (point - pow508 * oods_point); - let total_sum = total_sum + *constraint_coefficients[421] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow508 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[422]) / (point - pow515 * oods_point); - let total_sum = total_sum + *constraint_coefficients[422] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow515 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[423]) / (point - pow516 * oods_point); - let total_sum = total_sum + *constraint_coefficients[423] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow516 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[424]) / (point - pow565 * oods_point); - let total_sum = total_sum + *constraint_coefficients[424] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow565 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[425]) / (point - pow566 * oods_point); - let total_sum = total_sum + *constraint_coefficients[425] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow566 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[426]) / (point - pow572 * oods_point); - let total_sum = total_sum + *constraint_coefficients[426] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow572 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[427]) / (point - pow574 * oods_point); - let total_sum = total_sum + *constraint_coefficients[427] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow574 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[428]) / (point - pow576 * oods_point); - let total_sum = total_sum + *constraint_coefficients[428] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow576 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[429]) / (point - pow579 * oods_point); - let total_sum = total_sum + *constraint_coefficients[429] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow579 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[430]) / (point - pow580 * oods_point); - let total_sum = total_sum + *constraint_coefficients[430] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow580 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[431]) / (point - pow588 * oods_point); - let total_sum = total_sum + *constraint_coefficients[431] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow588 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[432]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[432] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[433]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[433] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[434]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[434] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[435]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[435] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[436]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[436] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[437]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[437] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[438]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[438] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[439]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[439] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[440]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[440] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[441]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[441] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[442]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[442] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[443]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[443] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[444]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[444] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[445]) / (point - pow85 * oods_point); - let total_sum = total_sum + *constraint_coefficients[445] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow85 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[446]) / (point - pow86 * oods_point); - let total_sum = total_sum + *constraint_coefficients[446] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow86 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[447]) / (point - pow109 * oods_point); - let total_sum = total_sum + *constraint_coefficients[447] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow109 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[448]) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients[448] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[449]) / (point - pow122 * oods_point); - let total_sum = total_sum + *constraint_coefficients[449] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow122 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[450]) / (point - pow123 * oods_point); - let total_sum = total_sum + *constraint_coefficients[450] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow123 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[451]) / (point - pow138 * oods_point); - let total_sum = total_sum + *constraint_coefficients[451] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow138 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[452]) / (point - pow139 * oods_point); - let total_sum = total_sum + *constraint_coefficients[452] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow139 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[453]) / (point - pow144 * oods_point); - let total_sum = total_sum + *constraint_coefficients[453] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow144 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[454]) / (point - pow145 * oods_point); - let total_sum = total_sum + *constraint_coefficients[454] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow145 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[455]) / (point - pow154 * oods_point); - let total_sum = total_sum + *constraint_coefficients[455] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow154 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[456]) / (point - pow155 * oods_point); - let total_sum = total_sum + *constraint_coefficients[456] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow155 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[457]) / (point - pow179 * oods_point); - let total_sum = total_sum + *constraint_coefficients[457] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow179 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[458]) / (point - pow180 * oods_point); - let total_sum = total_sum + *constraint_coefficients[458] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow180 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[459]) / (point - pow184 * oods_point); - let total_sum = total_sum + *constraint_coefficients[459] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow184 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[460]) / (point - pow185 * oods_point); - let total_sum = total_sum + *constraint_coefficients[460] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow185 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[461]) / (point - pow190 * oods_point); - let total_sum = total_sum + *constraint_coefficients[461] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow190 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[462]) / (point - pow194 * oods_point); - let total_sum = total_sum + *constraint_coefficients[462] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow194 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[463]) / (point - pow197 * oods_point); - let total_sum = total_sum + *constraint_coefficients[463] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow197 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[464]) / (point - pow195 * oods_point); - let total_sum = total_sum + *constraint_coefficients[464] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow195 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[465]) / (point - pow198 * oods_point); - let total_sum = total_sum + *constraint_coefficients[465] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow198 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[466]) / (point - pow196 * oods_point); - let total_sum = total_sum + *constraint_coefficients[466] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow196 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[467]) / (point - pow199 * oods_point); - let total_sum = total_sum + *constraint_coefficients[467] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow199 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[468]) / (point - pow202 * oods_point); - let total_sum = total_sum + *constraint_coefficients[468] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow202 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[469]) / (point - pow221 * oods_point); - let total_sum = total_sum + *constraint_coefficients[469] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow221 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[470]) / (point - pow224 * oods_point); - let total_sum = total_sum + *constraint_coefficients[470] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow224 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[471]) / (point - pow235 * oods_point); - let total_sum = total_sum + *constraint_coefficients[471] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow235 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[472]) / (point - pow236 * oods_point); - let total_sum = total_sum + *constraint_coefficients[472] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow236 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[473]) / (point - pow239 * oods_point); - let total_sum = total_sum + *constraint_coefficients[473] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow239 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[474]) / (point - pow240 * oods_point); - let total_sum = total_sum + *constraint_coefficients[474] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow240 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[475]) / (point - pow250 * oods_point); - let total_sum = total_sum + *constraint_coefficients[475] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow250 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[476]) / (point - pow251 * oods_point); - let total_sum = total_sum + *constraint_coefficients[476] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow251 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[477]) / (point - pow268 * oods_point); - let total_sum = total_sum + *constraint_coefficients[477] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow268 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[478]) / (point - pow275 * oods_point); - let total_sum = total_sum + *constraint_coefficients[478] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow275 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[479]) / (point - pow337 * oods_point); - let total_sum = total_sum + *constraint_coefficients[479] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow337 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[480]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[480] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[481]) / (point - pow293 * oods_point); - let total_sum = total_sum + *constraint_coefficients[481] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow293 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[482]) / (point - pow306 * oods_point); - let total_sum = total_sum + *constraint_coefficients[482] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow306 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[483]) / (point - pow307 * oods_point); - let total_sum = total_sum + *constraint_coefficients[483] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow307 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[484]) / (point - pow336 * oods_point); - let total_sum = total_sum + *constraint_coefficients[484] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow336 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[485]) / (point - pow348 * oods_point); - let total_sum = total_sum + *constraint_coefficients[485] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow348 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[486]) / (point - pow349 * oods_point); - let total_sum = total_sum + *constraint_coefficients[486] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow349 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[487]) / (point - pow381 * oods_point); - let total_sum = total_sum + *constraint_coefficients[487] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow381 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[488]) / (point - pow399 * oods_point); - let total_sum = total_sum + *constraint_coefficients[488] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow399 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[489]) / (point - pow425 * oods_point); - let total_sum = total_sum + *constraint_coefficients[489] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow425 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[490]) / (point - pow430 * oods_point); - let total_sum = total_sum + *constraint_coefficients[490] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow430 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[491]) / (point - pow377 * oods_point); - let total_sum = total_sum + *constraint_coefficients[491] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow377 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[492]) / (point - pow401 * oods_point); - let total_sum = total_sum + *constraint_coefficients[492] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow401 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[493]) / (point - pow400 * oods_point); - let total_sum = total_sum + *constraint_coefficients[493] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow400 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[494]) / (point - pow409 * oods_point); - let total_sum = total_sum + *constraint_coefficients[494] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow409 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[495]) / (point - pow414 * oods_point); - let total_sum = total_sum + *constraint_coefficients[495] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow414 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[496]) / (point - pow413 * oods_point); - let total_sum = total_sum + *constraint_coefficients[496] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow413 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[497]) / (point - pow394 * oods_point); - let total_sum = total_sum + *constraint_coefficients[497] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow394 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[498]) / (point - pow412 * oods_point); - let total_sum = total_sum + *constraint_coefficients[498] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow412 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[499]) / (point - pow410 * oods_point); - let total_sum = total_sum + *constraint_coefficients[499] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow410 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[500]) / (point - pow469 * oods_point); - let total_sum = total_sum + *constraint_coefficients[500] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow469 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[501]) / (point - pow489 * oods_point); - let total_sum = total_sum + *constraint_coefficients[501] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow489 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[502]) / (point - pow623 * oods_point); - let total_sum = total_sum + *constraint_coefficients[502] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow623 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[503]) / (point - pow622 * oods_point); - let total_sum = total_sum + *constraint_coefficients[503] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow622 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[504]) / (point - pow470 * oods_point); - let total_sum = total_sum + *constraint_coefficients[504] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow470 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[505]) / (point - pow490 * oods_point); - let total_sum = total_sum + *constraint_coefficients[505] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow490 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[506]) / (point - pow485 * oods_point); - let total_sum = total_sum + *constraint_coefficients[506] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow485 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[507]) / (point - pow497 * oods_point); - let total_sum = total_sum + *constraint_coefficients[507] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow497 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[508]) / (point - pow496 * oods_point); - let total_sum = total_sum + *constraint_coefficients[508] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow496 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[509]) / (point - pow495 * oods_point); - let total_sum = total_sum + *constraint_coefficients[509] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow495 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[510]) / (point - pow492 * oods_point); - let total_sum = total_sum + *constraint_coefficients[510] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow492 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[511]) / (point - pow539 * oods_point); - let total_sum = total_sum + *constraint_coefficients[511] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow539 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[512]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[512] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[513]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[513] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[514]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[514] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[515]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[515] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[516]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[516] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[517]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[517] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[518]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[518] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[519]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[519] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[520]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[520] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[521]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[521] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[522]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[522] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[523]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[523] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[524]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[524] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[525]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[525] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[526]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[526] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[527]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[527] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[528]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[528] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[529]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[529] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[530]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[530] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[531]) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients[531] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[532]) / (point - pow89 * oods_point); - let total_sum = total_sum + *constraint_coefficients[532] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow89 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[533]) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients[533] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[534]) / (point - pow112 * oods_point); - let total_sum = total_sum + *constraint_coefficients[534] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow112 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[535]) / (point - pow125 * oods_point); - let total_sum = total_sum + *constraint_coefficients[535] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow125 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[536]) / (point - pow139 * oods_point); - let total_sum = total_sum + *constraint_coefficients[536] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow139 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[537]) / (point - pow140 * oods_point); - let total_sum = total_sum + *constraint_coefficients[537] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow140 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[538]) / (point - pow146 * oods_point); - let total_sum = total_sum + *constraint_coefficients[538] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow146 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[539]) / (point - pow156 * oods_point); - let total_sum = total_sum + *constraint_coefficients[539] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow156 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[540]) / (point - pow162 * oods_point); - let total_sum = total_sum + *constraint_coefficients[540] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow162 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[541]) / (point - pow165 * oods_point); - let total_sum = total_sum + *constraint_coefficients[541] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow165 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[542]) / (point - pow167 * oods_point); - let total_sum = total_sum + *constraint_coefficients[542] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow167 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[543]) / (point - pow176 * oods_point); - let total_sum = total_sum + *constraint_coefficients[543] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow176 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[544]) / (point - pow183 * oods_point); - let total_sum = total_sum + *constraint_coefficients[544] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow183 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[545]) / (point - pow205 * oods_point); - let total_sum = total_sum + *constraint_coefficients[545] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow205 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[546]) / (point - pow207 * oods_point); - let total_sum = total_sum + *constraint_coefficients[546] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow207 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[547]) / (point - pow208 * oods_point); - let total_sum = total_sum + *constraint_coefficients[547] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow208 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[548]) / (point - pow210 * oods_point); - let total_sum = total_sum + *constraint_coefficients[548] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow210 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[549]) / (point - pow211 * oods_point); - let total_sum = total_sum + *constraint_coefficients[549] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow211 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[550]) / (point - pow265 * oods_point); - let total_sum = total_sum + *constraint_coefficients[550] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow265 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[551]) / (point - pow269 * oods_point); - let total_sum = total_sum + *constraint_coefficients[551] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow269 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[552]) / (point - pow271 * oods_point); - let total_sum = total_sum + *constraint_coefficients[552] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow271 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[553]) / (point - pow302 * oods_point); - let total_sum = total_sum + *constraint_coefficients[553] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow302 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[554]) / (point - pow304 * oods_point); - let total_sum = total_sum + *constraint_coefficients[554] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow304 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[555]) / (point - pow305 * oods_point); - let total_sum = total_sum + *constraint_coefficients[555] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow305 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[556]) / (point - pow339 * oods_point); - let total_sum = total_sum + *constraint_coefficients[556] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow339 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[557]) / (point - pow344 * oods_point); - let total_sum = total_sum + *constraint_coefficients[557] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow344 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[558]) / (point - pow390 * oods_point); - let total_sum = total_sum + *constraint_coefficients[558] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow390 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[559]) / (point - pow395 * oods_point); - let total_sum = total_sum + *constraint_coefficients[559] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow395 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[560]) / (point - pow396 * oods_point); - let total_sum = total_sum + *constraint_coefficients[560] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow396 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[561]) / (point - pow397 * oods_point); - let total_sum = total_sum + *constraint_coefficients[561] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow397 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[562]) / (point - pow402 * oods_point); - let total_sum = total_sum + *constraint_coefficients[562] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow402 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[563]) / (point - pow416 * oods_point); - let total_sum = total_sum + *constraint_coefficients[563] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow416 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[564]) / (point - pow421 * oods_point); - let total_sum = total_sum + *constraint_coefficients[564] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow421 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[565]) / (point - pow422 * oods_point); - let total_sum = total_sum + *constraint_coefficients[565] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow422 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[566]) / (point - pow423 * oods_point); - let total_sum = total_sum + *constraint_coefficients[566] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow423 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[567]) / (point - pow415 * oods_point); - let total_sum = total_sum + *constraint_coefficients[567] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow415 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[568]) / (point - pow404 * oods_point); - let total_sum = total_sum + *constraint_coefficients[568] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow404 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[569]) / (point - pow426 * oods_point); - let total_sum = total_sum + *constraint_coefficients[569] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow426 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[570]) / (point - pow445 * oods_point); - let total_sum = total_sum + *constraint_coefficients[570] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow445 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[571]) / (point - pow491 * oods_point); - let total_sum = total_sum + *constraint_coefficients[571] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow491 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[572]) / (point - pow493 * oods_point); - let total_sum = total_sum + *constraint_coefficients[572] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow493 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[573]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[573] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[574]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[574] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[575]) / (point - pow525 * oods_point); - let total_sum = total_sum + *constraint_coefficients[575] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow525 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[576]) / (point - pow527 * oods_point); - let total_sum = total_sum + *constraint_coefficients[576] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow527 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[577]) / (point - pow535 * oods_point); - let total_sum = total_sum + *constraint_coefficients[577] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow535 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[578]) / (point - pow537 * oods_point); - let total_sum = total_sum + *constraint_coefficients[578] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow537 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[579]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[579] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[580]) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients[580] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[581]) / (point - pow301 * oods_point); - let total_sum = total_sum + *constraint_coefficients[581] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow301 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[582]) / (point - pow510 * oods_point); - let total_sum = total_sum + *constraint_coefficients[582] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow510 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[583]) / (point - pow509 * oods_point); - let total_sum = total_sum + *constraint_coefficients[583] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow509 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[584]) / (point - pow253 * oods_point); - let total_sum = total_sum + *constraint_coefficients[584] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow253 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[585]) / (point - pow255 * oods_point); - let total_sum = total_sum + *constraint_coefficients[585] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow255 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[586]) / (point - pow267 * oods_point); - let total_sum = total_sum + *constraint_coefficients[586] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow267 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[587]) / (point - pow291 * oods_point); - let total_sum = total_sum + *constraint_coefficients[587] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow291 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[588]) / (point - pow292 * oods_point); - let total_sum = total_sum + *constraint_coefficients[588] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow292 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[589]) / (point - pow624 * oods_point); - let total_sum = total_sum + *constraint_coefficients[589] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow624 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[590]) / (point - pow625 * oods_point); - let total_sum = total_sum + *constraint_coefficients[590] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow625 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[591]) / (point - pow626 * oods_point); - let total_sum = total_sum + *constraint_coefficients[591] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow626 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[592]) / (point - pow522 * oods_point); - let total_sum = total_sum + *constraint_coefficients[592] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow522 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[593]) / (point - pow552 * oods_point); - let total_sum = total_sum + *constraint_coefficients[593] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow552 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[594]) / (point - pow554 * oods_point); - let total_sum = total_sum + *constraint_coefficients[594] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow554 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[595]) / (point - pow567 * oods_point); - let total_sum = total_sum + *constraint_coefficients[595] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow567 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[596]) / (point - pow627 * oods_point); - let total_sum = total_sum + *constraint_coefficients[596] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow627 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[597]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[597] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[598]) / (point - pow340 * oods_point); - let total_sum = total_sum + *constraint_coefficients[598] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow340 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[599]) / (point - pow341 * oods_point); - let total_sum = total_sum + *constraint_coefficients[599] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow341 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[600]) / (point - pow564 * oods_point); - let total_sum = total_sum + *constraint_coefficients[600] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow564 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[601]) / (point - pow575 * oods_point); - let total_sum = total_sum + *constraint_coefficients[601] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow575 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[602]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[602] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[603]) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients[603] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[604]) / (point - pow80 * oods_point); - let total_sum = total_sum + *constraint_coefficients[604] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow80 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[605]) / (point - pow577 * oods_point); - let total_sum = total_sum + *constraint_coefficients[605] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow577 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[606]) / (point - pow560 * oods_point); - let total_sum = total_sum + *constraint_coefficients[606] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow560 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[607]) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients[607] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[608]) / (point - pow604 * oods_point); - let total_sum = total_sum + *constraint_coefficients[608] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow604 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[609]) / (point - pow586 * oods_point); - let total_sum = total_sum + *constraint_coefficients[609] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow586 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[610]) / (point - pow587 * oods_point); - let total_sum = total_sum + *constraint_coefficients[610] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow587 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[611]) / (point - pow582 * oods_point); - let total_sum = total_sum + *constraint_coefficients[611] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow582 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[612]) / (point - pow589 * oods_point); - let total_sum = total_sum + *constraint_coefficients[612] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow589 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[613]) / (point - pow538 * oods_point); - let total_sum = total_sum + *constraint_coefficients[613] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow538 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[614]) / (point - pow590 * oods_point); - let total_sum = total_sum + *constraint_coefficients[614] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow590 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[615]) / (point - pow591 * oods_point); - let total_sum = total_sum + *constraint_coefficients[615] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow591 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[616]) / (point - pow599 * oods_point); - let total_sum = total_sum + *constraint_coefficients[616] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow599 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[617]) / (point - pow605 * oods_point); - let total_sum = total_sum + *constraint_coefficients[617] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow605 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[618]) / (point - pow606 * oods_point); - let total_sum = total_sum + *constraint_coefficients[618] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow606 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[619]) / (point - pow607 * oods_point); - let total_sum = total_sum + *constraint_coefficients[619] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow607 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[620]) / (point - pow628 * oods_point); - let total_sum = total_sum + *constraint_coefficients[620] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow628 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[621]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[621] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[622]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[622] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[623]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[623] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[624]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[624] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[625]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[625] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[626]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[626] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[627]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[627] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[628]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[628] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[629]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[629] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[630]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[630] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[631]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[631] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[632]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[632] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[633]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[633] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[634]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[634] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[635]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[635] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[636]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[636] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[637]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[637] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[638]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[638] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[639]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[639] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[640]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[640] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[641]) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients[641] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[642]) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients[642] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[643]) / (point - pow77 * oods_point); - let total_sum = total_sum + *constraint_coefficients[643] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow77 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[644]) / (point - pow78 * oods_point); - let total_sum = total_sum + *constraint_coefficients[644] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow78 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[645]) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients[645] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[646]) / (point - pow82 * oods_point); - let total_sum = total_sum + *constraint_coefficients[646] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow82 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[647]) / (point - pow83 * oods_point); - let total_sum = total_sum + *constraint_coefficients[647] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow83 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[648]) / (point - pow84 * oods_point); - let total_sum = total_sum + *constraint_coefficients[648] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow84 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[649]) / (point - pow85 * oods_point); - let total_sum = total_sum + *constraint_coefficients[649] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow85 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[650]) / (point - pow87 * oods_point); - let total_sum = total_sum + *constraint_coefficients[650] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow87 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[651]) / (point - pow88 * oods_point); - let total_sum = total_sum + *constraint_coefficients[651] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow88 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[652]) / (point - pow90 * oods_point); - let total_sum = total_sum + *constraint_coefficients[652] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow90 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[653]) / (point - pow91 * oods_point); - let total_sum = total_sum + *constraint_coefficients[653] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow91 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[654]) / (point - pow93 * oods_point); - let total_sum = total_sum + *constraint_coefficients[654] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow93 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[655]) / (point - pow94 * oods_point); - let total_sum = total_sum + *constraint_coefficients[655] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow94 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[656]) / (point - pow95 * oods_point); - let total_sum = total_sum + *constraint_coefficients[656] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow95 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[657]) / (point - pow96 * oods_point); - let total_sum = total_sum + *constraint_coefficients[657] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow96 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[658]) / (point - pow97 * oods_point); - let total_sum = total_sum + *constraint_coefficients[658] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow97 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[659]) / (point - pow98 * oods_point); - let total_sum = total_sum + *constraint_coefficients[659] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow98 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[660]) / (point - pow99 * oods_point); - let total_sum = total_sum + *constraint_coefficients[660] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow99 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[661]) / (point - pow107 * oods_point); - let total_sum = total_sum + *constraint_coefficients[661] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow107 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[662]) / (point - pow108 * oods_point); - let total_sum = total_sum + *constraint_coefficients[662] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow108 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[663]) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients[663] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[664]) / (point - pow111 * oods_point); - let total_sum = total_sum + *constraint_coefficients[664] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow111 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[665]) / (point - pow113 * oods_point); - let total_sum = total_sum + *constraint_coefficients[665] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow113 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[666]) / (point - pow115 * oods_point); - let total_sum = total_sum + *constraint_coefficients[666] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow115 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[667]) / (point - pow116 * oods_point); - let total_sum = total_sum + *constraint_coefficients[667] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow116 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[668]) / (point - pow117 * oods_point); - let total_sum = total_sum + *constraint_coefficients[668] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow117 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[669]) / (point - pow118 * oods_point); - let total_sum = total_sum + *constraint_coefficients[669] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow118 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[670]) / (point - pow120 * oods_point); - let total_sum = total_sum + *constraint_coefficients[670] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow120 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[671]) / (point - pow121 * oods_point); - let total_sum = total_sum + *constraint_coefficients[671] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow121 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[672]) / (point - pow124 * oods_point); - let total_sum = total_sum + *constraint_coefficients[672] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow124 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[673]) / (point - pow126 * oods_point); - let total_sum = total_sum + *constraint_coefficients[673] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow126 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[674]) / (point - pow128 * oods_point); - let total_sum = total_sum + *constraint_coefficients[674] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow128 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[675]) / (point - pow129 * oods_point); - let total_sum = total_sum + *constraint_coefficients[675] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow129 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[676]) / (point - pow130 * oods_point); - let total_sum = total_sum + *constraint_coefficients[676] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow130 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[677]) / (point - pow142 * oods_point); - let total_sum = total_sum + *constraint_coefficients[677] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow142 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[678]) / (point - pow148 * oods_point); - let total_sum = total_sum + *constraint_coefficients[678] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow148 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[679]) / (point - pow151 * oods_point); - let total_sum = total_sum + *constraint_coefficients[679] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow151 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[680]) / (point - pow157 * oods_point); - let total_sum = total_sum + *constraint_coefficients[680] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow157 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[681]) / (point - pow159 * oods_point); - let total_sum = total_sum + *constraint_coefficients[681] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow159 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[682]) / (point - pow160 * oods_point); - let total_sum = total_sum + *constraint_coefficients[682] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow160 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[683]) / (point - pow163 * oods_point); - let total_sum = total_sum + *constraint_coefficients[683] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow163 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[684]) / (point - pow166 * oods_point); - let total_sum = total_sum + *constraint_coefficients[684] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow166 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[685]) / (point - pow169 * oods_point); - let total_sum = total_sum + *constraint_coefficients[685] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow169 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[686]) / (point - pow182 * oods_point); - let total_sum = total_sum + *constraint_coefficients[686] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow182 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[687]) / (point - pow186 * oods_point); - let total_sum = total_sum + *constraint_coefficients[687] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow186 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[688]) / (point - pow187 * oods_point); - let total_sum = total_sum + *constraint_coefficients[688] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow187 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[689]) / (point - pow188 * oods_point); - let total_sum = total_sum + *constraint_coefficients[689] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow188 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[690]) / (point - pow189 * oods_point); - let total_sum = total_sum + *constraint_coefficients[690] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow189 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[691]) / (point - pow190 * oods_point); - let total_sum = total_sum + *constraint_coefficients[691] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow190 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[692]) / (point - pow191 * oods_point); - let total_sum = total_sum + *constraint_coefficients[692] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow191 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[693]) / (point - pow192 * oods_point); - let total_sum = total_sum + *constraint_coefficients[693] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow192 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[694]) / (point - pow193 * oods_point); - let total_sum = total_sum + *constraint_coefficients[694] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow193 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[695]) / (point - pow201 * oods_point); - let total_sum = total_sum + *constraint_coefficients[695] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow201 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[696]) / (point - pow203 * oods_point); - let total_sum = total_sum + *constraint_coefficients[696] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow203 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[697]) / (point - pow204 * oods_point); - let total_sum = total_sum + *constraint_coefficients[697] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow204 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[698]) / (point - pow206 * oods_point); - let total_sum = total_sum + *constraint_coefficients[698] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow206 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[699]) / (point - pow209 * oods_point); - let total_sum = total_sum + *constraint_coefficients[699] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow209 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[700]) / (point - pow212 * oods_point); - let total_sum = total_sum + *constraint_coefficients[700] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow212 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[701]) / (point - pow405 * oods_point); - let total_sum = total_sum + *constraint_coefficients[701] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow405 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[702]) / (point - pow406 * oods_point); - let total_sum = total_sum + *constraint_coefficients[702] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow406 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[703]) / (point - pow407 * oods_point); - let total_sum = total_sum + *constraint_coefficients[703] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow407 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[704]) / (point - pow408 * oods_point); - let total_sum = total_sum + *constraint_coefficients[704] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow408 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[705]) / (point - pow411 * oods_point); - let total_sum = total_sum + *constraint_coefficients[705] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow411 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[706]) / (point - pow431 * oods_point); - let total_sum = total_sum + *constraint_coefficients[706] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow431 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[707]) / (point - pow455 * oods_point); - let total_sum = total_sum + *constraint_coefficients[707] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow455 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[708]) / (point - pow456 * oods_point); - let total_sum = total_sum + *constraint_coefficients[708] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow456 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[709]) / (point - pow458 * oods_point); - let total_sum = total_sum + *constraint_coefficients[709] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow458 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[710]) / (point - pow459 * oods_point); - let total_sum = total_sum + *constraint_coefficients[710] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow459 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[711]) / (point - pow461 * oods_point); - let total_sum = total_sum + *constraint_coefficients[711] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow461 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[712]) / (point - pow462 * oods_point); - let total_sum = total_sum + *constraint_coefficients[712] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow462 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[713]) / (point - pow463 * oods_point); - let total_sum = total_sum + *constraint_coefficients[713] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow463 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[714]) / (point - pow466 * oods_point); - let total_sum = total_sum + *constraint_coefficients[714] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow466 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[715]) / (point - pow467 * oods_point); - let total_sum = total_sum + *constraint_coefficients[715] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow467 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[716]) / (point - pow479 * oods_point); - let total_sum = total_sum + *constraint_coefficients[716] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow479 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[717]) / (point - pow488 * oods_point); - let total_sum = total_sum + *constraint_coefficients[717] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow488 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[718]) / (point - pow494 * oods_point); - let total_sum = total_sum + *constraint_coefficients[718] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow494 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[719]) / (point - pow465 * oods_point); - let total_sum = total_sum + *constraint_coefficients[719] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow465 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[720]) / (point - pow498 * oods_point); - let total_sum = total_sum + *constraint_coefficients[720] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow498 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[721]) / (point - pow499 * oods_point); - let total_sum = total_sum + *constraint_coefficients[721] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow499 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[722]) / (point - pow500 * oods_point); - let total_sum = total_sum + *constraint_coefficients[722] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow500 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[723]) / (point - pow501 * oods_point); - let total_sum = total_sum + *constraint_coefficients[723] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow501 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[724]) / (point - pow502 * oods_point); - let total_sum = total_sum + *constraint_coefficients[724] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow502 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[725]) / (point - pow503 * oods_point); - let total_sum = total_sum + *constraint_coefficients[725] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow503 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[726]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[726] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[727]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[727] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[728]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[728] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[729]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[729] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[730]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[730] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[731]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[731] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[732]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[732] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[733]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[733] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[734]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[734] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[735]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[735] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(736 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From 52a2defe5f802caa0476916f9bab1cf6a0f68773 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:02:57 +0100 Subject: [PATCH 13/29] ci turn on proof verification tests --- .github/workflows/proof_verification_tests.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index cd3eb4dcb..6b2782b81 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -2,18 +2,18 @@ name: Continuous Integration - proof verification tests on: push: - branches: - - main + # branches: + # - main pull_request: - branches: - - main + # branches: + # - main jobs: verify-proof: runs-on: ubuntu-latest strategy: matrix: - layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet"] + layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet", "starknet_with_keccak"] steps: - name: Checkout repository uses: actions/checkout@v3 From ec6043097b1fe126b995c9d1ef1e80b003b73f8e Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:03:21 +0100 Subject: [PATCH 14/29] starknet_with_keccak loop optimizaton --- .../starknet_with_keccak/autogenerated.cairo | 5544 +++++++---------- 1 file changed, 2185 insertions(+), 3359 deletions(-) diff --git a/src/air/layouts/starknet_with_keccak/autogenerated.cairo b/src/air/layouts/starknet_with_keccak/autogenerated.cairo index 38e8ec3b7..69287998c 100644 --- a/src/air/layouts/starknet_with_keccak/autogenerated.cairo +++ b/src/air/layouts/starknet_with_keccak/autogenerated.cairo @@ -11299,2133 +11299,2280 @@ fn eval_composition_polynomial_inner( let poseidon_poseidon_partial_rounds_state1_cubed_21 = column11_row342 * column11_row350; // Sum constraints. - let total_sum = 0; + let mut total_sum = 0; + let mut value = 0; // Constraint: cpu/decode/opcode_range_check/bit. - let value = (cpu_decode_opcode_range_check_bit_0 * cpu_decode_opcode_range_check_bit_0 - - cpu_decode_opcode_range_check_bit_0) + value = + (cpu_decode_opcode_range_check_bit_0 * cpu_decode_opcode_range_check_bit_0 + - cpu_decode_opcode_range_check_bit_0) * domain4 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. - let value = (column0_row0) / domain4; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column0_row0) / domain4; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. - let value = (column8_row1 - - (((column0_row0 * global_values.offset_size + column10_row4) * global_values.offset_size - + column10_row8) - * global_values.offset_size - + column10_row0)) + value = + (column8_row1 + - (((column0_row0 * global_values.offset_size + column10_row4) + * global_values.offset_size + + column10_row8) + * global_values.offset_size + + column10_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. - let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - - cpu_decode_flag_op1_base_op0_0) + value = + (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 + - cpu_decode_flag_op1_base_op0_0) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. - let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) + value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. - let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - - cpu_decode_flag_pc_update_regular_0) + value = + (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 + - cpu_decode_flag_pc_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. - let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - - cpu_decode_fp_update_regular_0) + value = + (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 + - cpu_decode_fp_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. - let value = (column8_row8 - + global_values.half_offset_size - - (cpu_decode_opcode_range_check_bit_0 * column11_row8 - + (1 - cpu_decode_opcode_range_check_bit_0) * column11_row0 - + column10_row0)) + value = + (column8_row8 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_0 * column11_row8 + + (1 - cpu_decode_opcode_range_check_bit_0) * column11_row0 + + column10_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. - let value = (column8_row4 - + global_values.half_offset_size - - (cpu_decode_opcode_range_check_bit_1 * column11_row8 - + (1 - cpu_decode_opcode_range_check_bit_1) * column11_row0 - + column10_row8)) + value = + (column8_row4 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_1 * column11_row8 + + (1 - cpu_decode_opcode_range_check_bit_1) * column11_row0 + + column10_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. - let value = (column8_row12 - + global_values.half_offset_size - - (cpu_decode_opcode_range_check_bit_2 * column8_row0 - + cpu_decode_opcode_range_check_bit_4 * column11_row0 - + cpu_decode_opcode_range_check_bit_3 * column11_row8 - + cpu_decode_flag_op1_base_op0_0 * column8_row5 - + column10_row4)) + value = + (column8_row12 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_2 * column8_row0 + + cpu_decode_opcode_range_check_bit_4 * column11_row0 + + cpu_decode_opcode_range_check_bit_3 * column11_row8 + + cpu_decode_flag_op1_base_op0_0 * column8_row5 + + column10_row4)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. - let value = (column11_row4 - column8_row5 * column8_row13) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row4 - column8_row5 * column8_row13) / domain5; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. - let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column11_row12 - - (cpu_decode_opcode_range_check_bit_5 * (column8_row5 + column8_row13) - + cpu_decode_opcode_range_check_bit_6 * column11_row4 - + cpu_decode_flag_res_op1_0 * column8_row13)) + value = + ((1 - cpu_decode_opcode_range_check_bit_9) * column11_row12 + - (cpu_decode_opcode_range_check_bit_5 * (column8_row5 + column8_row13) + + cpu_decode_opcode_range_check_bit_6 * column11_row4 + + cpu_decode_flag_res_op1_0 * column8_row13)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. - let value = (column11_row2 - cpu_decode_opcode_range_check_bit_9 * column8_row9) + value = (column11_row2 - cpu_decode_opcode_range_check_bit_9 * column8_row9) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. - let value = (column11_row10 - column11_row2 * column11_row12) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row10 - column11_row2 * column11_row12) * domain143 / domain5; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. - let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column8_row16 - + column11_row2 * (column8_row16 - (column8_row0 + column8_row13)) - - (cpu_decode_flag_pc_update_regular_0 * npc_reg_0 - + cpu_decode_opcode_range_check_bit_7 * column11_row12 - + cpu_decode_opcode_range_check_bit_8 * (column8_row0 + column11_row12))) + value = + ((1 - cpu_decode_opcode_range_check_bit_9) * column8_row16 + + column11_row2 * (column8_row16 - (column8_row0 + column8_row13)) + - (cpu_decode_flag_pc_update_regular_0 * npc_reg_0 + + cpu_decode_opcode_range_check_bit_7 * column11_row12 + + cpu_decode_opcode_range_check_bit_8 * (column8_row0 + column11_row12))) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. - let value = ((column11_row10 - cpu_decode_opcode_range_check_bit_9) - * (column8_row16 - npc_reg_0)) + value = ((column11_row10 - cpu_decode_opcode_range_check_bit_9) * (column8_row16 - npc_reg_0)) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. - let value = (column11_row16 - - (column11_row0 - + cpu_decode_opcode_range_check_bit_10 * column11_row12 - + cpu_decode_opcode_range_check_bit_11 - + cpu_decode_opcode_range_check_bit_12 * 2)) + value = + (column11_row16 + - (column11_row0 + + cpu_decode_opcode_range_check_bit_10 * column11_row12 + + cpu_decode_opcode_range_check_bit_11 + + cpu_decode_opcode_range_check_bit_12 * 2)) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. - let value = (column11_row24 - - (cpu_decode_fp_update_regular_0 * column11_row8 - + cpu_decode_opcode_range_check_bit_13 * column8_row9 - + cpu_decode_opcode_range_check_bit_12 * (column11_row0 + 2))) + value = + (column11_row24 + - (cpu_decode_fp_update_regular_0 * column11_row8 + + cpu_decode_opcode_range_check_bit_13 * column8_row9 + + cpu_decode_opcode_range_check_bit_12 * (column11_row0 + 2))) * domain143 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. - let value = (cpu_decode_opcode_range_check_bit_12 * (column8_row9 - column11_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (cpu_decode_opcode_range_check_bit_12 * (column8_row9 - column11_row8)) / domain5; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. - let value = (cpu_decode_opcode_range_check_bit_12 - * (column8_row5 - (column8_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) + value = + (cpu_decode_opcode_range_check_bit_12 + * (column8_row5 - (column8_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. - let value = (cpu_decode_opcode_range_check_bit_12 - * (column10_row0 - global_values.half_offset_size)) + value = + (cpu_decode_opcode_range_check_bit_12 * (column10_row0 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. - let value = (cpu_decode_opcode_range_check_bit_12 - * (column10_row8 - (global_values.half_offset_size + 1))) + value = + (cpu_decode_opcode_range_check_bit_12 + * (column10_row8 - (global_values.half_offset_size + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. - let value = (cpu_decode_opcode_range_check_bit_12 - * (cpu_decode_opcode_range_check_bit_12 - + cpu_decode_opcode_range_check_bit_12 - + 1 - + 1 - - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) + value = + (cpu_decode_opcode_range_check_bit_12 + * (cpu_decode_opcode_range_check_bit_12 + + cpu_decode_opcode_range_check_bit_12 + + 1 + + 1 + - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. - let value = (cpu_decode_opcode_range_check_bit_13 - * (column10_row0 + 2 - global_values.half_offset_size)) + value = + (cpu_decode_opcode_range_check_bit_13 + * (column10_row0 + 2 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. - let value = (cpu_decode_opcode_range_check_bit_13 - * (column10_row4 + 1 - global_values.half_offset_size)) + value = + (cpu_decode_opcode_range_check_bit_13 + * (column10_row4 + 1 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. - let value = (cpu_decode_opcode_range_check_bit_13 - * (cpu_decode_opcode_range_check_bit_7 - + cpu_decode_opcode_range_check_bit_0 - + cpu_decode_opcode_range_check_bit_3 - + cpu_decode_flag_res_op1_0 - - 4)) + value = + (cpu_decode_opcode_range_check_bit_13 + * (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_0 + + cpu_decode_opcode_range_check_bit_3 + + cpu_decode_flag_res_op1_0 + - 4)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. - let value = (cpu_decode_opcode_range_check_bit_14 * (column8_row9 - column11_row12)) / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (cpu_decode_opcode_range_check_bit_14 * (column8_row9 - column11_row12)) / domain5; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. - let value = (column11_row0 - global_values.initial_ap) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row0 - global_values.initial_ap) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. - let value = (column11_row8 - global_values.initial_ap) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row8 - global_values.initial_ap) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. - let value = (column8_row0 - global_values.initial_pc) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row0 - global_values.initial_pc) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. - let value = (column11_row0 - global_values.final_ap) / domain143; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row0 - global_values.final_ap) / domain143; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. - let value = (column11_row8 - global_values.initial_ap) / domain143; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row8 - global_values.initial_ap) / domain143; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. - let value = (column8_row0 - global_values.final_pc) / domain143; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row0 - global_values.final_pc) / domain143; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. - let value = ((global_values.memory_multi_column_perm_perm_interaction_elm - - (column9_row0 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column9_row1)) - * column14_inter1_row0 - + column8_row0 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row1 - - global_values.memory_multi_column_perm_perm_interaction_elm) + value = + ((global_values.memory_multi_column_perm_perm_interaction_elm + - (column9_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column9_row1)) + * column14_inter1_row0 + + column8_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row1 + - global_values.memory_multi_column_perm_perm_interaction_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. - let value = ((global_values.memory_multi_column_perm_perm_interaction_elm - - (column9_row2 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column9_row3)) - * column14_inter1_row2 - - (global_values.memory_multi_column_perm_perm_interaction_elm - - (column8_row2 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row3)) - * column14_inter1_row0) + value = + ((global_values.memory_multi_column_perm_perm_interaction_elm + - (column9_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column9_row3)) + * column14_inter1_row2 + - (global_values.memory_multi_column_perm_perm_interaction_elm + - (column8_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column8_row3)) + * column14_inter1_row0) * domain145 / domain1; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. - let value = (column14_inter1_row0 - - global_values.memory_multi_column_perm_perm_public_memory_prod) + value = (column14_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain145; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. - let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) + value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain145 / domain1; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. - let value = ((memory_address_diff_0 - 1) * (column9_row1 - column9_row3)) * domain145 / domain1; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = ((memory_address_diff_0 - 1) * (column9_row1 - column9_row3)) * domain145 / domain1; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. - let value = (column9_row0 - 1) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column9_row0 - 1) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. - let value = (column8_row2) / domain3; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row2) / domain3; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. - let value = (column8_row3) / domain3; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row3) / domain3; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. - let value = ((global_values.range_check16_perm_interaction_elm - column10_row2) - * column14_inter1_row1 - + column10_row0 - - global_values.range_check16_perm_interaction_elm) + value = + ((global_values.range_check16_perm_interaction_elm - column10_row2) * column14_inter1_row1 + + column10_row0 + - global_values.range_check16_perm_interaction_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. - let value = ((global_values.range_check16_perm_interaction_elm - column10_row6) - * column14_inter1_row5 - - (global_values.range_check16_perm_interaction_elm - column10_row4) * column14_inter1_row1) + value = + ((global_values.range_check16_perm_interaction_elm - column10_row6) * column14_inter1_row5 + - (global_values.range_check16_perm_interaction_elm - column10_row4) + * column14_inter1_row1) * domain146 / domain2; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. - let value = (column14_inter1_row1 - global_values.range_check16_perm_public_memory_prod) + value = (column14_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / domain146; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. - let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) + value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain146 / domain2; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. - let value = (column10_row2 - global_values.range_check_min) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row2 - global_values.range_check_min) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. - let value = (column10_row2 - global_values.range_check_max) / domain146; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row2 - global_values.range_check_max) / domain146; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/init0. - let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row0) - * column13_inter1_row0 - + column1_row0 - - global_values.diluted_check_permutation_interaction_elm) + value = + ((global_values.diluted_check_permutation_interaction_elm - column2_row0) + * column13_inter1_row0 + + column1_row0 + - global_values.diluted_check_permutation_interaction_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/step0. - let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row1) - * column13_inter1_row1 - - (global_values.diluted_check_permutation_interaction_elm - column1_row1) - * column13_inter1_row0) + value = + ((global_values.diluted_check_permutation_interaction_elm - column2_row1) + * column13_inter1_row1 + - (global_values.diluted_check_permutation_interaction_elm - column1_row1) + * column13_inter1_row0) * domain147 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/last. - let value = (column13_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) + value = (column13_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) / domain147; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/init. - let value = (column12_inter1_row0 - 1) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column12_inter1_row0 - 1) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/first_element. - let value = (column2_row0 - global_values.diluted_check_first_elm) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column2_row0 - global_values.diluted_check_first_elm) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/step. - let value = (column12_inter1_row1 - - (column12_inter1_row0 - * (1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0)) - + global_values.diluted_check_interaction_alpha - * (column2_row1 - column2_row0) - * (column2_row1 - column2_row0))) + value = + (column12_inter1_row1 + - (column12_inter1_row0 + * (1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0)) + + global_values.diluted_check_interaction_alpha + * (column2_row1 - column2_row0) + * (column2_row1 - column2_row0))) * domain147 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/last. - let value = (column12_inter1_row0 - global_values.diluted_check_final_cum_val) / domain147; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column12_inter1_row0 - global_values.diluted_check_final_cum_val) / domain147; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. - let value = (column11_row71 * (column5_row0 - (column5_row1 + column5_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row71 * (column5_row0 - (column5_row1 + column5_row1))) / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. - let value = (column11_row71 - * (column5_row1 - - 3138550867693340381917894711603833208051177722232017256448 * column5_row192)) + value = + (column11_row71 + * (column5_row1 + - 3138550867693340381917894711603833208051177722232017256448 * column5_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. - let value = (column11_row71 - - column6_row255 * (column5_row192 - (column5_row193 + column5_row193))) + value = (column11_row71 - column6_row255 * (column5_row192 - (column5_row193 + column5_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. - let value = (column6_row255 * (column5_row193 - 8 * column5_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column6_row255 * (column5_row193 - 8 * column5_row196)) / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. - let value = (column6_row255 - - (column5_row251 - (column5_row252 + column5_row252)) - * (column5_row196 - (column5_row197 + column5_row197))) + value = + (column6_row255 + - (column5_row251 - (column5_row252 + column5_row252)) + * (column5_row196 - (column5_row197 + column5_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. - let value = ((column5_row251 - (column5_row252 + column5_row252)) - * (column5_row197 - 18014398509481984 * column5_row251)) + value = + ((column5_row251 - (column5_row252 + column5_row252)) + * (column5_row197 - 18014398509481984 * column5_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. - let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) + value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. - let value = (column5_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column5_row0) / domain10; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. - let value = (column5_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column5_row0) / domain9; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. - let value = (pedersen_hash0_ec_subset_sum_bit_0 - * (column4_row0 - global_values.pedersen_points_y) - - column6_row0 * (column3_row0 - global_values.pedersen_points_x)) + value = + (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row0 - global_values.pedersen_points_y) + - column6_row0 * (column3_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. - let value = (column6_row0 * column6_row0 - - pedersen_hash0_ec_subset_sum_bit_0 - * (column3_row0 + global_values.pedersen_points_x + column3_row1)) + value = + (column6_row0 * column6_row0 + - pedersen_hash0_ec_subset_sum_bit_0 + * (column3_row0 + global_values.pedersen_points_x + column3_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. - let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row0 + column4_row1) - - column6_row0 * (column3_row0 - column3_row1)) + value = + (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row0 + column4_row1) + - column6_row0 * (column3_row0 - column3_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. - let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column3_row1 - column3_row0)) + value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column3_row1 - column3_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. - let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row1 - column4_row0)) + value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row1 - column4_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. - let value = (column3_row256 - column3_row255) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column3_row256 - column3_row255) * domain13 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. - let value = (column4_row256 - column4_row255) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column4_row256 - column4_row255) * domain13 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. - let value = (column3_row0 - global_values.pedersen_shift_point.x) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column3_row0 - global_values.pedersen_shift_point.x) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. - let value = (column4_row0 - global_values.pedersen_shift_point.y) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column4_row0 - global_values.pedersen_shift_point.y) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. - let value = (column8_row7 - column5_row0) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row7 - column5_row0) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. - let value = (column8_row518 - (column8_row134 + 1)) * domain148 / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row518 - (column8_row134 + 1)) * domain148 / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. - let value = (column8_row6 - global_values.initial_pedersen_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row6 - global_values.initial_pedersen_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. - let value = (column8_row263 - column5_row256) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row263 - column5_row256) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. - let value = (column8_row262 - (column8_row6 + 1)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row262 - (column8_row6 + 1)) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. - let value = (column8_row135 - column3_row511) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row135 - column3_row511) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. - let value = (column8_row134 - (column8_row262 + 1)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row134 - (column8_row262 + 1)) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. - let value = (range_check_builtin_value7_0 - column8_row71) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (range_check_builtin_value7_0 - column8_row71) / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. - let value = (column8_row326 - (column8_row70 + 1)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row326 - (column8_row70 + 1)) * domain149 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. - let value = (column8_row70 - global_values.initial_range_check_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row70 - global_values.initial_range_check_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/slope. - let value = (ecdsa_signature0_doubling_key_x_squared - + ecdsa_signature0_doubling_key_x_squared - + ecdsa_signature0_doubling_key_x_squared - + global_values.ecdsa_sig_config.alpha - - (column11_row33 + column11_row33) * column11_row35) + value = + (ecdsa_signature0_doubling_key_x_squared + + ecdsa_signature0_doubling_key_x_squared + + ecdsa_signature0_doubling_key_x_squared + + global_values.ecdsa_sig_config.alpha + - (column11_row33 + column11_row33) * column11_row35) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/x. - let value = (column11_row35 * column11_row35 - (column11_row1 + column11_row1 + column11_row65)) + value = (column11_row35 * column11_row35 - (column11_row1 + column11_row1 + column11_row65)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/y. - let value = (column11_row33 - + column11_row97 - - column11_row35 * (column11_row1 - column11_row65)) + value = (column11_row33 + column11_row97 - column11_row35 * (column11_row1 - column11_row65)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. - let value = (ecdsa_signature0_exponentiate_generator_bit_0 - * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) + value = + (ecdsa_signature0_exponentiate_generator_bit_0 + * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. - let value = (column11_row59) / domain32; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row59) / domain32; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. - let value = (column11_row59) / domain31; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row59) / domain31; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. - let value = (ecdsa_signature0_exponentiate_generator_bit_0 - * (column11_row91 - global_values.ecdsa_generator_points_y) - - column11_row123 * (column11_row27 - global_values.ecdsa_generator_points_x)) + value = + (ecdsa_signature0_exponentiate_generator_bit_0 + * (column11_row91 - global_values.ecdsa_generator_points_y) + - column11_row123 * (column11_row27 - global_values.ecdsa_generator_points_x)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. - let value = (column11_row123 * column11_row123 - - ecdsa_signature0_exponentiate_generator_bit_0 - * (column11_row27 + global_values.ecdsa_generator_points_x + column11_row155)) + value = + (column11_row123 * column11_row123 + - ecdsa_signature0_exponentiate_generator_bit_0 + * (column11_row27 + global_values.ecdsa_generator_points_x + column11_row155)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. - let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (column11_row91 + column11_row219) - - column11_row123 * (column11_row27 - column11_row155)) + value = + (ecdsa_signature0_exponentiate_generator_bit_0 * (column11_row91 + column11_row219) + - column11_row123 * (column11_row27 - column11_row155)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. - let value = (column11_row7 * (column11_row27 - global_values.ecdsa_generator_points_x) - 1) + value = (column11_row7 * (column11_row27 - global_values.ecdsa_generator_points_x) - 1) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. - let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 - * (column11_row155 - column11_row27)) + value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column11_row155 - column11_row27)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. - let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 - * (column11_row219 - column11_row91)) + value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column11_row219 - column11_row91)) * domain31 / domain7; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. - let value = (ecdsa_signature0_exponentiate_key_bit_0 - * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) + value = + (ecdsa_signature0_exponentiate_key_bit_0 * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. - let value = (column11_row9) / domain28; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row9) / domain28; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. - let value = (column11_row9) / domain27; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row9) / domain27; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. - let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 - column11_row33) - - column11_row19 * (column11_row17 - column11_row1)) + value = + (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 - column11_row33) + - column11_row19 * (column11_row17 - column11_row1)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. - let value = (column11_row19 * column11_row19 - - ecdsa_signature0_exponentiate_key_bit_0 - * (column11_row17 + column11_row1 + column11_row81)) + value = + (column11_row19 * column11_row19 + - ecdsa_signature0_exponentiate_key_bit_0 + * (column11_row17 + column11_row1 + column11_row81)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. - let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 + column11_row113) - - column11_row19 * (column11_row17 - column11_row81)) + value = + (ecdsa_signature0_exponentiate_key_bit_0 * (column11_row49 + column11_row113) + - column11_row19 * (column11_row17 - column11_row81)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. - let value = (column11_row51 * (column11_row17 - column11_row1) - 1) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row51 * (column11_row17 - column11_row1) - 1) * domain27 / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. - let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row81 - column11_row17)) + value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row81 - column11_row17)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. - let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row113 - column11_row49)) + value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column11_row113 - column11_row49)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/x. - let value = (column11_row27 - global_values.ecdsa_sig_config.shift_point.x) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row27 - global_values.ecdsa_sig_config.shift_point.x) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/y. - let value = (column11_row91 + global_values.ecdsa_sig_config.shift_point.y) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row91 + global_values.ecdsa_sig_config.shift_point.y) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/x. - let value = (column11_row17 - global_values.ecdsa_sig_config.shift_point.x) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row17 - global_values.ecdsa_sig_config.shift_point.x) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/y. - let value = (column11_row49 - global_values.ecdsa_sig_config.shift_point.y) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row49 - global_values.ecdsa_sig_config.shift_point.y) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/slope. - let value = (column11_row32731 - - (column11_row16369 + column11_row32763 * (column11_row32667 - column11_row16337))) + value = + (column11_row32731 + - (column11_row16369 + column11_row32763 * (column11_row32667 - column11_row16337))) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x. - let value = (column11_row32763 * column11_row32763 - - (column11_row32667 + column11_row16337 + column11_row16385)) + value = + (column11_row32763 * column11_row32763 + - (column11_row32667 + column11_row16337 + column11_row16385)) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/y. - let value = (column11_row32731 - + column11_row16417 - - column11_row32763 * (column11_row32667 - column11_row16385)) + value = + (column11_row32731 + + column11_row16417 + - column11_row32763 * (column11_row32667 - column11_row16385)) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x_diff_inv. - let value = (column11_row32647 * (column11_row32667 - column11_row16337) - 1) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row32647 * (column11_row32667 - column11_row16337) - 1) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/slope. - let value = (column11_row32753 - + global_values.ecdsa_sig_config.shift_point.y - - column11_row16331 * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x)) + value = + (column11_row32753 + + global_values.ecdsa_sig_config.shift_point.y + - column11_row16331 + * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x)) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x. - let value = (column11_row16331 * column11_row16331 - - (column11_row32721 + global_values.ecdsa_sig_config.shift_point.x + column11_row9)) + value = + (column11_row16331 * column11_row16331 + - (column11_row32721 + global_values.ecdsa_sig_config.shift_point.x + column11_row9)) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x_diff_inv. - let value = (column11_row32715 - * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x) - - 1) + value = + (column11_row32715 * (column11_row32721 - global_values.ecdsa_sig_config.shift_point.x) - 1) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/z_nonzero. - let value = (column11_row59 * column11_row16363 - 1) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row59 * column11_row16363 - 1) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/r_and_w_nonzero. - let value = (column11_row9 * column11_row16355 - 1) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row9 * column11_row16355 - 1) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/x_squared. - let value = (column11_row32747 - column11_row1 * column11_row1) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row32747 - column11_row1 * column11_row1) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/on_curve. - let value = (column11_row33 * column11_row33 - - (column11_row1 * column11_row32747 - + global_values.ecdsa_sig_config.alpha * column11_row1 - + global_values.ecdsa_sig_config.beta)) + value = + (column11_row33 * column11_row33 + - (column11_row1 * column11_row32747 + + global_values.ecdsa_sig_config.alpha * column11_row1 + + global_values.ecdsa_sig_config.beta)) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/init_addr. - let value = (column8_row390 - global_values.initial_ecdsa_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row390 - global_values.initial_ecdsa_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_addr. - let value = (column8_row16774 - (column8_row390 + 1)) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row16774 - (column8_row390 + 1)) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_addr. - let value = (column8_row33158 - (column8_row16774 + 1)) * domain150 / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row33158 - (column8_row16774 + 1)) * domain150 / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_value0. - let value = (column8_row16775 - column11_row59) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row16775 - column11_row59) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_value0. - let value = (column8_row391 - column11_row1) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row391 - column11_row1) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/init_var_pool_addr. - let value = (column8_row198 - global_values.initial_bitwise_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row198 - global_values.initial_bitwise_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/step_var_pool_addr. - let value = (column8_row454 - (column8_row198 + 1)) * domain19 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row454 - (column8_row198 + 1)) * domain19 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/x_or_y_addr. - let value = (column8_row902 - (column8_row966 + 1)) / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row902 - (column8_row966 + 1)) / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/next_var_pool_addr. - let value = (column8_row1222 - (column8_row902 + 1)) * domain151 / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row1222 - (column8_row902 + 1)) * domain151 / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/partition. - let value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column8_row199) / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column8_row199) / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/or_is_and_plus_xor. - let value = (column8_row903 - (column8_row711 + column8_row967)) / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row903 - (column8_row711 + column8_row967)) / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/addition_is_xor_with_and. - let value = (column1_row0 + column1_row256 - (column1_row768 + column1_row512 + column1_row512)) + value = (column1_row0 + column1_row256 - (column1_row768 + column1_row512 + column1_row512)) / domain21; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking192. - let value = ((column1_row704 + column1_row960) * 16 - column1_row8) / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = ((column1_row704 + column1_row960) * 16 - column1_row8) / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking193. - let value = ((column1_row720 + column1_row976) * 16 - column1_row520) / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = ((column1_row720 + column1_row976) * 16 - column1_row520) / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking194. - let value = ((column1_row736 + column1_row992) * 16 - column1_row264) / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = ((column1_row736 + column1_row992) * 16 - column1_row264) / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking195. - let value = ((column1_row752 + column1_row1008) * 256 - column1_row776) / domain20; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = ((column1_row752 + column1_row1008) * 256 - column1_row776) / domain20; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/init_addr. - let value = (column8_row8582 - global_values.initial_ec_op_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row8582 - global_values.initial_ec_op_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/p_x_addr. - let value = (column8_row24966 - (column8_row8582 + 7)) * domain152 / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row24966 - (column8_row8582 + 7)) * domain152 / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/p_y_addr. - let value = (column8_row4486 - (column8_row8582 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row4486 - (column8_row8582 + 1)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/q_x_addr. - let value = (column8_row12678 - (column8_row4486 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row12678 - (column8_row4486 + 1)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/q_y_addr. - let value = (column8_row2438 - (column8_row12678 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row2438 - (column8_row12678 + 1)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/m_addr. - let value = (column8_row10630 - (column8_row2438 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row10630 - (column8_row2438 + 1)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/r_x_addr. - let value = (column8_row6534 - (column8_row10630 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row6534 - (column8_row10630 + 1)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/r_y_addr. - let value = (column8_row14726 - (column8_row6534 + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row14726 - (column8_row6534 + 1)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/slope. - let value = (ec_op_doubling_q_x_squared_0 - + ec_op_doubling_q_x_squared_0 - + ec_op_doubling_q_x_squared_0 - + global_values.ec_op_curve_config.alpha - - (column11_row25 + column11_row25) * column11_row57) + value = + (ec_op_doubling_q_x_squared_0 + + ec_op_doubling_q_x_squared_0 + + ec_op_doubling_q_x_squared_0 + + global_values.ec_op_curve_config.alpha + - (column11_row25 + column11_row25) * column11_row57) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/x. - let value = (column11_row57 * column11_row57 - - (column11_row41 + column11_row41 + column11_row105)) + value = (column11_row57 * column11_row57 - (column11_row41 + column11_row41 + column11_row105)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/y. - let value = (column11_row25 - + column11_row89 - - column11_row57 * (column11_row41 - column11_row105)) + value = (column11_row25 + column11_row89 - column11_row57 * (column11_row41 - column11_row105)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_q_x. - let value = (column8_row12679 - column11_row41) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row12679 - column11_row41) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_q_y. - let value = (column8_row2439 - column11_row25) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row2439 - column11_row25) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/last_one_is_zero. - let value = (column11_row16371 * (column11_row21 - (column11_row85 + column11_row85))) - / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row16371 * (column11_row21 - (column11_row85 + column11_row85))) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones0. - let value = (column11_row16371 - * (column11_row85 - - 3138550867693340381917894711603833208051177722232017256448 * column11_row12309)) + value = + (column11_row16371 + * (column11_row85 + - 3138550867693340381917894711603833208051177722232017256448 * column11_row12309)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit192. - let value = (column11_row16371 - - column11_row16339 * (column11_row12309 - (column11_row12373 + column11_row12373))) + value = + (column11_row16371 + - column11_row16339 * (column11_row12309 - (column11_row12373 + column11_row12373))) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones192. - let value = (column11_row16339 * (column11_row12373 - 8 * column11_row12565)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row16339 * (column11_row12373 - 8 * column11_row12565)) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit196. - let value = (column11_row16339 - - (column11_row16085 - (column11_row16149 + column11_row16149)) - * (column11_row12565 - (column11_row12629 + column11_row12629))) + value = + (column11_row16339 + - (column11_row16085 - (column11_row16149 + column11_row16149)) + * (column11_row12565 - (column11_row12629 + column11_row12629))) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones196. - let value = ((column11_row16085 - (column11_row16149 + column11_row16149)) - * (column11_row12629 - 18014398509481984 * column11_row16085)) + value = + ((column11_row16085 - (column11_row16149 + column11_row16149)) + * (column11_row12629 - 18014398509481984 * column11_row16085)) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/booleanity_test. - let value = (ec_op_ec_subset_sum_bit_0 * (ec_op_ec_subset_sum_bit_0 - 1)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (ec_op_ec_subset_sum_bit_0 * (ec_op_ec_subset_sum_bit_0 - 1)) * domain27 / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_extraction_end. - let value = (column11_row21) / domain30; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row21) / domain30; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/zeros_tail. - let value = (column11_row21) / domain27; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row21) / domain27; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/slope. - let value = (ec_op_ec_subset_sum_bit_0 * (column11_row37 - column11_row25) - - column11_row11 * (column11_row5 - column11_row41)) + value = + (ec_op_ec_subset_sum_bit_0 * (column11_row37 - column11_row25) + - column11_row11 * (column11_row5 - column11_row41)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/x. - let value = (column11_row11 * column11_row11 - - ec_op_ec_subset_sum_bit_0 * (column11_row5 + column11_row41 + column11_row69)) + value = + (column11_row11 * column11_row11 + - ec_op_ec_subset_sum_bit_0 * (column11_row5 + column11_row41 + column11_row69)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/y. - let value = (ec_op_ec_subset_sum_bit_0 * (column11_row37 + column11_row101) - - column11_row11 * (column11_row5 - column11_row69)) + value = + (ec_op_ec_subset_sum_bit_0 * (column11_row37 + column11_row101) + - column11_row11 * (column11_row5 - column11_row69)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/x_diff_inv. - let value = (column11_row43 * (column11_row5 - column11_row41) - 1) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row43 * (column11_row5 - column11_row41) - 1) * domain27 / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/copy_point/x. - let value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row69 - column11_row5)) - * domain27 - / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row69 - column11_row5)) * domain27 / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/copy_point/y. - let value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row101 - column11_row37)) + value = (ec_op_ec_subset_sum_bit_neg_0 * (column11_row101 - column11_row37)) * domain27 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_m. - let value = (column11_row21 - column8_row10631) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row21 - column8_row10631) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_p_x. - let value = (column8_row8583 - column11_row5) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row8583 - column11_row5) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_p_y. - let value = (column8_row4487 - column11_row37) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row4487 - column11_row37) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/set_r_x. - let value = (column8_row6535 - column11_row16325) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row6535 - column11_row16325) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/set_r_y. - let value = (column8_row14727 - column11_row16357) / domain29; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row14727 - column11_row16357) / domain29; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/init_input_output_addr. - let value = (column8_row1414 - global_values.initial_keccak_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row1414 - global_values.initial_keccak_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/addr_input_output_step. - let value = (column8_row3462 - (column8_row1414 + 1)) * domain153 / domain22; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row3462 - (column8_row1414 + 1)) * domain153 / domain22; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w0. - let value = (column8_row1415 - column7_row0) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row1415 - column7_row0) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w1. - let value = (column8_row3463 - column7_row1) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row3463 - column7_row1) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w2. - let value = (column8_row5511 - column7_row2) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row5511 - column7_row2) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w3. - let value = (column8_row7559 - column7_row3) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row7559 - column7_row3) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w4. - let value = (column8_row9607 - column7_row4) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row9607 - column7_row4) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w5. - let value = (column8_row11655 - column7_row5) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row11655 - column7_row5) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w6. - let value = (column8_row13703 - column7_row6) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row13703 - column7_row6) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate0_w7. - let value = (column8_row15751 - column7_row7) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row15751 - column7_row7) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w0. - let value = (column8_row17799 - column7_row8) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row17799 - column7_row8) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w1. - let value = (column8_row19847 - column7_row9) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row19847 - column7_row9) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w2. - let value = (column8_row21895 - column7_row10) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row21895 - column7_row10) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w3. - let value = (column8_row23943 - column7_row11) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row23943 - column7_row11) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w4. - let value = (column8_row25991 - column7_row12) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row25991 - column7_row12) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w5. - let value = (column8_row28039 - column7_row13) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row28039 - column7_row13) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w6. - let value = (column8_row30087 - column7_row14) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row30087 - column7_row14) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_intermediate1_w7. - let value = (column8_row32135 - column7_row15) / domain33; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row32135 - column7_row15) / domain33; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final0. - let value = (column7_row0 - column7_row16144) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row0 - column7_row16144) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final1. - let value = (column7_row32768 - column7_row16160) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row32768 - column7_row16160) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final2. - let value = (column7_row65536 - column7_row16176) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row65536 - column7_row16176) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final3. - let value = (column7_row98304 - column7_row16192) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row98304 - column7_row16192) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final4. - let value = (column7_row131072 - column7_row16208) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row131072 - column7_row16208) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final5. - let value = (column7_row163840 - column7_row16224) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row163840 - column7_row16224) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final6. - let value = (column7_row196608 - column7_row16240) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row196608 - column7_row16240) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final7. - let value = (column7_row229376 - column7_row16256) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row229376 - column7_row16256) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final8. - let value = (column7_row262144 - column7_row16272) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row262144 - column7_row16272) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final9. - let value = (column7_row294912 - column7_row16288) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row294912 - column7_row16288) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final10. - let value = (column7_row327680 - column7_row16304) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row327680 - column7_row16304) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final11. - let value = (column7_row360448 - column7_row16320) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row360448 - column7_row16320) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final12. - let value = (column7_row393216 - column7_row16336) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row393216 - column7_row16336) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final13. - let value = (column7_row425984 - column7_row16352) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row425984 - column7_row16352) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final14. - let value = (column7_row458752 - column7_row16368) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row458752 - column7_row16368) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/reshape_final15. - let value = (column7_row491520 - column7_row16384) / domain36; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column7_row491520 - column7_row16384) / domain36; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/start_accumulation. - let value = (column10_row6403) / domain40; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row6403) / domain40; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation0. - let value = (column7_row16144 - keccak_keccak_parse_to_diluted_sum_words_over_instances0_0) + value = (column7_row16144 - keccak_keccak_parse_to_diluted_sum_words_over_instances0_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations0. - let value = (column7_row16160 - + keccak_keccak_parse_to_diluted_sum_words_over_instances0_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances0_2) + value = + (column7_row16160 + + keccak_keccak_parse_to_diluted_sum_words_over_instances0_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances0_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation1. - let value = (column7_row16145 - keccak_keccak_parse_to_diluted_sum_words_over_instances1_0) + value = (column7_row16145 - keccak_keccak_parse_to_diluted_sum_words_over_instances1_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations1. - let value = (column7_row16161 - + keccak_keccak_parse_to_diluted_sum_words_over_instances1_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances1_2) + value = + (column7_row16161 + + keccak_keccak_parse_to_diluted_sum_words_over_instances1_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances1_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation2. - let value = (column7_row16146 - keccak_keccak_parse_to_diluted_sum_words_over_instances2_0) + value = (column7_row16146 - keccak_keccak_parse_to_diluted_sum_words_over_instances2_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations2. - let value = (column7_row16162 - + keccak_keccak_parse_to_diluted_sum_words_over_instances2_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances2_2) + value = + (column7_row16162 + + keccak_keccak_parse_to_diluted_sum_words_over_instances2_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances2_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation3. - let value = (column7_row16147 - keccak_keccak_parse_to_diluted_sum_words_over_instances3_0) + value = (column7_row16147 - keccak_keccak_parse_to_diluted_sum_words_over_instances3_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations3. - let value = (column7_row16163 - + keccak_keccak_parse_to_diluted_sum_words_over_instances3_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances3_2) + value = + (column7_row16163 + + keccak_keccak_parse_to_diluted_sum_words_over_instances3_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances3_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation4. - let value = (column7_row16148 - keccak_keccak_parse_to_diluted_sum_words_over_instances4_0) + value = (column7_row16148 - keccak_keccak_parse_to_diluted_sum_words_over_instances4_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations4. - let value = (column7_row16164 - + keccak_keccak_parse_to_diluted_sum_words_over_instances4_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances4_2) + value = + (column7_row16164 + + keccak_keccak_parse_to_diluted_sum_words_over_instances4_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances4_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation5. - let value = (column7_row16149 - keccak_keccak_parse_to_diluted_sum_words_over_instances5_0) + value = (column7_row16149 - keccak_keccak_parse_to_diluted_sum_words_over_instances5_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations5. - let value = (column7_row16165 - + keccak_keccak_parse_to_diluted_sum_words_over_instances5_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances5_2) + value = + (column7_row16165 + + keccak_keccak_parse_to_diluted_sum_words_over_instances5_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances5_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation6. - let value = (column7_row16150 - keccak_keccak_parse_to_diluted_sum_words_over_instances6_0) + value = (column7_row16150 - keccak_keccak_parse_to_diluted_sum_words_over_instances6_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations6. - let value = (column7_row16166 - + keccak_keccak_parse_to_diluted_sum_words_over_instances6_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances6_2) + value = + (column7_row16166 + + keccak_keccak_parse_to_diluted_sum_words_over_instances6_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances6_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_first_invocation7. - let value = (column7_row16151 - keccak_keccak_parse_to_diluted_sum_words_over_instances7_0) + value = (column7_row16151 - keccak_keccak_parse_to_diluted_sum_words_over_instances7_0) / domain35; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/init_other_invocations7. - let value = (column7_row16167 - + keccak_keccak_parse_to_diluted_sum_words_over_instances7_0 * 16 - - keccak_keccak_parse_to_diluted_sum_words_over_instances7_2) + value = + (column7_row16167 + + keccak_keccak_parse_to_diluted_sum_words_over_instances7_0 * 16 + - keccak_keccak_parse_to_diluted_sum_words_over_instances7_2) / domain39; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation1. - let value = (keccak_keccak_parse_to_diluted_partial_diluted1_0 - * keccak_keccak_parse_to_diluted_partial_diluted1_0 - - keccak_keccak_parse_to_diluted_partial_diluted1_0) + value = + (keccak_keccak_parse_to_diluted_partial_diluted1_0 + * keccak_keccak_parse_to_diluted_partial_diluted1_0 + - keccak_keccak_parse_to_diluted_partial_diluted1_0) / domain43; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations1. - let value = (keccak_keccak_parse_to_diluted_bit_other1_0 - * keccak_keccak_parse_to_diluted_bit_other1_0 - - keccak_keccak_parse_to_diluted_bit_other1_0) + value = + (keccak_keccak_parse_to_diluted_bit_other1_0 * keccak_keccak_parse_to_diluted_bit_other1_0 + - keccak_keccak_parse_to_diluted_bit_other1_0) / domain44; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p1. - let value = (keccak_keccak_parse_to_diluted_partial_diluted1_30 - column1_row516100) / domain45; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (keccak_keccak_parse_to_diluted_partial_diluted1_30 - column1_row516100) / domain45; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p1. - let value = (keccak_keccak_parse_to_diluted_partial_diluted1_31 - column1_row516292) / domain45; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (keccak_keccak_parse_to_diluted_partial_diluted1_31 - column1_row516292) / domain45; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_first_invocation0. - let value = (keccak_keccak_parse_to_diluted_partial_diluted0_0 - * keccak_keccak_parse_to_diluted_partial_diluted0_0 - - keccak_keccak_parse_to_diluted_partial_diluted0_0) + value = + (keccak_keccak_parse_to_diluted_partial_diluted0_0 + * keccak_keccak_parse_to_diluted_partial_diluted0_0 + - keccak_keccak_parse_to_diluted_partial_diluted0_0) * domain49 / domain11; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/extract_bit_other_invocations0. - let value = (keccak_keccak_parse_to_diluted_bit_other0_0 - * keccak_keccak_parse_to_diluted_bit_other0_0 - - keccak_keccak_parse_to_diluted_bit_other0_0) + value = + (keccak_keccak_parse_to_diluted_bit_other0_0 * keccak_keccak_parse_to_diluted_bit_other0_0 + - keccak_keccak_parse_to_diluted_bit_other0_0) * domain52 / domain3; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted0_p0. - let value = (keccak_keccak_parse_to_diluted_partial_diluted0_30 - column1_row4) + value = (keccak_keccak_parse_to_diluted_partial_diluted0_30 - column1_row4) * domain53 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parse_to_diluted/to_diluted1_p0. - let value = (keccak_keccak_parse_to_diluted_partial_diluted0_31 - column1_row196) + value = (keccak_keccak_parse_to_diluted_partial_diluted0_31 - column1_row196) * domain53 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity0. - let value = (column1_row4 - + column1_row1284 - + column1_row2564 - + column1_row3844 - + column1_row5124 - - (column1_row6404 + column1_row6598 + column1_row6598 + column1_row6978 * 4)) + value = + (column1_row4 + + column1_row1284 + + column1_row2564 + + column1_row3844 + + column1_row5124 + - (column1_row6404 + column1_row6598 + column1_row6598 + column1_row6978 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity1. - let value = (column1_row260 - + column1_row1540 - + column1_row2820 - + column1_row4100 - + column1_row5380 - - (column1_row6402 + column1_row6788 + column1_row6788 + column1_row6982 * 4)) + value = + (column1_row260 + + column1_row1540 + + column1_row2820 + + column1_row4100 + + column1_row5380 + - (column1_row6402 + column1_row6788 + column1_row6788 + column1_row6982 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity2. - let value = (column1_row516 - + column1_row1796 - + column1_row3076 - + column1_row4356 - + column1_row5636 - - (column1_row6406 + column1_row6786 + column1_row6786 + column1_row7172 * 4)) + value = + (column1_row516 + + column1_row1796 + + column1_row3076 + + column1_row4356 + + column1_row5636 + - (column1_row6406 + column1_row6786 + column1_row6786 + column1_row7172 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity3. - let value = (column1_row772 - + column1_row2052 - + column1_row3332 - + column1_row4612 - + column1_row5892 - - (column1_row6596 + column1_row6790 + column1_row6790 + column1_row7170 * 4)) + value = + (column1_row772 + + column1_row2052 + + column1_row3332 + + column1_row4612 + + column1_row5892 + - (column1_row6596 + column1_row6790 + column1_row6790 + column1_row7170 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/parity4. - let value = (column1_row1028 - + column1_row2308 - + column1_row3588 - + column1_row4868 - + column1_row6148 - - (column1_row6594 + column1_row6980 + column1_row6980 + column1_row7174 * 4)) + value = + (column1_row1028 + + column1_row2308 + + column1_row3588 + + column1_row4868 + + column1_row6148 + - (column1_row6594 + column1_row6980 + column1_row6980 + column1_row7174 * 4)) / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity0/n0. - let value = (column10_row7 - column1_row522500) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row7 - column1_row522500) / domain38; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity0/n1. - let value = (column10_row8199 - column1_row6404) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row8199 - column1_row6404) * domain55 / domain24; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity1/n0. - let value = (column10_row8003 - column1_row522498) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row8003 - column1_row522498) / domain38; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity1/n1. - let value = (column10_row16195 - column1_row6402) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row16195 - column1_row6402) * domain55 / domain24; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity2/n0. - let value = (column10_row4103 - column1_row522502) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row4103 - column1_row522502) / domain38; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity2/n1. - let value = (column10_row12295 - column1_row6406) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row12295 - column1_row6406) * domain55 / domain24; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity3/n0. - let value = (column10_row7811 - column1_row522692) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row7811 - column1_row522692) / domain38; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity3/n1. - let value = (column10_row16003 - column1_row6596) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row16003 - column1_row6596) * domain55 / domain24; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity4/n0. - let value = (column10_row2055 - column1_row522690) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row2055 - column1_row522690) / domain38; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/rotate_parity4/n1. - let value = (column10_row10247 - column1_row6594) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row10247 - column1_row6594) * domain55 / domain24; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j0. - let value = (keccak_keccak_sum_parities0_0 - + column1_row4 - - (column1_row1 + column1_row7364 + column1_row7364)) + value = + (keccak_keccak_sum_parities0_0 + + column1_row4 + - (column1_row1 + column1_row7364 + column1_row7364)) / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n0. - let value = (keccak_keccak_sum_parities1_0 - + column1_row260 - - (column1_row10753 + column1_row15942 + column1_row15942)) + value = + (keccak_keccak_sum_parities1_0 + + column1_row260 + - (column1_row10753 + column1_row15942 + column1_row15942)) * domain55 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j1/n1. - let value = (keccak_keccak_sum_parities1_64512 - + column1_row516356 - - (column1_row2561 + column1_row7750 + column1_row7750)) + value = + (keccak_keccak_sum_parities1_64512 + + column1_row516356 + - (column1_row2561 + column1_row7750 + column1_row7750)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n0. - let value = (keccak_keccak_sum_parities2_0 - + column1_row516 - - (column1_row513025 + column1_row515841 + column1_row515841)) + value = + (keccak_keccak_sum_parities2_0 + + column1_row516 + - (column1_row513025 + column1_row515841 + column1_row515841)) / domain57; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j2/n1. - let value = (keccak_keccak_sum_parities2_2048 - + column1_row16900 - - (column1_row5121 + column1_row7937 + column1_row7937)) + value = + (keccak_keccak_sum_parities2_2048 + + column1_row16900 + - (column1_row5121 + column1_row7937 + column1_row7937)) * domain59 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n0. - let value = (keccak_keccak_sum_parities3_0 - + column1_row772 - - (column1_row230657 + column1_row236930 + column1_row236930)) + value = + (keccak_keccak_sum_parities3_0 + + column1_row772 + - (column1_row230657 + column1_row236930 + column1_row236930)) * domain85 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j3/n1. - let value = (keccak_keccak_sum_parities3_36864 - + column1_row295684 - - (column1_row1281 + column1_row7554 + column1_row7554)) + value = + (keccak_keccak_sum_parities3_36864 + + column1_row295684 + - (column1_row1281 + column1_row7554 + column1_row7554)) / domain117; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n0. - let value = (keccak_keccak_sum_parities4_0 - + column1_row1028 - - (column1_row225025 + column1_row228161 + column1_row228161)) + value = + (keccak_keccak_sum_parities4_0 + + column1_row1028 + - (column1_row225025 + column1_row228161 + column1_row228161)) * domain84 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i0_j4/n1. - let value = (keccak_keccak_sum_parities4_37888 - + column1_row304132 - - (column1_row3841 + column1_row6977 + column1_row6977)) + value = + (keccak_keccak_sum_parities4_37888 + + column1_row304132 + - (column1_row3841 + column1_row6977 + column1_row6977)) / domain116; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n0. - let value = (keccak_keccak_sum_parities0_0 - + column1_row1284 - - (column1_row299009 + column1_row302081 + column1_row302081)) + value = + (keccak_keccak_sum_parities0_0 + + column1_row1284 + - (column1_row299009 + column1_row302081 + column1_row302081)) / domain117; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j0/n1. - let value = (keccak_keccak_sum_parities0_28672 - + column1_row230660 - - (column1_row4097 + column1_row7169 + column1_row7169)) + value = + (keccak_keccak_sum_parities0_28672 + + column1_row230660 + - (column1_row4097 + column1_row7169 + column1_row7169)) * domain85 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n0. - let value = (keccak_keccak_sum_parities1_0 - + column1_row1540 - - (column1_row360705 + column1_row367810 + column1_row367810)) + value = + (keccak_keccak_sum_parities1_0 + + column1_row1540 + - (column1_row360705 + column1_row367810 + column1_row367810)) / domain110; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j1/n1. - let value = (keccak_keccak_sum_parities1_20480 - + column1_row165380 - - (column1_row257 + column1_row7362 + column1_row7362)) + value = + (keccak_keccak_sum_parities1_20480 + + column1_row165380 + - (column1_row257 + column1_row7362 + column1_row7362)) * domain78 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n0. - let value = (keccak_keccak_sum_parities2_0 - + column1_row1796 - - (column1_row51969 + column1_row55937 + column1_row55937)) + value = + (keccak_keccak_sum_parities2_0 + + column1_row1796 + - (column1_row51969 + column1_row55937 + column1_row55937)) * domain63 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j2/n1. - let value = (keccak_keccak_sum_parities2_59392 - + column1_row476932 - - (column1_row2817 + column1_row6785 + column1_row6785)) + value = + (keccak_keccak_sum_parities2_59392 + + column1_row476932 + - (column1_row2817 + column1_row6785 + column1_row6785)) / domain91; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n0. - let value = (keccak_keccak_sum_parities3_0 - + column1_row2052 - - (column1_row455937 + column1_row450753 + column1_row450753)) + value = + (keccak_keccak_sum_parities3_0 + + column1_row2052 + - (column1_row455937 + column1_row450753 + column1_row450753)) / domain120; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n1. - let value = (keccak_keccak_sum_parities3_8 - + column1_row2116 - - (column1_row456001 + column1_row451009 + column1_row451009)) + value = + (keccak_keccak_sum_parities3_8 + + column1_row2116 + - (column1_row456001 + column1_row451009 + column1_row451009)) / domain120; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n2. - let value = (keccak_keccak_sum_parities3_16 - + column1_row2180 - - (column1_row456065 + column1_row451265 + column1_row451265)) + value = + (keccak_keccak_sum_parities3_16 + + column1_row2180 + - (column1_row456065 + column1_row451265 + column1_row451265)) / domain120; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n3. - let value = (keccak_keccak_sum_parities3_9216 - + column1_row75780 - - (column1_row5377 + column1_row193 + column1_row193)) + value = + (keccak_keccak_sum_parities3_9216 + + column1_row75780 + - (column1_row5377 + column1_row193 + column1_row193)) * domain123 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n4. - let value = (keccak_keccak_sum_parities3_9224 - + column1_row75844 - - (column1_row5441 + column1_row449 + column1_row449)) + value = + (keccak_keccak_sum_parities3_9224 + + column1_row75844 + - (column1_row5441 + column1_row449 + column1_row449)) * domain123 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j3/n5. - let value = (keccak_keccak_sum_parities3_9232 - + column1_row75908 - - (column1_row5505 + column1_row705 + column1_row705)) + value = + (keccak_keccak_sum_parities3_9232 + + column1_row75908 + - (column1_row5505 + column1_row705 + column1_row705)) * domain123 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n0. - let value = (keccak_keccak_sum_parities4_0 - + column1_row2308 - - (column1_row165377 + column1_row171398 + column1_row171398)) + value = + (keccak_keccak_sum_parities4_0 + + column1_row2308 + - (column1_row165377 + column1_row171398 + column1_row171398)) * domain78 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i1_j4/n1. - let value = (keccak_keccak_sum_parities4_45056 - + column1_row362756 - - (column1_row1537 + column1_row7558 + column1_row7558)) + value = + (keccak_keccak_sum_parities4_45056 + + column1_row362756 + - (column1_row1537 + column1_row7558 + column1_row7558)) / domain110; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n0. - let value = (keccak_keccak_sum_parities0_0 - + column1_row2564 - - (column1_row26369 + column1_row31169 + column1_row31169)) + value = + (keccak_keccak_sum_parities0_0 + + column1_row2564 + - (column1_row26369 + column1_row31169 + column1_row31169)) * domain124 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j0/n1. - let value = (keccak_keccak_sum_parities0_62464 - + column1_row502276 - - (column1_row1793 + column1_row6593 + column1_row6593)) + value = + (keccak_keccak_sum_parities0_62464 + + column1_row502276 + - (column1_row1793 + column1_row6593 + column1_row6593)) / domain125; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n0. - let value = (keccak_keccak_sum_parities1_0 - + column1_row2820 - - (column1_row86273 + column1_row89281 + column1_row89281)) + value = + (keccak_keccak_sum_parities1_0 + + column1_row2820 + - (column1_row86273 + column1_row89281 + column1_row89281)) * domain68 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j1/n1. - let value = (keccak_keccak_sum_parities1_55296 - + column1_row445188 - - (column1_row4353 + column1_row7361 + column1_row7361)) + value = + (keccak_keccak_sum_parities1_55296 + + column1_row445188 + - (column1_row4353 + column1_row7361 + column1_row7361)) / domain98; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n0. - let value = (keccak_keccak_sum_parities2_0 - + column1_row3076 - - (column1_row352769 + column1_row359622 + column1_row359622)) + value = + (keccak_keccak_sum_parities2_0 + + column1_row3076 + - (column1_row352769 + column1_row359622 + column1_row359622)) / domain112; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j2/n1. - let value = (keccak_keccak_sum_parities2_21504 - + column1_row175108 - - (column1_row513 + column1_row7366 + column1_row7366)) + value = + (keccak_keccak_sum_parities2_21504 + + column1_row175108 + - (column1_row513 + column1_row7366 + column1_row7366)) * domain80 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n0. - let value = (keccak_keccak_sum_parities3_0 - + column1_row3332 - - (column1_row207873 + column1_row212740 + column1_row212740)) + value = + (keccak_keccak_sum_parities3_0 + + column1_row3332 + - (column1_row207873 + column1_row212740 + column1_row212740)) * domain83 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j3/n1. - let value = (keccak_keccak_sum_parities3_39936 - + column1_row322820 - - (column1_row3073 + column1_row7940 + column1_row7940)) + value = + (keccak_keccak_sum_parities3_39936 + + column1_row322820 + - (column1_row3073 + column1_row7940 + column1_row7940)) / domain115; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n0. - let value = (keccak_keccak_sum_parities4_0 - + column1_row3588 - - (column1_row325121 + column1_row320449 + column1_row320449)) + value = + (keccak_keccak_sum_parities4_0 + + column1_row3588 + - (column1_row325121 + column1_row320449 + column1_row320449)) / domain127; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n1. - let value = (keccak_keccak_sum_parities4_8 - + column1_row3652 - - (column1_row325185 + column1_row320705 + column1_row320705)) + value = + (keccak_keccak_sum_parities4_8 + + column1_row3652 + - (column1_row325185 + column1_row320705 + column1_row320705)) / domain127; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n2. - let value = (keccak_keccak_sum_parities4_16 - + column1_row3716 - - (column1_row325249 + column1_row320961 + column1_row320961)) + value = + (keccak_keccak_sum_parities4_16 + + column1_row3716 + - (column1_row325249 + column1_row320961 + column1_row320961)) / domain127; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n3. - let value = (keccak_keccak_sum_parities4_25600 - + column1_row208388 - - (column1_row5633 + column1_row961 + column1_row961)) + value = + (keccak_keccak_sum_parities4_25600 + + column1_row208388 + - (column1_row5633 + column1_row961 + column1_row961)) * domain129 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n4. - let value = (keccak_keccak_sum_parities4_25608 - + column1_row208452 - - (column1_row5697 + column1_row1217 + column1_row1217)) + value = + (keccak_keccak_sum_parities4_25608 + + column1_row208452 + - (column1_row5697 + column1_row1217 + column1_row1217)) * domain129 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i2_j4/n5. - let value = (keccak_keccak_sum_parities4_25616 - + column1_row208516 - - (column1_row5761 + column1_row1473 + column1_row1473)) + value = + (keccak_keccak_sum_parities4_25616 + + column1_row208516 + - (column1_row5761 + column1_row1473 + column1_row1473)) * domain129 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n0. - let value = (keccak_keccak_sum_parities0_0 - + column1_row3844 - - (column1_row341761 + column1_row337601 + column1_row337601)) + value = + (keccak_keccak_sum_parities0_0 + + column1_row3844 + - (column1_row341761 + column1_row337601 + column1_row337601)) / domain130; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n1. - let value = (keccak_keccak_sum_parities0_8 - + column1_row3908 - - (column1_row341825 + column1_row337857 + column1_row337857)) + value = + (keccak_keccak_sum_parities0_8 + + column1_row3908 + - (column1_row341825 + column1_row337857 + column1_row337857)) / domain130; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n2. - let value = (keccak_keccak_sum_parities0_16 - + column1_row3972 - - (column1_row341889 + column1_row338113 + column1_row338113)) + value = + (keccak_keccak_sum_parities0_16 + + column1_row3972 + - (column1_row341889 + column1_row338113 + column1_row338113)) / domain130; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n3. - let value = (keccak_keccak_sum_parities0_23552 - + column1_row192260 - - (column1_row5889 + column1_row1729 + column1_row1729)) + value = + (keccak_keccak_sum_parities0_23552 + + column1_row192260 + - (column1_row5889 + column1_row1729 + column1_row1729)) * domain131 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n4. - let value = (keccak_keccak_sum_parities0_23560 - + column1_row192324 - - (column1_row5953 + column1_row1985 + column1_row1985)) + value = + (keccak_keccak_sum_parities0_23560 + + column1_row192324 + - (column1_row5953 + column1_row1985 + column1_row1985)) * domain131 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j0/n5. - let value = (keccak_keccak_sum_parities0_23568 - + column1_row192388 - - (column1_row6017 + column1_row2241 + column1_row2241)) + value = + (keccak_keccak_sum_parities0_23568 + + column1_row192388 + - (column1_row6017 + column1_row2241 + column1_row2241)) * domain131 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n0. - let value = (keccak_keccak_sum_parities1_0 - + column1_row4100 - - (column1_row370689 + column1_row376388 + column1_row376388)) + value = + (keccak_keccak_sum_parities1_0 + + column1_row4100 + - (column1_row370689 + column1_row376388 + column1_row376388)) / domain132; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j1/n1. - let value = (keccak_keccak_sum_parities1_19456 - + column1_row159748 - - (column1_row2049 + column1_row7748 + column1_row7748)) + value = + (keccak_keccak_sum_parities1_19456 + + column1_row159748 + - (column1_row2049 + column1_row7748 + column1_row7748)) * domain133 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n0. - let value = (keccak_keccak_sum_parities2_0 - + column1_row4356 - - (column1_row127489 + column1_row130433 + column1_row130433)) + value = + (keccak_keccak_sum_parities2_0 + + column1_row4356 + - (column1_row127489 + column1_row130433 + column1_row130433)) * domain134 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j2/n1. - let value = (keccak_keccak_sum_parities2_50176 - + column1_row405764 - - (column1_row4609 + column1_row7553 + column1_row7553)) + value = + (keccak_keccak_sum_parities2_50176 + + column1_row405764 + - (column1_row4609 + column1_row7553 + column1_row7553)) / domain135; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n0. - let value = (keccak_keccak_sum_parities3_0 - + column1_row4612 - - (column1_row172801 + column1_row178433 + column1_row178433)) + value = + (keccak_keccak_sum_parities3_0 + + column1_row4612 + - (column1_row172801 + column1_row178433 + column1_row178433)) * domain80 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j3/n1. - let value = (keccak_keccak_sum_parities3_44032 - + column1_row356868 - - (column1_row769 + column1_row6401 + column1_row6401)) + value = + (keccak_keccak_sum_parities3_44032 + + column1_row356868 + - (column1_row769 + column1_row6401 + column1_row6401)) / domain112; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n0. - let value = (keccak_keccak_sum_parities4_0 - + column1_row4868 - - (column1_row68865 + column1_row73474 + column1_row73474)) + value = + (keccak_keccak_sum_parities4_0 + + column1_row4868 + - (column1_row68865 + column1_row73474 + column1_row73474)) * domain136 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i3_j4/n1. - let value = (keccak_keccak_sum_parities4_57344 - + column1_row463620 - - (column1_row3329 + column1_row7938 + column1_row7938)) + value = + (keccak_keccak_sum_parities4_57344 + + column1_row463620 + - (column1_row3329 + column1_row7938 + column1_row7938)) / domain137; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n0. - let value = (keccak_keccak_sum_parities0_0 - + column1_row5124 - - (column1_row151041 + column1_row155398 + column1_row155398)) + value = + (keccak_keccak_sum_parities0_0 + + column1_row5124 + - (column1_row151041 + column1_row155398 + column1_row155398)) * domain138 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j0/n1. - let value = (keccak_keccak_sum_parities0_47104 - + column1_row381956 - - (column1_row3585 + column1_row7942 + column1_row7942)) + value = + (keccak_keccak_sum_parities0_47104 + + column1_row381956 + - (column1_row3585 + column1_row7942 + column1_row7942)) / domain139; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n0. - let value = (keccak_keccak_sum_parities1_0 - + column1_row5380 - - (column1_row22529 + column1_row18881 + column1_row18881)) + value = + (keccak_keccak_sum_parities1_0 + + column1_row5380 + - (column1_row22529 + column1_row18881 + column1_row18881)) * domain121 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n1. - let value = (keccak_keccak_sum_parities1_8 - + column1_row5444 - - (column1_row22593 + column1_row19137 + column1_row19137)) + value = + (keccak_keccak_sum_parities1_8 + + column1_row5444 + - (column1_row22593 + column1_row19137 + column1_row19137)) * domain121 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n2. - let value = (keccak_keccak_sum_parities1_16 - + column1_row5508 - - (column1_row22657 + column1_row19393 + column1_row19393)) + value = + (keccak_keccak_sum_parities1_16 + + column1_row5508 + - (column1_row22657 + column1_row19393 + column1_row19393)) * domain121 / domain23; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n3. - let value = (keccak_keccak_sum_parities1_63488 - + column1_row513284 - - (column1_row6145 + column1_row2497 + column1_row2497)) + value = + (keccak_keccak_sum_parities1_63488 + + column1_row513284 + - (column1_row6145 + column1_row2497 + column1_row2497)) / domain118; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n4. - let value = (keccak_keccak_sum_parities1_63496 - + column1_row513348 - - (column1_row6209 + column1_row2753 + column1_row2753)) + value = + (keccak_keccak_sum_parities1_63496 + + column1_row513348 + - (column1_row6209 + column1_row2753 + column1_row2753)) / domain118; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j1/n5. - let value = (keccak_keccak_sum_parities1_63504 - + column1_row513412 - - (column1_row6273 + column1_row3009 + column1_row3009)) + value = + (keccak_keccak_sum_parities1_63504 + + column1_row513412 + - (column1_row6273 + column1_row3009 + column1_row3009)) / domain118; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n0. - let value = (keccak_keccak_sum_parities2_0 - + column1_row5636 - - (column1_row502017 + column1_row507458 + column1_row507458)) + value = + (keccak_keccak_sum_parities2_0 + + column1_row5636 + - (column1_row502017 + column1_row507458 + column1_row507458)) / domain125; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j2/n1. - let value = (keccak_keccak_sum_parities2_3072 - + column1_row30212 - - (column1_row2305 + column1_row7746 + column1_row7746)) + value = + (keccak_keccak_sum_parities2_3072 + + column1_row30212 + - (column1_row2305 + column1_row7746 + column1_row7746)) * domain124 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n0. - let value = (keccak_keccak_sum_parities3_0 - + column1_row5892 - - (column1_row463617 + column1_row466497 + column1_row466497)) + value = + (keccak_keccak_sum_parities3_0 + + column1_row5892 + - (column1_row463617 + column1_row466497 + column1_row466497)) / domain137; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j3/n1. - let value = (keccak_keccak_sum_parities3_8192 - + column1_row71428 - - (column1_row4865 + column1_row7745 + column1_row7745)) + value = + (keccak_keccak_sum_parities3_8192 + + column1_row71428 + - (column1_row4865 + column1_row7745 + column1_row7745)) * domain136 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n0. - let value = (keccak_keccak_sum_parities4_0 - + column1_row6148 - - (column1_row115713 + column1_row122244 + column1_row122244)) + value = + (keccak_keccak_sum_parities4_0 + + column1_row6148 + - (column1_row115713 + column1_row122244 + column1_row122244)) * domain140 / domain24; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/theta_rho_pi_i4_j4/n1. - let value = (keccak_keccak_sum_parities4_51200 - + column1_row415748 - - (column1_row1025 + column1_row7556 + column1_row7556)) + value = + (keccak_keccak_sum_parities4_51200 + + column1_row415748 + - (column1_row1025 + column1_row7556 + column1_row7556)) / domain141; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota0. - let value = (global_values.keccak_keccak_keccak_round_key0 - + column1_row1 - + column1_row1 - + keccak_keccak_after_theta_rho_pi_xor_one_32 - + column1_row513 - - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key0 + + column1_row1 + + column1_row1 + + keccak_keccak_after_theta_rho_pi_xor_one_32 + + column1_row513 + - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota1. - let value = (global_values.keccak_keccak_keccak_round_key1 - + column1_row8193 - + column1_row8193 - + keccak_keccak_after_theta_rho_pi_xor_one_1056 - + column1_row8705 - - (column1_row8194 + column1_row8204 + column1_row8204 + column1_row8198 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key1 + + column1_row8193 + + column1_row8193 + + keccak_keccak_after_theta_rho_pi_xor_one_1056 + + column1_row8705 + - (column1_row8194 + column1_row8204 + column1_row8204 + column1_row8198 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota3. - let value = (global_values.keccak_keccak_keccak_round_key3 - + column1_row24577 - + column1_row24577 - + keccak_keccak_after_theta_rho_pi_xor_one_3104 - + column1_row25089 - - (column1_row24578 + column1_row24588 + column1_row24588 + column1_row24582 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key3 + + column1_row24577 + + column1_row24577 + + keccak_keccak_after_theta_rho_pi_xor_one_3104 + + column1_row25089 + - (column1_row24578 + column1_row24588 + column1_row24588 + column1_row24582 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota7. - let value = (global_values.keccak_keccak_keccak_round_key7 - + column1_row57345 - + column1_row57345 - + keccak_keccak_after_theta_rho_pi_xor_one_7200 - + column1_row57857 - - (column1_row57346 + column1_row57356 + column1_row57356 + column1_row57350 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key7 + + column1_row57345 + + column1_row57345 + + keccak_keccak_after_theta_rho_pi_xor_one_7200 + + column1_row57857 + - (column1_row57346 + column1_row57356 + column1_row57356 + column1_row57350 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota15. - let value = (global_values.keccak_keccak_keccak_round_key15 - + column1_row122881 - + column1_row122881 - + keccak_keccak_after_theta_rho_pi_xor_one_15392 - + column1_row123393 - - (column1_row122882 + column1_row122892 + column1_row122892 + column1_row122886 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key15 + + column1_row122881 + + column1_row122881 + + keccak_keccak_after_theta_rho_pi_xor_one_15392 + + column1_row123393 + - (column1_row122882 + column1_row122892 + column1_row122892 + column1_row122886 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota31. - let value = (global_values.keccak_keccak_keccak_round_key31 - + column1_row253953 - + column1_row253953 - + keccak_keccak_after_theta_rho_pi_xor_one_31776 - + column1_row254465 - - (column1_row253954 + column1_row253964 + column1_row253964 + column1_row253958 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key31 + + column1_row253953 + + column1_row253953 + + keccak_keccak_after_theta_rho_pi_xor_one_31776 + + column1_row254465 + - (column1_row253954 + column1_row253964 + column1_row253964 + column1_row253958 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi_iota63. - let value = (global_values.keccak_keccak_keccak_round_key63 - + column1_row516097 - + column1_row516097 - + keccak_keccak_after_theta_rho_pi_xor_one_64544 - + column1_row516609 - - (column1_row516098 + column1_row516108 + column1_row516108 + column1_row516102 * 4)) + value = + (global_values.keccak_keccak_keccak_round_key63 + + column1_row516097 + + column1_row516097 + + keccak_keccak_after_theta_rho_pi_xor_one_64544 + + column1_row516609 + - (column1_row516098 + column1_row516108 + column1_row516108 + column1_row516102 * 4)) / domain38; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi0. - let value = (column1_row1 - + column1_row1 - + keccak_keccak_after_theta_rho_pi_xor_one_32 - + column1_row513 - - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) + value = + (column1_row1 + + column1_row1 + + keccak_keccak_after_theta_rho_pi_xor_one_32 + + column1_row513 + - (column1_row2 + column1_row12 + column1_row12 + column1_row6 * 4)) * domain142 / domain26; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi1. - let value = (column1_row1025 - + column1_row1025 - + keccak_keccak_after_theta_rho_pi_xor_one_0 - + column1_row257 - - (column1_row1026 + column1_row1036 + column1_row1036 + column1_row1030 * 4)) + value = + (column1_row1025 + + column1_row1025 + + keccak_keccak_after_theta_rho_pi_xor_one_0 + + column1_row257 + - (column1_row1026 + column1_row1036 + column1_row1036 + column1_row1030 * 4)) / domain25; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: keccak/keccak/chi2. - let value = (column1_row769 - + column1_row769 - + keccak_keccak_after_theta_rho_pi_xor_one_128 - + column1_row1 - - (column1_row770 + column1_row780 + column1_row780 + column1_row774 * 4)) + value = + (column1_row769 + + column1_row769 + + keccak_keccak_after_theta_rho_pi_xor_one_128 + + column1_row1 + - (column1_row770 + column1_row780 + column1_row780 + column1_row774 * 4)) / domain25; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/init_input_output_addr. - let value = (column8_row38 - global_values.initial_poseidon_addr) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row38 - global_values.initial_poseidon_addr) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/addr_input_output_step. - let value = (column8_row294 - (column8_row38 + 3)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row294 - (column8_row38 + 3)) * domain149 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/init_input_output_addr. - let value = (column8_row166 - (global_values.initial_poseidon_addr + 1)) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row166 - (global_values.initial_poseidon_addr + 1)) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/addr_input_output_step. - let value = (column8_row422 - (column8_row166 + 3)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row422 - (column8_row166 + 3)) * domain149 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/init_input_output_addr. - let value = (column8_row102 - (global_values.initial_poseidon_addr + 2)) / domain144; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row102 - (global_values.initial_poseidon_addr + 2)) / domain144; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/addr_input_output_step. - let value = (column8_row358 - (column8_row102 + 3)) * domain149 / domain8; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column8_row358 - (column8_row102 + 3)) * domain149 / domain8; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state0_squaring. - let value = (column11_row53 * column11_row53 - column11_row29) / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row53 * column11_row53 - column11_row29) / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state1_squaring. - let value = (column11_row13 * column11_row13 - column11_row61) / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row13 * column11_row13 - column11_row61) / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state2_squaring. - let value = (column11_row45 * column11_row45 - column11_row3) / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row45 * column11_row45 - column11_row3) / domain6; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. - let value = (column10_row1 * column10_row1 - column10_row5) / domain3; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row1 * column10_row1 - column10_row5) / domain3; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. - let value = (column11_row6 * column11_row6 - column11_row14) * domain16 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column11_row6 * column11_row6 - column11_row14) * domain16 / domain5; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key0. - let value = (column8_row39 - + 2950795762459345168613727575620414179244544320470208355568817838579231751791 - - column11_row53) + value = + (column8_row39 + + 2950795762459345168613727575620414179244544320470208355568817838579231751791 + - column11_row53) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key1. - let value = (column8_row167 - + 1587446564224215276866294500450702039420286416111469274423465069420553242820 - - column11_row13) + value = + (column8_row167 + + 1587446564224215276866294500450702039420286416111469274423465069420553242820 + - column11_row13) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key2. - let value = (column8_row103 - + 1645965921169490687904413452218868659025437693527479459426157555728339600137 - - column11_row45) + value = + (column8_row103 + + 1645965921169490687904413452218868659025437693527479459426157555728339600137 + - column11_row45) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round0. - let value = (column11_row117 - - (poseidon_poseidon_full_rounds_state0_cubed_0 - + poseidon_poseidon_full_rounds_state0_cubed_0 - + poseidon_poseidon_full_rounds_state0_cubed_0 - + poseidon_poseidon_full_rounds_state1_cubed_0 - + poseidon_poseidon_full_rounds_state2_cubed_0 - + global_values.poseidon_poseidon_full_round_key0)) + value = + (column11_row117 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state1_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + global_values.poseidon_poseidon_full_round_key0)) * domain12 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round1. - let value = (column11_row77 - + poseidon_poseidon_full_rounds_state1_cubed_0 - - (poseidon_poseidon_full_rounds_state0_cubed_0 - + poseidon_poseidon_full_rounds_state2_cubed_0 - + global_values.poseidon_poseidon_full_round_key1)) + value = + (column11_row77 + + poseidon_poseidon_full_rounds_state1_cubed_0 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + global_values.poseidon_poseidon_full_round_key1)) * domain12 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round2. - let value = (column11_row109 - + poseidon_poseidon_full_rounds_state2_cubed_0 - + poseidon_poseidon_full_rounds_state2_cubed_0 - - (poseidon_poseidon_full_rounds_state0_cubed_0 - + poseidon_poseidon_full_rounds_state1_cubed_0 - + global_values.poseidon_poseidon_full_round_key2)) + value = + (column11_row109 + + poseidon_poseidon_full_rounds_state2_cubed_0 + + poseidon_poseidon_full_rounds_state2_cubed_0 + - (poseidon_poseidon_full_rounds_state0_cubed_0 + + poseidon_poseidon_full_rounds_state1_cubed_0 + + global_values.poseidon_poseidon_full_round_key2)) * domain12 / domain6; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round0. - let value = (column8_row295 - - (poseidon_poseidon_full_rounds_state0_cubed_7 - + poseidon_poseidon_full_rounds_state0_cubed_7 - + poseidon_poseidon_full_rounds_state0_cubed_7 - + poseidon_poseidon_full_rounds_state1_cubed_7 - + poseidon_poseidon_full_rounds_state2_cubed_7)) + value = + (column8_row295 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state1_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round1. - let value = (column8_row423 - + poseidon_poseidon_full_rounds_state1_cubed_7 - - (poseidon_poseidon_full_rounds_state0_cubed_7 - + poseidon_poseidon_full_rounds_state2_cubed_7)) + value = + (column8_row423 + + poseidon_poseidon_full_rounds_state1_cubed_7 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round2. - let value = (column8_row359 - + poseidon_poseidon_full_rounds_state2_cubed_7 - + poseidon_poseidon_full_rounds_state2_cubed_7 - - (poseidon_poseidon_full_rounds_state0_cubed_7 - + poseidon_poseidon_full_rounds_state1_cubed_7)) + value = + (column8_row359 + + poseidon_poseidon_full_rounds_state2_cubed_7 + + poseidon_poseidon_full_rounds_state2_cubed_7 + - (poseidon_poseidon_full_rounds_state0_cubed_7 + + poseidon_poseidon_full_rounds_state1_cubed_7)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. - let value = (column10_row489 - column11_row6) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row489 - column11_row6) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. - let value = (column10_row497 - column11_row22) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row497 - column11_row22) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. - let value = (column10_row505 - column11_row38) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + value = (column10_row505 - column11_row38) / domain14; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial0. - let value = (column10_row1 - + poseidon_poseidon_full_rounds_state2_cubed_3 - + poseidon_poseidon_full_rounds_state2_cubed_3 - - (poseidon_poseidon_full_rounds_state0_cubed_3 - + poseidon_poseidon_full_rounds_state1_cubed_3 - + 2121140748740143694053732746913428481442990369183417228688865837805149503386)) + value = + (column10_row1 + + poseidon_poseidon_full_rounds_state2_cubed_3 + + poseidon_poseidon_full_rounds_state2_cubed_3 + - (poseidon_poseidon_full_rounds_state0_cubed_3 + + poseidon_poseidon_full_rounds_state1_cubed_3 + + 2121140748740143694053732746913428481442990369183417228688865837805149503386)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial1. - let value = (column10_row9 - - (3618502788666131213697322783095070105623107215331596699973092056135872020477 - * poseidon_poseidon_full_rounds_state1_cubed_3 - + 10 * poseidon_poseidon_full_rounds_state2_cubed_3 - + 4 * column10_row1 - + 3618502788666131213697322783095070105623107215331596699973092056135872020479 - * poseidon_poseidon_partial_rounds_state0_cubed_0 - + 2006642341318481906727563724340978325665491359415674592697055778067937914672)) + value = + (column10_row9 + - (3618502788666131213697322783095070105623107215331596699973092056135872020477 + * poseidon_poseidon_full_rounds_state1_cubed_3 + + 10 * poseidon_poseidon_full_rounds_state2_cubed_3 + + 4 * column10_row1 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_0 + + 2006642341318481906727563724340978325665491359415674592697055778067937914672)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial2. - let value = (column10_row17 - - (8 * poseidon_poseidon_full_rounds_state2_cubed_3 - + 4 * column10_row1 - + 6 * poseidon_poseidon_partial_rounds_state0_cubed_0 - + column10_row9 - + column10_row9 - + 3618502788666131213697322783095070105623107215331596699973092056135872020479 - * poseidon_poseidon_partial_rounds_state0_cubed_1 - + 427751140904099001132521606468025610873158555767197326325930641757709538586)) + value = + (column10_row17 + - (8 * poseidon_poseidon_full_rounds_state2_cubed_3 + + 4 * column10_row1 + + 6 * poseidon_poseidon_partial_rounds_state0_cubed_0 + + column10_row9 + + column10_row9 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_1 + + 427751140904099001132521606468025610873158555767197326325930641757709538586)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round0. - let value = (column10_row25 - - (8 * poseidon_poseidon_partial_rounds_state0_cubed_0 - + 4 * column10_row9 - + 6 * poseidon_poseidon_partial_rounds_state0_cubed_1 - + column10_row17 - + column10_row17 - + 3618502788666131213697322783095070105623107215331596699973092056135872020479 - * poseidon_poseidon_partial_rounds_state0_cubed_2 - + global_values.poseidon_poseidon_partial_round_key0)) + value = + (column10_row25 + - (8 * poseidon_poseidon_partial_rounds_state0_cubed_0 + + 4 * column10_row9 + + 6 * poseidon_poseidon_partial_rounds_state0_cubed_1 + + column10_row17 + + column10_row17 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state0_cubed_2 + + global_values.poseidon_poseidon_partial_round_key0)) * domain17 / domain3; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round1. - let value = (column11_row54 - - (8 * poseidon_poseidon_partial_rounds_state1_cubed_0 - + 4 * column11_row22 - + 6 * poseidon_poseidon_partial_rounds_state1_cubed_1 - + column11_row38 - + column11_row38 - + 3618502788666131213697322783095070105623107215331596699973092056135872020479 - * poseidon_poseidon_partial_rounds_state1_cubed_2 - + global_values.poseidon_poseidon_partial_round_key1)) + value = + (column11_row54 + - (8 * poseidon_poseidon_partial_rounds_state1_cubed_0 + + 4 * column11_row22 + + 6 * poseidon_poseidon_partial_rounds_state1_cubed_1 + + column11_row38 + + column11_row38 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state1_cubed_2 + + global_values.poseidon_poseidon_partial_round_key1)) * domain18 / domain5; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full0. - let value = (column11_row309 - - (16 * poseidon_poseidon_partial_rounds_state1_cubed_19 - + 8 * column11_row326 - + 16 * poseidon_poseidon_partial_rounds_state1_cubed_20 - + 6 * column11_row342 - + poseidon_poseidon_partial_rounds_state1_cubed_21 - + 560279373700919169769089400651532183647886248799764942664266404650165812023)) + value = + (column11_row309 + - (16 * poseidon_poseidon_partial_rounds_state1_cubed_19 + + 8 * column11_row326 + + 16 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + 6 * column11_row342 + + poseidon_poseidon_partial_rounds_state1_cubed_21 + + 560279373700919169769089400651532183647886248799764942664266404650165812023)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full1. - let value = (column11_row269 - - (4 * poseidon_poseidon_partial_rounds_state1_cubed_20 - + column11_row342 - + column11_row342 - + poseidon_poseidon_partial_rounds_state1_cubed_21 - + 1401754474293352309994371631695783042590401941592571735921592823982231996415)) + value = + (column11_row269 + - (4 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + column11_row342 + + column11_row342 + + poseidon_poseidon_partial_rounds_state1_cubed_21 + + 1401754474293352309994371631695783042590401941592571735921592823982231996415)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full2. - let value = (column11_row301 - - (8 * poseidon_poseidon_partial_rounds_state1_cubed_19 - + 4 * column11_row326 - + 6 * poseidon_poseidon_partial_rounds_state1_cubed_20 - + column11_row342 - + column11_row342 - + 3618502788666131213697322783095070105623107215331596699973092056135872020479 - * poseidon_poseidon_partial_rounds_state1_cubed_21 - + 1246177936547655338400308396717835700699368047388302793172818304164989556526)) + value = + (column11_row301 + - (8 * poseidon_poseidon_partial_rounds_state1_cubed_19 + + 4 * column11_row326 + + 6 * poseidon_poseidon_partial_rounds_state1_cubed_20 + + column11_row342 + + column11_row342 + + 3618502788666131213697322783095070105623107215331596699973092056135872020479 + * poseidon_poseidon_partial_rounds_state1_cubed_21 + + 1246177936547655338400308396717835700699368047388302793172818304164989556526)) / domain14; - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } @@ -14087,2220 +14234,899 @@ fn eval_oods_polynomial_inner( let column14 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. - let total_sum = 0; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow81 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow92 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow100 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow114 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow119 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow127 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow131 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow141 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow143 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow147 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow149 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow150 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow152 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow158 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow161 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow164 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow175 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow178 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow181 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow200 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow214 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow219 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow220 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow223 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow218 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow222 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow225 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow226 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow227 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow228 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow229 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow230 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow231 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow232 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow233 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow234 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow237 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow238 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow241 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow242 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow243 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow244 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow245 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow246 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow247 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow248 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow249 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow252 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow256 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow254 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow257 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow259 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow258 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow260 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow262 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow261 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow263 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow264 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow266 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow270 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow272 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow273 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow274 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow276 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow277 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow279 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow278 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow280 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow282 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow281 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow283 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow284 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow285 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow286 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow287 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow288 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow289 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow294 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow290 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow295 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow297 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow298 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow296 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow299 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow300 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow303 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow308 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow309 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow310 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow311 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow312 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow313 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow314 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow315 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow316 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow317 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow318 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow322 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow319 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow323 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow324 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow325 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow326 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow327 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow328 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow329 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow330 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow331 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow332 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow333 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow335 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow338 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow342 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow343 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow345 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow347 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow346 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow348 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow350 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow351 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow354 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow357 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow352 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow355 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow353 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow356 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow358 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow359 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow360 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow361 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow362 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow363 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow364 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow366 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow367 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow368 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow369 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow370 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow371 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow372 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow373 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow374 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow375 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow376 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow379 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow380 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow382 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow383 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow384 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow385 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow386 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow388 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow389 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow391 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow392 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow393 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow403 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow417 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow424 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow429 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow378 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow398 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow478 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow475 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow476 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow477 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow472 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow473 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow474 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow481 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow471 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow480 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow482 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow483 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow484 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow486 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow621 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow487 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow540 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow542 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow544 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow546 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow548 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow549 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow530 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow529 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow526 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow531 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow528 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow536 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow532 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow533 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow534 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow541 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow543 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow545 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow547 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow550 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow551 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow513 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow514 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow512 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow511 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow320 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow106 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow137 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow105 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow136 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow444 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow450 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow104 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow135 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow520 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow523 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow519 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow521 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow555 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow556 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow557 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow558 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow559 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow561 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow571 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow570 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow569 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow568 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow524 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow174 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow217 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow553 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow103 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow134 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow173 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow216 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow102 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow133 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow573 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow321 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow562 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow563 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow620 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow619 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow617 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow616 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow387 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow517 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow518 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow578 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow172 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow215 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow101 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow132 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow584 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow585 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow618 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow583 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow581 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow177 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow334 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow365 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow592 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow594 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow593 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow595 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow596 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow597 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow598 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow600 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow602 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow603 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow601 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow608 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow609 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow610 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow611 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow613 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow615 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow612 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow614 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow213 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow149 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow150 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow152 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow153 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow167 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow168 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow418 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow419 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow420 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow427 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow428 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow431 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow432 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow433 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow434 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow435 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow436 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow437 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow438 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow439 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow440 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow441 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow442 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow443 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow446 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow447 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow448 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow449 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow451 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow452 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow453 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow454 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow457 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow460 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow464 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow468 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow504 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow505 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow506 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow507 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow508 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow515 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow516 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow565 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow566 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow572 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow574 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow576 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow579 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow580 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow588 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow85 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow86 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow109 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow122 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow123 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow138 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow139 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow144 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow145 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow154 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow155 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow179 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow180 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow184 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow185 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow190 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow194 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow197 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow195 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow198 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow196 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow199 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow202 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow221 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow224 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow235 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow236 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow239 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow240 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow250 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow251 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow268 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow275 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow337 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow293 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow306 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow307 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow336 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow348 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow349 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow381 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow399 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow425 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow430 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow377 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow401 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow400 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow409 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow414 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow413 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow394 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow412 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow410 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow469 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow489 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow623 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow622 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow470 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow490 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow485 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow497 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow496 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow495 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow492 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow539 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow89 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow112 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow125 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow139 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow140 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow146 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow156 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow162 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow165 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow167 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow176 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow183 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow205 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow207 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow208 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow210 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow211 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow265 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow269 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow271 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow302 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow304 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow305 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow339 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow344 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow390 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow395 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow396 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow397 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow402 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow416 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow421 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow422 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow423 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow415 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow404 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow426 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow445 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow491 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow493 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow525 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow527 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow535 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow537 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow301 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow510 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow509 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow253 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow255 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow267 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow291 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow292 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow624 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow625 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow626 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow522 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow552 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow554 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow567 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow627 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow340 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow341 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow564 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow575 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow80 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow577 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow560 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow604 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow586 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow587 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow582 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow589 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow538 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow590 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow591 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow599 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow605 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow606 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow607 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow628 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow77 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow78 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow82 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow83 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow84 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow85 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow87 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow88 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow90 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow91 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow93 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow94 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow95 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow96 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow97 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow98 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow99 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow107 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow108 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow111 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow113 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow115 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow116 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow117 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow118 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow120 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow121 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow124 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow126 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow128 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow129 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow130 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow142 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow148 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow151 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow157 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow159 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow160 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow163 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow166 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow169 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow182 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow186 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow187 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow188 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow189 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow190 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow191 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow192 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow193 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow201 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow203 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow204 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow206 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow209 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow212 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow405 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow406 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow407 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow408 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow411 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow431 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow455 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow456 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow458 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow459 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow461 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow462 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow463 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow466 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow467 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow479 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow488 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow494 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow465 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow498 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow499 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow500 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow501 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow502 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow503 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - - let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + let mut value = 0; + let mut total_sum = 0; + + let mut powers = array![ + pow0, + pow53, + pow54, + pow55, + pow56, + pow57, + pow58, + pow59, + pow60, + pow61, + pow62, + pow63, + pow64, + pow65, + pow66, + pow67 + ]; + + loop { + match powers.pop_front() { + Option::Some(pow) => { + value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + }, + Option::None => { break; } + }; + }; + + let mut powers = array![ + pow0, + pow53, + pow54, + pow56, + pow58, + pow60, + pow64, + pow68, + pow81, + pow92, + pow100, + pow114, + pow119, + pow127, + pow131, + pow141, + pow143, + pow147, + pow149, + pow150, + pow152, + pow158, + pow161, + pow164, + pow171, + pow175, + pow178, + pow181, + pow200, + pow214, + pow219, + pow220, + pow223, + pow218, + pow222, + pow225, + pow226, + pow227, + pow228, + pow229, + pow230, + pow231, + pow232, + pow233, + pow234, + pow237, + pow238, + pow241, + pow242, + pow243, + pow244, + pow245, + pow246, + pow247, + pow248, + pow249, + pow252, + pow256, + pow254, + pow257, + pow259, + pow258, + pow260, + pow262, + pow261, + pow263, + pow264, + pow266, + pow270, + pow272, + pow273, + pow274, + pow276, + pow277, + pow279, + pow278, + pow280, + pow282, + pow281, + pow283, + pow284, + pow285, + pow286, + pow287, + pow288, + pow289, + pow294, + pow290, + pow295, + pow297, + pow298, + pow296, + pow299, + pow300, + pow303, + pow308, + pow309, + pow310, + pow311, + pow312, + pow313, + pow314, + pow315, + pow316, + pow317, + pow318, + pow322, + pow319, + pow323, + pow324, + pow325, + pow326, + pow327, + pow328, + pow329, + pow330, + pow331, + pow332, + pow333, + pow335, + pow338, + pow342, + pow343, + pow345, + pow347, + pow346, + pow348, + pow350, + pow351, + pow354, + pow357, + pow352, + pow355, + pow353, + pow356, + pow358, + pow359, + pow360, + pow361, + pow362, + pow363, + pow364, + pow366, + pow367, + pow368, + pow369, + pow370, + pow371, + pow372, + pow373, + pow374, + pow375, + pow376, + pow379, + pow380, + pow382, + pow383, + pow384, + pow385, + pow386, + pow388, + pow389, + pow391, + pow392, + pow393, + pow403, + pow417, + pow424, + pow429, + pow378, + pow398, + pow478, + pow475, + pow476, + pow477, + pow472, + pow473, + pow474, + pow481, + pow471, + pow480, + pow482, + pow483, + pow484, + pow486, + pow52, + pow621, + pow487, + pow51, + pow50, + pow48, + pow540, + pow542, + pow544, + pow546, + pow548, + pow549, + pow530, + pow529, + pow526, + pow531, + pow47, + pow528, + pow536, + pow532, + pow533, + pow534, + pow46, + pow45, + pow44, + pow49, + pow541, + pow543, + pow545, + pow547, + pow550, + pow551, + pow43, + pow42, + pow41, + pow40, + pow39, + pow38, + pow513, + pow514, + pow512, + pow511, + pow37, + pow36, + pow35, + pow320, + pow34, + pow106, + pow137, + pow33, + pow105, + pow136, + pow32, + pow31, + pow444, + pow450, + pow30, + pow104, + pow135, + pow29, + pow28, + pow27, + pow520, + pow523, + pow519, + pow521, + pow555, + pow556, + pow557, + pow558, + pow559, + pow561, + pow571, + pow570, + pow569, + pow568, + pow26, + pow524, + pow25, + pow174, + pow217, + pow553, + pow24, + pow103, + pow134, + pow23, + pow22, + pow173, + pow216, + pow21, + pow102, + pow133, + pow573, + pow321, + pow562, + pow563, + pow620, + pow619, + pow617, + pow616, + pow20, + pow19, + pow18, + pow17, + pow387, + pow517, + pow518, + pow578, + pow16, + pow15, + pow14, + pow172, + pow215, + pow13, + pow101, + pow132, + pow584, + pow585, + pow618, + pow583, + pow12, + pow581, + pow11, + pow177, + pow10, + pow334, + pow9, + pow365, + pow592, + pow594, + pow593, + pow595, + pow596, + pow8, + pow597, + pow598, + pow600, + pow602, + pow603, + pow601, + pow608, + pow609, + pow610, + pow611, + pow613, + pow615, + pow612, + pow614 + ]; + + loop { + match powers.pop_front() { + Option::Some(pow) => { + value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + }, + Option::None => { break; } + }; + }; + + value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow213 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow149 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow150 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow152 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow153 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow167 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow168 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + let mut powers = array![ + pow0, + pow53, + pow54, + pow55, + pow56, + pow57, + pow58, + pow59, + pow60, + pow61, + pow62, + pow63, + pow64, + pow65, + pow66, + pow67, + pow418, + pow419, + pow420, + pow427, + pow428, + pow431, + pow432, + pow433, + pow434, + pow435, + pow436, + pow437, + pow438, + pow439, + pow440, + pow441, + pow442, + pow443, + pow446, + pow447, + pow448, + pow449, + pow451, + pow452, + pow453, + pow454, + pow457, + pow460, + pow464, + pow468, + pow504, + pow505, + pow506, + pow507, + pow508, + pow515, + pow516, + pow565, + pow566, + pow572, + pow574, + pow576, + pow579, + pow580, + pow588 + ]; + + loop { + match powers.pop_front() { + Option::Some(pow) => { + value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + }, + Option::None => { break; } + }; + }; + + let mut powers = array![ + pow0, + pow53, + pow54, + pow55, + pow56, + pow57, + pow58, + pow59, + pow60, + pow61, + pow64, + pow65, + pow68, + pow85, + pow86, + pow109, + pow110, + pow122, + pow123, + pow138, + pow139, + pow144, + pow145, + pow154, + pow155, + pow179, + pow180, + pow184, + pow185, + pow190, + pow194, + pow197, + pow195, + pow198, + pow196, + pow199, + pow202, + pow221, + pow224, + pow235, + pow236, + pow239, + pow240, + pow250, + pow251, + pow268, + pow275, + pow337, + pow7, + pow293, + pow306, + pow307, + pow336, + pow348, + pow349, + pow381, + pow399, + pow425, + pow430, + pow377, + pow401, + pow400, + pow409, + pow414, + pow413, + pow394, + pow412, + pow410, + pow469, + pow489, + pow623, + pow622, + pow470, + pow490, + pow485, + pow497, + pow496, + pow495, + pow492, + pow539 + ]; + + loop { + match powers.pop_front() { + Option::Some(pow) => { + value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + }, + Option::None => { break; } + }; + }; + + value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + let mut powers = array![ + pow0, + pow53, + pow54, + pow55, + pow56, + pow57, + pow58, + pow59, + pow60, + pow61, + pow64, + pow65, + pow71, + pow72, + pow73, + pow76, + pow89, + pow110, + pow112, + pow125, + pow139, + pow140, + pow146, + pow156, + pow162, + pow165, + pow167, + pow176, + pow183, + pow205, + pow207, + pow208, + pow210, + pow211, + pow265, + pow269, + pow271, + pow302, + pow304, + pow305, + pow339, + pow344, + pow390, + pow395, + pow396, + pow397, + pow402, + pow416, + pow421, + pow422, + pow423, + pow415, + pow404, + pow426, + pow445, + pow491, + pow493, + pow6, + pow70, + pow525, + pow527, + pow535, + pow537, + pow5, + pow69, + pow301, + pow510, + pow509, + pow253, + pow255, + pow267, + pow291, + pow292, + pow624, + pow625, + pow626, + pow522, + pow552, + pow554, + pow567, + pow627, + pow4, + pow340, + pow341, + pow564, + pow575, + pow3, + pow2, + pow80, + pow577, + pow560, + pow1, + pow604, + pow586, + pow587, + pow582, + pow589, + pow538, + pow590, + pow591, + pow599, + pow605, + pow606, + pow607, + pow628 + ]; + + loop { + match powers.pop_front() { + Option::Some(pow) => { + value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + }, + Option::None => { break; } + }; + }; + + let mut powers = array![ + pow0, + pow53, + pow54, + pow55, + pow56, + pow57, + pow58, + pow59, + pow60, + pow61, + pow62, + pow63, + pow64, + pow65, + pow66, + pow68, + pow71, + pow72, + pow73, + pow74, + pow75, + pow76, + pow77, + pow78, + pow79, + pow82, + pow83, + pow84, + pow85, + pow87, + pow88, + pow90, + pow91, + pow93, + pow94, + pow95, + pow96, + pow97, + pow98, + pow99, + pow107, + pow108, + pow110, + pow111, + pow113, + pow115, + pow116, + pow117, + pow118, + pow120, + pow121, + pow124, + pow126, + pow128, + pow129, + pow130, + pow142, + pow148, + pow151, + pow157, + pow159, + pow160, + pow163, + pow166, + pow169, + pow182, + pow186, + pow187, + pow188, + pow189, + pow190, + pow191, + pow192, + pow193, + pow201, + pow203, + pow204, + pow206, + pow209, + pow212, + pow405, + pow406, + pow407, + pow408, + pow411, + pow431, + pow455, + pow456, + pow458, + pow459, + pow461, + pow462, + pow463, + pow466, + pow467, + pow479, + pow488, + pow494, + pow465, + pow498, + pow499, + pow500, + pow501, + pow502, + pow503, + ]; + + loop { + match powers.pop_front() { + Option::Some(pow) => { + value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + }, + Option::None => { break; } + }; + }; + + value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + + value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) + value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) + value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; + total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(736 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From 4d76ad2cce4a21497120a02e0072c820371e5c6e Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:20:08 +0100 Subject: [PATCH 15/29] starknet pop_front optimization --- src/air/layouts/starknet/autogenerated.cairo | 2060 +++++++++--------- 1 file changed, 1030 insertions(+), 1030 deletions(-) diff --git a/src/air/layouts/starknet/autogenerated.cairo b/src/air/layouts/starknet/autogenerated.cairo index 9c1131c61..059691c44 100644 --- a/src/air/layouts/starknet/autogenerated.cairo +++ b/src/air/layouts/starknet/autogenerated.cairo @@ -7,8 +7,8 @@ use cairo_verifier::{ }; fn eval_composition_polynomial_inner( - mask_values: Span, - constraint_coefficients: Span, + mut mask_values: Span, + mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, global_values: GlobalValues @@ -166,277 +166,277 @@ fn eval_composition_polynomial_inner( let domain37 = point - pow12; // Fetch mask variables. - let column0_row0 = *mask_values[0]; - let column0_row1 = *mask_values[1]; - let column0_row2 = *mask_values[2]; - let column0_row3 = *mask_values[3]; - let column0_row4 = *mask_values[4]; - let column0_row5 = *mask_values[5]; - let column0_row6 = *mask_values[6]; - let column0_row7 = *mask_values[7]; - let column0_row8 = *mask_values[8]; - let column0_row9 = *mask_values[9]; - let column0_row10 = *mask_values[10]; - let column0_row11 = *mask_values[11]; - let column0_row12 = *mask_values[12]; - let column0_row13 = *mask_values[13]; - let column0_row14 = *mask_values[14]; - let column0_row15 = *mask_values[15]; - let column1_row0 = *mask_values[16]; - let column1_row1 = *mask_values[17]; - let column1_row255 = *mask_values[18]; - let column1_row256 = *mask_values[19]; - let column1_row511 = *mask_values[20]; - let column2_row0 = *mask_values[21]; - let column2_row1 = *mask_values[22]; - let column2_row255 = *mask_values[23]; - let column2_row256 = *mask_values[24]; - let column3_row0 = *mask_values[25]; - let column3_row1 = *mask_values[26]; - let column3_row192 = *mask_values[27]; - let column3_row193 = *mask_values[28]; - let column3_row196 = *mask_values[29]; - let column3_row197 = *mask_values[30]; - let column3_row251 = *mask_values[31]; - let column3_row252 = *mask_values[32]; - let column3_row256 = *mask_values[33]; - let column4_row0 = *mask_values[34]; - let column4_row255 = *mask_values[35]; - let column5_row0 = *mask_values[36]; - let column5_row1 = *mask_values[37]; - let column5_row2 = *mask_values[38]; - let column5_row3 = *mask_values[39]; - let column5_row4 = *mask_values[40]; - let column5_row5 = *mask_values[41]; - let column5_row6 = *mask_values[42]; - let column5_row7 = *mask_values[43]; - let column5_row8 = *mask_values[44]; - let column5_row9 = *mask_values[45]; - let column5_row12 = *mask_values[46]; - let column5_row13 = *mask_values[47]; - let column5_row16 = *mask_values[48]; - let column5_row38 = *mask_values[49]; - let column5_row39 = *mask_values[50]; - let column5_row70 = *mask_values[51]; - let column5_row71 = *mask_values[52]; - let column5_row102 = *mask_values[53]; - let column5_row103 = *mask_values[54]; - let column5_row134 = *mask_values[55]; - let column5_row135 = *mask_values[56]; - let column5_row166 = *mask_values[57]; - let column5_row167 = *mask_values[58]; - let column5_row198 = *mask_values[59]; - let column5_row199 = *mask_values[60]; - let column5_row262 = *mask_values[61]; - let column5_row263 = *mask_values[62]; - let column5_row294 = *mask_values[63]; - let column5_row295 = *mask_values[64]; - let column5_row326 = *mask_values[65]; - let column5_row358 = *mask_values[66]; - let column5_row359 = *mask_values[67]; - let column5_row390 = *mask_values[68]; - let column5_row391 = *mask_values[69]; - let column5_row422 = *mask_values[70]; - let column5_row423 = *mask_values[71]; - let column5_row454 = *mask_values[72]; - let column5_row518 = *mask_values[73]; - let column5_row711 = *mask_values[74]; - let column5_row902 = *mask_values[75]; - let column5_row903 = *mask_values[76]; - let column5_row966 = *mask_values[77]; - let column5_row967 = *mask_values[78]; - let column5_row1222 = *mask_values[79]; - let column5_row2438 = *mask_values[80]; - let column5_row2439 = *mask_values[81]; - let column5_row4486 = *mask_values[82]; - let column5_row4487 = *mask_values[83]; - let column5_row6534 = *mask_values[84]; - let column5_row6535 = *mask_values[85]; - let column5_row8582 = *mask_values[86]; - let column5_row8583 = *mask_values[87]; - let column5_row10630 = *mask_values[88]; - let column5_row10631 = *mask_values[89]; - let column5_row12678 = *mask_values[90]; - let column5_row12679 = *mask_values[91]; - let column5_row14726 = *mask_values[92]; - let column5_row14727 = *mask_values[93]; - let column5_row16774 = *mask_values[94]; - let column5_row16775 = *mask_values[95]; - let column5_row24966 = *mask_values[96]; - let column5_row33158 = *mask_values[97]; - let column6_row0 = *mask_values[98]; - let column6_row1 = *mask_values[99]; - let column6_row2 = *mask_values[100]; - let column6_row3 = *mask_values[101]; - let column7_row0 = *mask_values[102]; - let column7_row1 = *mask_values[103]; - let column7_row2 = *mask_values[104]; - let column7_row3 = *mask_values[105]; - let column7_row4 = *mask_values[106]; - let column7_row5 = *mask_values[107]; - let column7_row6 = *mask_values[108]; - let column7_row7 = *mask_values[109]; - let column7_row8 = *mask_values[110]; - let column7_row9 = *mask_values[111]; - let column7_row11 = *mask_values[112]; - let column7_row12 = *mask_values[113]; - let column7_row13 = *mask_values[114]; - let column7_row15 = *mask_values[115]; - let column7_row17 = *mask_values[116]; - let column7_row19 = *mask_values[117]; - let column7_row23 = *mask_values[118]; - let column7_row27 = *mask_values[119]; - let column7_row33 = *mask_values[120]; - let column7_row44 = *mask_values[121]; - let column7_row49 = *mask_values[122]; - let column7_row65 = *mask_values[123]; - let column7_row76 = *mask_values[124]; - let column7_row81 = *mask_values[125]; - let column7_row97 = *mask_values[126]; - let column7_row108 = *mask_values[127]; - let column7_row113 = *mask_values[128]; - let column7_row129 = *mask_values[129]; - let column7_row140 = *mask_values[130]; - let column7_row145 = *mask_values[131]; - let column7_row161 = *mask_values[132]; - let column7_row172 = *mask_values[133]; - let column7_row177 = *mask_values[134]; - let column7_row193 = *mask_values[135]; - let column7_row204 = *mask_values[136]; - let column7_row209 = *mask_values[137]; - let column7_row225 = *mask_values[138]; - let column7_row236 = *mask_values[139]; - let column7_row241 = *mask_values[140]; - let column7_row257 = *mask_values[141]; - let column7_row265 = *mask_values[142]; - let column7_row491 = *mask_values[143]; - let column7_row499 = *mask_values[144]; - let column7_row507 = *mask_values[145]; - let column7_row513 = *mask_values[146]; - let column7_row521 = *mask_values[147]; - let column7_row705 = *mask_values[148]; - let column7_row721 = *mask_values[149]; - let column7_row737 = *mask_values[150]; - let column7_row753 = *mask_values[151]; - let column7_row769 = *mask_values[152]; - let column7_row777 = *mask_values[153]; - let column7_row961 = *mask_values[154]; - let column7_row977 = *mask_values[155]; - let column7_row993 = *mask_values[156]; - let column7_row1009 = *mask_values[157]; - let column8_row0 = *mask_values[158]; - let column8_row1 = *mask_values[159]; - let column8_row2 = *mask_values[160]; - let column8_row3 = *mask_values[161]; - let column8_row4 = *mask_values[162]; - let column8_row5 = *mask_values[163]; - let column8_row6 = *mask_values[164]; - let column8_row7 = *mask_values[165]; - let column8_row8 = *mask_values[166]; - let column8_row9 = *mask_values[167]; - let column8_row10 = *mask_values[168]; - let column8_row11 = *mask_values[169]; - let column8_row12 = *mask_values[170]; - let column8_row13 = *mask_values[171]; - let column8_row14 = *mask_values[172]; - let column8_row16 = *mask_values[173]; - let column8_row17 = *mask_values[174]; - let column8_row19 = *mask_values[175]; - let column8_row21 = *mask_values[176]; - let column8_row22 = *mask_values[177]; - let column8_row24 = *mask_values[178]; - let column8_row25 = *mask_values[179]; - let column8_row27 = *mask_values[180]; - let column8_row29 = *mask_values[181]; - let column8_row30 = *mask_values[182]; - let column8_row33 = *mask_values[183]; - let column8_row35 = *mask_values[184]; - let column8_row37 = *mask_values[185]; - let column8_row38 = *mask_values[186]; - let column8_row41 = *mask_values[187]; - let column8_row43 = *mask_values[188]; - let column8_row45 = *mask_values[189]; - let column8_row46 = *mask_values[190]; - let column8_row49 = *mask_values[191]; - let column8_row51 = *mask_values[192]; - let column8_row53 = *mask_values[193]; - let column8_row54 = *mask_values[194]; - let column8_row57 = *mask_values[195]; - let column8_row59 = *mask_values[196]; - let column8_row61 = *mask_values[197]; - let column8_row65 = *mask_values[198]; - let column8_row69 = *mask_values[199]; - let column8_row71 = *mask_values[200]; - let column8_row73 = *mask_values[201]; - let column8_row77 = *mask_values[202]; - let column8_row81 = *mask_values[203]; - let column8_row85 = *mask_values[204]; - let column8_row89 = *mask_values[205]; - let column8_row91 = *mask_values[206]; - let column8_row97 = *mask_values[207]; - let column8_row101 = *mask_values[208]; - let column8_row105 = *mask_values[209]; - let column8_row109 = *mask_values[210]; - let column8_row113 = *mask_values[211]; - let column8_row117 = *mask_values[212]; - let column8_row123 = *mask_values[213]; - let column8_row155 = *mask_values[214]; - let column8_row187 = *mask_values[215]; - let column8_row195 = *mask_values[216]; - let column8_row205 = *mask_values[217]; - let column8_row219 = *mask_values[218]; - let column8_row221 = *mask_values[219]; - let column8_row237 = *mask_values[220]; - let column8_row245 = *mask_values[221]; - let column8_row253 = *mask_values[222]; - let column8_row269 = *mask_values[223]; - let column8_row301 = *mask_values[224]; - let column8_row309 = *mask_values[225]; - let column8_row310 = *mask_values[226]; - let column8_row318 = *mask_values[227]; - let column8_row326 = *mask_values[228]; - let column8_row334 = *mask_values[229]; - let column8_row342 = *mask_values[230]; - let column8_row350 = *mask_values[231]; - let column8_row451 = *mask_values[232]; - let column8_row461 = *mask_values[233]; - let column8_row477 = *mask_values[234]; - let column8_row493 = *mask_values[235]; - let column8_row501 = *mask_values[236]; - let column8_row509 = *mask_values[237]; - let column8_row12309 = *mask_values[238]; - let column8_row12373 = *mask_values[239]; - let column8_row12565 = *mask_values[240]; - let column8_row12629 = *mask_values[241]; - let column8_row16085 = *mask_values[242]; - let column8_row16149 = *mask_values[243]; - let column8_row16325 = *mask_values[244]; - let column8_row16331 = *mask_values[245]; - let column8_row16337 = *mask_values[246]; - let column8_row16339 = *mask_values[247]; - let column8_row16355 = *mask_values[248]; - let column8_row16357 = *mask_values[249]; - let column8_row16363 = *mask_values[250]; - let column8_row16369 = *mask_values[251]; - let column8_row16371 = *mask_values[252]; - let column8_row16385 = *mask_values[253]; - let column8_row16417 = *mask_values[254]; - let column8_row32647 = *mask_values[255]; - let column8_row32667 = *mask_values[256]; - let column8_row32715 = *mask_values[257]; - let column8_row32721 = *mask_values[258]; - let column8_row32731 = *mask_values[259]; - let column8_row32747 = *mask_values[260]; - let column8_row32753 = *mask_values[261]; - let column8_row32763 = *mask_values[262]; - let column9_inter1_row0 = *mask_values[263]; - let column9_inter1_row1 = *mask_values[264]; - let column9_inter1_row2 = *mask_values[265]; - let column9_inter1_row3 = *mask_values[266]; - let column9_inter1_row5 = *mask_values[267]; - let column9_inter1_row7 = *mask_values[268]; - let column9_inter1_row11 = *mask_values[269]; - let column9_inter1_row15 = *mask_values[270]; + let column0_row0 = *mask_values.pop_front().unwrap(); + let column0_row1 = *mask_values.pop_front().unwrap(); + let column0_row2 = *mask_values.pop_front().unwrap(); + let column0_row3 = *mask_values.pop_front().unwrap(); + let column0_row4 = *mask_values.pop_front().unwrap(); + let column0_row5 = *mask_values.pop_front().unwrap(); + let column0_row6 = *mask_values.pop_front().unwrap(); + let column0_row7 = *mask_values.pop_front().unwrap(); + let column0_row8 = *mask_values.pop_front().unwrap(); + let column0_row9 = *mask_values.pop_front().unwrap(); + let column0_row10 = *mask_values.pop_front().unwrap(); + let column0_row11 = *mask_values.pop_front().unwrap(); + let column0_row12 = *mask_values.pop_front().unwrap(); + let column0_row13 = *mask_values.pop_front().unwrap(); + let column0_row14 = *mask_values.pop_front().unwrap(); + let column0_row15 = *mask_values.pop_front().unwrap(); + let column1_row0 = *mask_values.pop_front().unwrap(); + let column1_row1 = *mask_values.pop_front().unwrap(); + let column1_row255 = *mask_values.pop_front().unwrap(); + let column1_row256 = *mask_values.pop_front().unwrap(); + let column1_row511 = *mask_values.pop_front().unwrap(); + let column2_row0 = *mask_values.pop_front().unwrap(); + let column2_row1 = *mask_values.pop_front().unwrap(); + let column2_row255 = *mask_values.pop_front().unwrap(); + let column2_row256 = *mask_values.pop_front().unwrap(); + let column3_row0 = *mask_values.pop_front().unwrap(); + let column3_row1 = *mask_values.pop_front().unwrap(); + let column3_row192 = *mask_values.pop_front().unwrap(); + let column3_row193 = *mask_values.pop_front().unwrap(); + let column3_row196 = *mask_values.pop_front().unwrap(); + let column3_row197 = *mask_values.pop_front().unwrap(); + let column3_row251 = *mask_values.pop_front().unwrap(); + let column3_row252 = *mask_values.pop_front().unwrap(); + let column3_row256 = *mask_values.pop_front().unwrap(); + let column4_row0 = *mask_values.pop_front().unwrap(); + let column4_row255 = *mask_values.pop_front().unwrap(); + let column5_row0 = *mask_values.pop_front().unwrap(); + let column5_row1 = *mask_values.pop_front().unwrap(); + let column5_row2 = *mask_values.pop_front().unwrap(); + let column5_row3 = *mask_values.pop_front().unwrap(); + let column5_row4 = *mask_values.pop_front().unwrap(); + let column5_row5 = *mask_values.pop_front().unwrap(); + let column5_row6 = *mask_values.pop_front().unwrap(); + let column5_row7 = *mask_values.pop_front().unwrap(); + let column5_row8 = *mask_values.pop_front().unwrap(); + let column5_row9 = *mask_values.pop_front().unwrap(); + let column5_row12 = *mask_values.pop_front().unwrap(); + let column5_row13 = *mask_values.pop_front().unwrap(); + let column5_row16 = *mask_values.pop_front().unwrap(); + let column5_row38 = *mask_values.pop_front().unwrap(); + let column5_row39 = *mask_values.pop_front().unwrap(); + let column5_row70 = *mask_values.pop_front().unwrap(); + let column5_row71 = *mask_values.pop_front().unwrap(); + let column5_row102 = *mask_values.pop_front().unwrap(); + let column5_row103 = *mask_values.pop_front().unwrap(); + let column5_row134 = *mask_values.pop_front().unwrap(); + let column5_row135 = *mask_values.pop_front().unwrap(); + let column5_row166 = *mask_values.pop_front().unwrap(); + let column5_row167 = *mask_values.pop_front().unwrap(); + let column5_row198 = *mask_values.pop_front().unwrap(); + let column5_row199 = *mask_values.pop_front().unwrap(); + let column5_row262 = *mask_values.pop_front().unwrap(); + let column5_row263 = *mask_values.pop_front().unwrap(); + let column5_row294 = *mask_values.pop_front().unwrap(); + let column5_row295 = *mask_values.pop_front().unwrap(); + let column5_row326 = *mask_values.pop_front().unwrap(); + let column5_row358 = *mask_values.pop_front().unwrap(); + let column5_row359 = *mask_values.pop_front().unwrap(); + let column5_row390 = *mask_values.pop_front().unwrap(); + let column5_row391 = *mask_values.pop_front().unwrap(); + let column5_row422 = *mask_values.pop_front().unwrap(); + let column5_row423 = *mask_values.pop_front().unwrap(); + let column5_row454 = *mask_values.pop_front().unwrap(); + let column5_row518 = *mask_values.pop_front().unwrap(); + let column5_row711 = *mask_values.pop_front().unwrap(); + let column5_row902 = *mask_values.pop_front().unwrap(); + let column5_row903 = *mask_values.pop_front().unwrap(); + let column5_row966 = *mask_values.pop_front().unwrap(); + let column5_row967 = *mask_values.pop_front().unwrap(); + let column5_row1222 = *mask_values.pop_front().unwrap(); + let column5_row2438 = *mask_values.pop_front().unwrap(); + let column5_row2439 = *mask_values.pop_front().unwrap(); + let column5_row4486 = *mask_values.pop_front().unwrap(); + let column5_row4487 = *mask_values.pop_front().unwrap(); + let column5_row6534 = *mask_values.pop_front().unwrap(); + let column5_row6535 = *mask_values.pop_front().unwrap(); + let column5_row8582 = *mask_values.pop_front().unwrap(); + let column5_row8583 = *mask_values.pop_front().unwrap(); + let column5_row10630 = *mask_values.pop_front().unwrap(); + let column5_row10631 = *mask_values.pop_front().unwrap(); + let column5_row12678 = *mask_values.pop_front().unwrap(); + let column5_row12679 = *mask_values.pop_front().unwrap(); + let column5_row14726 = *mask_values.pop_front().unwrap(); + let column5_row14727 = *mask_values.pop_front().unwrap(); + let column5_row16774 = *mask_values.pop_front().unwrap(); + let column5_row16775 = *mask_values.pop_front().unwrap(); + let column5_row24966 = *mask_values.pop_front().unwrap(); + let column5_row33158 = *mask_values.pop_front().unwrap(); + let column6_row0 = *mask_values.pop_front().unwrap(); + let column6_row1 = *mask_values.pop_front().unwrap(); + let column6_row2 = *mask_values.pop_front().unwrap(); + let column6_row3 = *mask_values.pop_front().unwrap(); + let column7_row0 = *mask_values.pop_front().unwrap(); + let column7_row1 = *mask_values.pop_front().unwrap(); + let column7_row2 = *mask_values.pop_front().unwrap(); + let column7_row3 = *mask_values.pop_front().unwrap(); + let column7_row4 = *mask_values.pop_front().unwrap(); + let column7_row5 = *mask_values.pop_front().unwrap(); + let column7_row6 = *mask_values.pop_front().unwrap(); + let column7_row7 = *mask_values.pop_front().unwrap(); + let column7_row8 = *mask_values.pop_front().unwrap(); + let column7_row9 = *mask_values.pop_front().unwrap(); + let column7_row11 = *mask_values.pop_front().unwrap(); + let column7_row12 = *mask_values.pop_front().unwrap(); + let column7_row13 = *mask_values.pop_front().unwrap(); + let column7_row15 = *mask_values.pop_front().unwrap(); + let column7_row17 = *mask_values.pop_front().unwrap(); + let column7_row19 = *mask_values.pop_front().unwrap(); + let column7_row23 = *mask_values.pop_front().unwrap(); + let column7_row27 = *mask_values.pop_front().unwrap(); + let column7_row33 = *mask_values.pop_front().unwrap(); + let column7_row44 = *mask_values.pop_front().unwrap(); + let column7_row49 = *mask_values.pop_front().unwrap(); + let column7_row65 = *mask_values.pop_front().unwrap(); + let column7_row76 = *mask_values.pop_front().unwrap(); + let column7_row81 = *mask_values.pop_front().unwrap(); + let column7_row97 = *mask_values.pop_front().unwrap(); + let column7_row108 = *mask_values.pop_front().unwrap(); + let column7_row113 = *mask_values.pop_front().unwrap(); + let column7_row129 = *mask_values.pop_front().unwrap(); + let column7_row140 = *mask_values.pop_front().unwrap(); + let column7_row145 = *mask_values.pop_front().unwrap(); + let column7_row161 = *mask_values.pop_front().unwrap(); + let column7_row172 = *mask_values.pop_front().unwrap(); + let column7_row177 = *mask_values.pop_front().unwrap(); + let column7_row193 = *mask_values.pop_front().unwrap(); + let column7_row204 = *mask_values.pop_front().unwrap(); + let column7_row209 = *mask_values.pop_front().unwrap(); + let column7_row225 = *mask_values.pop_front().unwrap(); + let column7_row236 = *mask_values.pop_front().unwrap(); + let column7_row241 = *mask_values.pop_front().unwrap(); + let column7_row257 = *mask_values.pop_front().unwrap(); + let column7_row265 = *mask_values.pop_front().unwrap(); + let column7_row491 = *mask_values.pop_front().unwrap(); + let column7_row499 = *mask_values.pop_front().unwrap(); + let column7_row507 = *mask_values.pop_front().unwrap(); + let column7_row513 = *mask_values.pop_front().unwrap(); + let column7_row521 = *mask_values.pop_front().unwrap(); + let column7_row705 = *mask_values.pop_front().unwrap(); + let column7_row721 = *mask_values.pop_front().unwrap(); + let column7_row737 = *mask_values.pop_front().unwrap(); + let column7_row753 = *mask_values.pop_front().unwrap(); + let column7_row769 = *mask_values.pop_front().unwrap(); + let column7_row777 = *mask_values.pop_front().unwrap(); + let column7_row961 = *mask_values.pop_front().unwrap(); + let column7_row977 = *mask_values.pop_front().unwrap(); + let column7_row993 = *mask_values.pop_front().unwrap(); + let column7_row1009 = *mask_values.pop_front().unwrap(); + let column8_row0 = *mask_values.pop_front().unwrap(); + let column8_row1 = *mask_values.pop_front().unwrap(); + let column8_row2 = *mask_values.pop_front().unwrap(); + let column8_row3 = *mask_values.pop_front().unwrap(); + let column8_row4 = *mask_values.pop_front().unwrap(); + let column8_row5 = *mask_values.pop_front().unwrap(); + let column8_row6 = *mask_values.pop_front().unwrap(); + let column8_row7 = *mask_values.pop_front().unwrap(); + let column8_row8 = *mask_values.pop_front().unwrap(); + let column8_row9 = *mask_values.pop_front().unwrap(); + let column8_row10 = *mask_values.pop_front().unwrap(); + let column8_row11 = *mask_values.pop_front().unwrap(); + let column8_row12 = *mask_values.pop_front().unwrap(); + let column8_row13 = *mask_values.pop_front().unwrap(); + let column8_row14 = *mask_values.pop_front().unwrap(); + let column8_row16 = *mask_values.pop_front().unwrap(); + let column8_row17 = *mask_values.pop_front().unwrap(); + let column8_row19 = *mask_values.pop_front().unwrap(); + let column8_row21 = *mask_values.pop_front().unwrap(); + let column8_row22 = *mask_values.pop_front().unwrap(); + let column8_row24 = *mask_values.pop_front().unwrap(); + let column8_row25 = *mask_values.pop_front().unwrap(); + let column8_row27 = *mask_values.pop_front().unwrap(); + let column8_row29 = *mask_values.pop_front().unwrap(); + let column8_row30 = *mask_values.pop_front().unwrap(); + let column8_row33 = *mask_values.pop_front().unwrap(); + let column8_row35 = *mask_values.pop_front().unwrap(); + let column8_row37 = *mask_values.pop_front().unwrap(); + let column8_row38 = *mask_values.pop_front().unwrap(); + let column8_row41 = *mask_values.pop_front().unwrap(); + let column8_row43 = *mask_values.pop_front().unwrap(); + let column8_row45 = *mask_values.pop_front().unwrap(); + let column8_row46 = *mask_values.pop_front().unwrap(); + let column8_row49 = *mask_values.pop_front().unwrap(); + let column8_row51 = *mask_values.pop_front().unwrap(); + let column8_row53 = *mask_values.pop_front().unwrap(); + let column8_row54 = *mask_values.pop_front().unwrap(); + let column8_row57 = *mask_values.pop_front().unwrap(); + let column8_row59 = *mask_values.pop_front().unwrap(); + let column8_row61 = *mask_values.pop_front().unwrap(); + let column8_row65 = *mask_values.pop_front().unwrap(); + let column8_row69 = *mask_values.pop_front().unwrap(); + let column8_row71 = *mask_values.pop_front().unwrap(); + let column8_row73 = *mask_values.pop_front().unwrap(); + let column8_row77 = *mask_values.pop_front().unwrap(); + let column8_row81 = *mask_values.pop_front().unwrap(); + let column8_row85 = *mask_values.pop_front().unwrap(); + let column8_row89 = *mask_values.pop_front().unwrap(); + let column8_row91 = *mask_values.pop_front().unwrap(); + let column8_row97 = *mask_values.pop_front().unwrap(); + let column8_row101 = *mask_values.pop_front().unwrap(); + let column8_row105 = *mask_values.pop_front().unwrap(); + let column8_row109 = *mask_values.pop_front().unwrap(); + let column8_row113 = *mask_values.pop_front().unwrap(); + let column8_row117 = *mask_values.pop_front().unwrap(); + let column8_row123 = *mask_values.pop_front().unwrap(); + let column8_row155 = *mask_values.pop_front().unwrap(); + let column8_row187 = *mask_values.pop_front().unwrap(); + let column8_row195 = *mask_values.pop_front().unwrap(); + let column8_row205 = *mask_values.pop_front().unwrap(); + let column8_row219 = *mask_values.pop_front().unwrap(); + let column8_row221 = *mask_values.pop_front().unwrap(); + let column8_row237 = *mask_values.pop_front().unwrap(); + let column8_row245 = *mask_values.pop_front().unwrap(); + let column8_row253 = *mask_values.pop_front().unwrap(); + let column8_row269 = *mask_values.pop_front().unwrap(); + let column8_row301 = *mask_values.pop_front().unwrap(); + let column8_row309 = *mask_values.pop_front().unwrap(); + let column8_row310 = *mask_values.pop_front().unwrap(); + let column8_row318 = *mask_values.pop_front().unwrap(); + let column8_row326 = *mask_values.pop_front().unwrap(); + let column8_row334 = *mask_values.pop_front().unwrap(); + let column8_row342 = *mask_values.pop_front().unwrap(); + let column8_row350 = *mask_values.pop_front().unwrap(); + let column8_row451 = *mask_values.pop_front().unwrap(); + let column8_row461 = *mask_values.pop_front().unwrap(); + let column8_row477 = *mask_values.pop_front().unwrap(); + let column8_row493 = *mask_values.pop_front().unwrap(); + let column8_row501 = *mask_values.pop_front().unwrap(); + let column8_row509 = *mask_values.pop_front().unwrap(); + let column8_row12309 = *mask_values.pop_front().unwrap(); + let column8_row12373 = *mask_values.pop_front().unwrap(); + let column8_row12565 = *mask_values.pop_front().unwrap(); + let column8_row12629 = *mask_values.pop_front().unwrap(); + let column8_row16085 = *mask_values.pop_front().unwrap(); + let column8_row16149 = *mask_values.pop_front().unwrap(); + let column8_row16325 = *mask_values.pop_front().unwrap(); + let column8_row16331 = *mask_values.pop_front().unwrap(); + let column8_row16337 = *mask_values.pop_front().unwrap(); + let column8_row16339 = *mask_values.pop_front().unwrap(); + let column8_row16355 = *mask_values.pop_front().unwrap(); + let column8_row16357 = *mask_values.pop_front().unwrap(); + let column8_row16363 = *mask_values.pop_front().unwrap(); + let column8_row16369 = *mask_values.pop_front().unwrap(); + let column8_row16371 = *mask_values.pop_front().unwrap(); + let column8_row16385 = *mask_values.pop_front().unwrap(); + let column8_row16417 = *mask_values.pop_front().unwrap(); + let column8_row32647 = *mask_values.pop_front().unwrap(); + let column8_row32667 = *mask_values.pop_front().unwrap(); + let column8_row32715 = *mask_values.pop_front().unwrap(); + let column8_row32721 = *mask_values.pop_front().unwrap(); + let column8_row32731 = *mask_values.pop_front().unwrap(); + let column8_row32747 = *mask_values.pop_front().unwrap(); + let column8_row32753 = *mask_values.pop_front().unwrap(); + let column8_row32763 = *mask_values.pop_front().unwrap(); + let column9_inter1_row0 = *mask_values.pop_front().unwrap(); + let column9_inter1_row1 = *mask_values.pop_front().unwrap(); + let column9_inter1_row2 = *mask_values.pop_front().unwrap(); + let column9_inter1_row3 = *mask_values.pop_front().unwrap(); + let column9_inter1_row5 = *mask_values.pop_front().unwrap(); + let column9_inter1_row7 = *mask_values.pop_front().unwrap(); + let column9_inter1_row11 = *mask_values.pop_front().unwrap(); + let column9_inter1_row15 = *mask_values.pop_front().unwrap(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -541,11 +541,11 @@ fn eval_composition_polynomial_inner( - cpu_decode_opcode_range_check_bit_0) * domain4 / domain0; - let total_sum = total_sum + *constraint_coefficients[0] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. let value = (column0_row0) / domain4; - let total_sum = total_sum + *constraint_coefficients[1] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. let value = (column5_row1 @@ -554,30 +554,30 @@ fn eval_composition_polynomial_inner( * global_values.offset_size + column7_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[2] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - cpu_decode_flag_op1_base_op0_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[3] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[4] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - cpu_decode_flag_pc_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[5] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - cpu_decode_fp_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[6] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. let value = (column5_row8 @@ -586,7 +586,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_0) * column8_row0 + column7_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[7] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. let value = (column5_row4 @@ -595,7 +595,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_1) * column8_row0 + column7_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[8] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. let value = (column5_row12 @@ -606,11 +606,11 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_op1_base_op0_0 * column5_row5 + column7_row4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[9] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. let value = (column8_row4 - column5_row5 * column5_row13) / domain5; - let total_sum = total_sum + *constraint_coefficients[10] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column8_row12 @@ -618,17 +618,17 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_6 * column8_row4 + cpu_decode_flag_res_op1_0 * column5_row13)) / domain5; - let total_sum = total_sum + *constraint_coefficients[11] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. let value = (column8_row2 - cpu_decode_opcode_range_check_bit_9 * column5_row9) * domain28 / domain5; - let total_sum = total_sum + *constraint_coefficients[12] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. let value = (column8_row10 - column8_row2 * column8_row12) * domain28 / domain5; - let total_sum = total_sum + *constraint_coefficients[13] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column5_row16 @@ -638,14 +638,14 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_8 * (column5_row0 + column8_row12))) * domain28 / domain5; - let total_sum = total_sum + *constraint_coefficients[14] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. let value = ((column8_row10 - cpu_decode_opcode_range_check_bit_9) * (column5_row16 - npc_reg_0)) * domain28 / domain5; - let total_sum = total_sum + *constraint_coefficients[15] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. let value = (column8_row16 @@ -655,7 +655,7 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * 2)) * domain28 / domain5; - let total_sum = total_sum + *constraint_coefficients[16] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. let value = (column8_row24 @@ -664,29 +664,29 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * (column8_row0 + 2))) * domain28 / domain5; - let total_sum = total_sum + *constraint_coefficients[17] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. let value = (cpu_decode_opcode_range_check_bit_12 * (column5_row9 - column8_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[18] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. let value = (cpu_decode_opcode_range_check_bit_12 * (column5_row5 - (column5_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[19] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. let value = (cpu_decode_opcode_range_check_bit_12 * (column7_row0 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[20] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. let value = (cpu_decode_opcode_range_check_bit_12 * (column7_row8 - (global_values.half_offset_size + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[21] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. let value = (cpu_decode_opcode_range_check_bit_12 @@ -696,19 +696,19 @@ fn eval_composition_polynomial_inner( + 1 - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain5; - let total_sum = total_sum + *constraint_coefficients[22] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. let value = (cpu_decode_opcode_range_check_bit_13 * (column7_row0 + 2 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[23] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. let value = (cpu_decode_opcode_range_check_bit_13 * (column7_row4 + 1 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[24] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. let value = (cpu_decode_opcode_range_check_bit_13 @@ -718,35 +718,35 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_res_op1_0 - 4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[25] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. let value = (cpu_decode_opcode_range_check_bit_14 * (column5_row9 - column8_row12)) / domain5; - let total_sum = total_sum + *constraint_coefficients[26] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. let value = (column8_row0 - global_values.initial_ap) / domain29; - let total_sum = total_sum + *constraint_coefficients[27] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. let value = (column8_row8 - global_values.initial_ap) / domain29; - let total_sum = total_sum + *constraint_coefficients[28] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. let value = (column5_row0 - global_values.initial_pc) / domain29; - let total_sum = total_sum + *constraint_coefficients[29] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. let value = (column8_row0 - global_values.final_ap) / domain28; - let total_sum = total_sum + *constraint_coefficients[30] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. let value = (column8_row8 - global_values.initial_ap) / domain28; - let total_sum = total_sum + *constraint_coefficients[31] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. let value = (column5_row0 - global_values.final_pc) / domain28; - let total_sum = total_sum + *constraint_coefficients[32] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -757,7 +757,7 @@ fn eval_composition_polynomial_inner( + global_values.memory_multi_column_perm_hash_interaction_elm0 * column5_row1 - global_values.memory_multi_column_perm_perm_interaction_elm) / domain29; - let total_sum = total_sum + *constraint_coefficients[33] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -770,35 +770,35 @@ fn eval_composition_polynomial_inner( * column9_inter1_row0) * domain30 / domain1; - let total_sum = total_sum + *constraint_coefficients[34] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. let value = (column9_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain30; - let total_sum = total_sum + *constraint_coefficients[35] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain30 / domain1; - let total_sum = total_sum + *constraint_coefficients[36] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. let value = ((memory_address_diff_0 - 1) * (column6_row1 - column6_row3)) * domain30 / domain1; - let total_sum = total_sum + *constraint_coefficients[37] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. let value = (column6_row0 - 1) / domain29; - let total_sum = total_sum + *constraint_coefficients[38] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. let value = (column5_row2) / domain3; - let total_sum = total_sum + *constraint_coefficients[39] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. let value = (column5_row3) / domain3; - let total_sum = total_sum + *constraint_coefficients[40] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. let value = ((global_values.range_check16_perm_interaction_elm - column7_row2) @@ -806,7 +806,7 @@ fn eval_composition_polynomial_inner( + column7_row0 - global_values.range_check16_perm_interaction_elm) / domain29; - let total_sum = total_sum + *constraint_coefficients[41] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. let value = ((global_values.range_check16_perm_interaction_elm - column7_row6) @@ -814,26 +814,26 @@ fn eval_composition_polynomial_inner( - (global_values.range_check16_perm_interaction_elm - column7_row4) * column9_inter1_row1) * domain31 / domain2; - let total_sum = total_sum + *constraint_coefficients[42] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. let value = (column9_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / domain31; - let total_sum = total_sum + *constraint_coefficients[43] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain31 / domain2; - let total_sum = total_sum + *constraint_coefficients[44] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. let value = (column7_row2 - global_values.range_check_min) / domain29; - let total_sum = total_sum + *constraint_coefficients[45] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. let value = (column7_row2 - global_values.range_check_max) / domain31; - let total_sum = total_sum + *constraint_coefficients[46] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/init0. let value = ((global_values.diluted_check_permutation_interaction_elm - column7_row5) @@ -841,7 +841,7 @@ fn eval_composition_polynomial_inner( + column7_row1 - global_values.diluted_check_permutation_interaction_elm) / domain29; - let total_sum = total_sum + *constraint_coefficients[47] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/step0. let value = ((global_values.diluted_check_permutation_interaction_elm - column7_row13) @@ -850,20 +850,20 @@ fn eval_composition_polynomial_inner( * column9_inter1_row7) * domain32 / domain3; - let total_sum = total_sum + *constraint_coefficients[48] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/last. let value = (column9_inter1_row7 - global_values.diluted_check_permutation_public_memory_prod) / domain32; - let total_sum = total_sum + *constraint_coefficients[49] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/init. let value = (column9_inter1_row3 - 1) / domain29; - let total_sum = total_sum + *constraint_coefficients[50] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/first_element. let value = (column7_row5 - global_values.diluted_check_first_elm) / domain29; - let total_sum = total_sum + *constraint_coefficients[51] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/step. let value = (column9_inter1_row11 @@ -874,59 +874,59 @@ fn eval_composition_polynomial_inner( * (column7_row13 - column7_row5))) * domain32 / domain3; - let total_sum = total_sum + *constraint_coefficients[52] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/last. let value = (column9_inter1_row3 - global_values.diluted_check_final_cum_val) / domain32; - let total_sum = total_sum + *constraint_coefficients[53] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column8_row71 * (column3_row0 - (column3_row1 + column3_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients[54] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column8_row71 * (column3_row1 - 3138550867693340381917894711603833208051177722232017256448 * column3_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients[55] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column8_row71 - column4_row255 * (column3_row192 - (column3_row193 + column3_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients[56] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column4_row255 * (column3_row193 - 8 * column3_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients[57] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column4_row255 - (column3_row251 - (column3_row252 + column3_row252)) * (column3_row196 - (column3_row197 + column3_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients[58] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column3_row251 - (column3_row252 + column3_row252)) * (column3_row197 - 18014398509481984 * column3_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients[59] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[60] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. let value = (column3_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[61] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. let value = (column3_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[62] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. let value = (pedersen_hash0_ec_subset_sum_bit_0 @@ -934,7 +934,7 @@ fn eval_composition_polynomial_inner( - column4_row0 * (column1_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[63] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. let value = (column4_row0 * column4_row0 @@ -942,82 +942,82 @@ fn eval_composition_polynomial_inner( * (column1_row0 + global_values.pedersen_points_x + column1_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[64] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column2_row0 + column2_row1) - column4_row0 * (column1_row0 - column1_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[65] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column1_row1 - column1_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[66] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column2_row1 - column2_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[67] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. let value = (column1_row256 - column1_row255) * domain12 / domain8; - let total_sum = total_sum + *constraint_coefficients[68] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. let value = (column2_row256 - column2_row255) * domain12 / domain8; - let total_sum = total_sum + *constraint_coefficients[69] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. let value = (column1_row0 - global_values.pedersen_shift_point.x) / domain13; - let total_sum = total_sum + *constraint_coefficients[70] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. let value = (column2_row0 - global_values.pedersen_shift_point.y) / domain13; - let total_sum = total_sum + *constraint_coefficients[71] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. let value = (column5_row7 - column3_row0) / domain13; - let total_sum = total_sum + *constraint_coefficients[72] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. let value = (column5_row518 - (column5_row134 + 1)) * domain33 / domain13; - let total_sum = total_sum + *constraint_coefficients[73] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. let value = (column5_row6 - global_values.initial_pedersen_addr) / domain29; - let total_sum = total_sum + *constraint_coefficients[74] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. let value = (column5_row263 - column3_row256) / domain13; - let total_sum = total_sum + *constraint_coefficients[75] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. let value = (column5_row262 - (column5_row6 + 1)) / domain13; - let total_sum = total_sum + *constraint_coefficients[76] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. let value = (column5_row135 - column1_row511) / domain13; - let total_sum = total_sum + *constraint_coefficients[77] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. let value = (column5_row134 - (column5_row262 + 1)) / domain13; - let total_sum = total_sum + *constraint_coefficients[78] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. let value = (range_check_builtin_value7_0 - column5_row71) / domain8; - let total_sum = total_sum + *constraint_coefficients[79] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. let value = (column5_row326 - (column5_row70 + 1)) * domain34 / domain8; - let total_sum = total_sum + *constraint_coefficients[80] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. let value = (column5_row70 - global_values.initial_range_check_addr) / domain29; - let total_sum = total_sum + *constraint_coefficients[81] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/slope. let value = (ecdsa_signature0_doubling_key_x_squared @@ -1027,34 +1027,34 @@ fn eval_composition_polynomial_inner( - (column8_row33 + column8_row33) * column8_row35) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[82] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/x. let value = (column8_row35 * column8_row35 - (column8_row1 + column8_row1 + column8_row65)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[83] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/y. let value = (column8_row33 + column8_row97 - column8_row35 * (column8_row1 - column8_row65)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[84] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[85] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. let value = (column8_row59) / domain26; - let total_sum = total_sum + *constraint_coefficients[86] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. let value = (column8_row59) / domain25; - let total_sum = total_sum + *constraint_coefficients[87] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. let value = (ecdsa_signature0_exponentiate_generator_bit_0 @@ -1062,7 +1062,7 @@ fn eval_composition_polynomial_inner( - column8_row123 * (column8_row27 - global_values.ecdsa_generator_points_x)) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[88] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. let value = (column8_row123 * column8_row123 @@ -1070,157 +1070,157 @@ fn eval_composition_polynomial_inner( * (column8_row27 + global_values.ecdsa_generator_points_x + column8_row155)) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[89] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (column8_row91 + column8_row219) - column8_row123 * (column8_row27 - column8_row155)) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[90] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. let value = (column8_row7 * (column8_row27 - global_values.ecdsa_generator_points_x) - 1) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[91] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column8_row155 - column8_row27)) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[92] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column8_row219 - column8_row91)) * domain25 / domain7; - let total_sum = total_sum + *constraint_coefficients[93] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[94] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. let value = (column8_row9) / domain22; - let total_sum = total_sum + *constraint_coefficients[95] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. let value = (column8_row9) / domain21; - let total_sum = total_sum + *constraint_coefficients[96] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column8_row49 - column8_row33) - column8_row19 * (column8_row17 - column8_row1)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[97] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. let value = (column8_row19 * column8_row19 - ecdsa_signature0_exponentiate_key_bit_0 * (column8_row17 + column8_row1 + column8_row81)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[98] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column8_row49 + column8_row113) - column8_row19 * (column8_row17 - column8_row81)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[99] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. let value = (column8_row51 * (column8_row17 - column8_row1) - 1) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[100] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column8_row81 - column8_row17)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[101] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column8_row113 - column8_row49)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[102] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/x. let value = (column8_row27 - global_values.ecdsa_sig_config.shift_point.x) / domain27; - let total_sum = total_sum + *constraint_coefficients[103] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/y. let value = (column8_row91 + global_values.ecdsa_sig_config.shift_point.y) / domain27; - let total_sum = total_sum + *constraint_coefficients[104] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/x. let value = (column8_row17 - global_values.ecdsa_sig_config.shift_point.x) / domain23; - let total_sum = total_sum + *constraint_coefficients[105] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/y. let value = (column8_row49 - global_values.ecdsa_sig_config.shift_point.y) / domain23; - let total_sum = total_sum + *constraint_coefficients[106] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/slope. let value = (column8_row32731 - (column8_row16369 + column8_row32763 * (column8_row32667 - column8_row16337))) / domain27; - let total_sum = total_sum + *constraint_coefficients[107] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x. let value = (column8_row32763 * column8_row32763 - (column8_row32667 + column8_row16337 + column8_row16385)) / domain27; - let total_sum = total_sum + *constraint_coefficients[108] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/y. let value = (column8_row32731 + column8_row16417 - column8_row32763 * (column8_row32667 - column8_row16385)) / domain27; - let total_sum = total_sum + *constraint_coefficients[109] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x_diff_inv. let value = (column8_row32647 * (column8_row32667 - column8_row16337) - 1) / domain27; - let total_sum = total_sum + *constraint_coefficients[110] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/slope. let value = (column8_row32753 + global_values.ecdsa_sig_config.shift_point.y - column8_row16331 * (column8_row32721 - global_values.ecdsa_sig_config.shift_point.x)) / domain27; - let total_sum = total_sum + *constraint_coefficients[111] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x. let value = (column8_row16331 * column8_row16331 - (column8_row32721 + global_values.ecdsa_sig_config.shift_point.x + column8_row9)) / domain27; - let total_sum = total_sum + *constraint_coefficients[112] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x_diff_inv. let value = (column8_row32715 * (column8_row32721 - global_values.ecdsa_sig_config.shift_point.x) - 1) / domain27; - let total_sum = total_sum + *constraint_coefficients[113] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/z_nonzero. let value = (column8_row59 * column8_row16363 - 1) / domain27; - let total_sum = total_sum + *constraint_coefficients[114] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/r_and_w_nonzero. let value = (column8_row9 * column8_row16355 - 1) / domain23; - let total_sum = total_sum + *constraint_coefficients[115] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/x_squared. let value = (column8_row32747 - column8_row1 * column8_row1) / domain27; - let total_sum = total_sum + *constraint_coefficients[116] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/on_curve. let value = (column8_row33 * column8_row33 @@ -1228,104 +1228,104 @@ fn eval_composition_polynomial_inner( + global_values.ecdsa_sig_config.alpha * column8_row1 + global_values.ecdsa_sig_config.beta)) / domain27; - let total_sum = total_sum + *constraint_coefficients[117] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/init_addr. let value = (column5_row390 - global_values.initial_ecdsa_addr) / domain29; - let total_sum = total_sum + *constraint_coefficients[118] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_addr. let value = (column5_row16774 - (column5_row390 + 1)) / domain27; - let total_sum = total_sum + *constraint_coefficients[119] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_addr. let value = (column5_row33158 - (column5_row16774 + 1)) * domain35 / domain27; - let total_sum = total_sum + *constraint_coefficients[120] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_value0. let value = (column5_row16775 - column8_row59) / domain27; - let total_sum = total_sum + *constraint_coefficients[121] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_value0. let value = (column5_row391 - column8_row1) / domain27; - let total_sum = total_sum + *constraint_coefficients[122] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/init_var_pool_addr. let value = (column5_row198 - global_values.initial_bitwise_addr) / domain29; - let total_sum = total_sum + *constraint_coefficients[123] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/step_var_pool_addr. let value = (column5_row454 - (column5_row198 + 1)) * domain18 / domain8; - let total_sum = total_sum + *constraint_coefficients[124] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/x_or_y_addr. let value = (column5_row902 - (column5_row966 + 1)) / domain19; - let total_sum = total_sum + *constraint_coefficients[125] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/next_var_pool_addr. let value = (column5_row1222 - (column5_row902 + 1)) * domain36 / domain19; - let total_sum = total_sum + *constraint_coefficients[126] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/partition. let value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column5_row199) / domain8; - let total_sum = total_sum + *constraint_coefficients[127] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/or_is_and_plus_xor. let value = (column5_row903 - (column5_row711 + column5_row967)) / domain19; - let total_sum = total_sum + *constraint_coefficients[128] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/addition_is_xor_with_and. let value = (column7_row1 + column7_row257 - (column7_row769 + column7_row513 + column7_row513)) / domain20; - let total_sum = total_sum + *constraint_coefficients[129] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking192. let value = ((column7_row705 + column7_row961) * 16 - column7_row9) / domain19; - let total_sum = total_sum + *constraint_coefficients[130] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking193. let value = ((column7_row721 + column7_row977) * 16 - column7_row521) / domain19; - let total_sum = total_sum + *constraint_coefficients[131] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking194. let value = ((column7_row737 + column7_row993) * 16 - column7_row265) / domain19; - let total_sum = total_sum + *constraint_coefficients[132] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking195. let value = ((column7_row753 + column7_row1009) * 256 - column7_row777) / domain19; - let total_sum = total_sum + *constraint_coefficients[133] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/init_addr. let value = (column5_row8582 - global_values.initial_ec_op_addr) / domain29; - let total_sum = total_sum + *constraint_coefficients[134] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/p_x_addr. let value = (column5_row24966 - (column5_row8582 + 7)) * domain37 / domain23; - let total_sum = total_sum + *constraint_coefficients[135] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/p_y_addr. let value = (column5_row4486 - (column5_row8582 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[136] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/q_x_addr. let value = (column5_row12678 - (column5_row4486 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[137] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/q_y_addr. let value = (column5_row2438 - (column5_row12678 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[138] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/m_addr. let value = (column5_row10630 - (column5_row2438 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[139] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/r_x_addr. let value = (column5_row6534 - (column5_row10630 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[140] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/r_y_addr. let value = (column5_row14726 - (column5_row6534 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[141] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/slope. let value = (ec_op_doubling_q_x_squared_0 @@ -1335,195 +1335,195 @@ fn eval_composition_polynomial_inner( - (column8_row25 + column8_row25) * column8_row57) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[142] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/x. let value = (column8_row57 * column8_row57 - (column8_row41 + column8_row41 + column8_row105)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[143] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/doubling_q/y. let value = (column8_row25 + column8_row89 - column8_row57 * (column8_row41 - column8_row105)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[144] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_q_x. let value = (column5_row12679 - column8_row41) / domain23; - let total_sum = total_sum + *constraint_coefficients[145] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_q_y. let value = (column5_row2439 - column8_row25) / domain23; - let total_sum = total_sum + *constraint_coefficients[146] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column8_row16371 * (column8_row21 - (column8_row85 + column8_row85))) / domain23; - let total_sum = total_sum + *constraint_coefficients[147] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column8_row16371 * (column8_row85 - 3138550867693340381917894711603833208051177722232017256448 * column8_row12309)) / domain23; - let total_sum = total_sum + *constraint_coefficients[148] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column8_row16371 - column8_row16339 * (column8_row12309 - (column8_row12373 + column8_row12373))) / domain23; - let total_sum = total_sum + *constraint_coefficients[149] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column8_row16339 * (column8_row12373 - 8 * column8_row12565)) / domain23; - let total_sum = total_sum + *constraint_coefficients[150] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column8_row16339 - (column8_row16085 - (column8_row16149 + column8_row16149)) * (column8_row12565 - (column8_row12629 + column8_row12629))) / domain23; - let total_sum = total_sum + *constraint_coefficients[151] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column8_row16085 - (column8_row16149 + column8_row16149)) * (column8_row12629 - 18014398509481984 * column8_row16085)) / domain23; - let total_sum = total_sum + *constraint_coefficients[152] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/booleanity_test. let value = (ec_op_ec_subset_sum_bit_0 * (ec_op_ec_subset_sum_bit_0 - 1)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[153] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/bit_extraction_end. let value = (column8_row21) / domain24; - let total_sum = total_sum + *constraint_coefficients[154] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/zeros_tail. let value = (column8_row21) / domain21; - let total_sum = total_sum + *constraint_coefficients[155] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/slope. let value = (ec_op_ec_subset_sum_bit_0 * (column8_row37 - column8_row25) - column8_row11 * (column8_row5 - column8_row41)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[156] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/x. let value = (column8_row11 * column8_row11 - ec_op_ec_subset_sum_bit_0 * (column8_row5 + column8_row41 + column8_row69)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[157] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/y. let value = (ec_op_ec_subset_sum_bit_0 * (column8_row37 + column8_row101) - column8_row11 * (column8_row5 - column8_row69)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[158] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/add_points/x_diff_inv. let value = (column8_row43 * (column8_row5 - column8_row41) - 1) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[159] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/copy_point/x. let value = (ec_op_ec_subset_sum_bit_neg_0 * (column8_row69 - column8_row5)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[160] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/ec_subset_sum/copy_point/y. let value = (ec_op_ec_subset_sum_bit_neg_0 * (column8_row101 - column8_row37)) * domain21 / domain6; - let total_sum = total_sum + *constraint_coefficients[161] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_m. let value = (column8_row21 - column5_row10631) / domain23; - let total_sum = total_sum + *constraint_coefficients[162] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_p_x. let value = (column5_row8583 - column8_row5) / domain23; - let total_sum = total_sum + *constraint_coefficients[163] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/get_p_y. let value = (column5_row4487 - column8_row37) / domain23; - let total_sum = total_sum + *constraint_coefficients[164] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/set_r_x. let value = (column5_row6535 - column8_row16325) / domain23; - let total_sum = total_sum + *constraint_coefficients[165] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ec_op/set_r_y. let value = (column5_row14727 - column8_row16357) / domain23; - let total_sum = total_sum + *constraint_coefficients[166] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/init_input_output_addr. let value = (column5_row38 - global_values.initial_poseidon_addr) / domain29; - let total_sum = total_sum + *constraint_coefficients[167] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/addr_input_output_step. let value = (column5_row294 - (column5_row38 + 3)) * domain34 / domain8; - let total_sum = total_sum + *constraint_coefficients[168] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/init_input_output_addr. let value = (column5_row166 - (global_values.initial_poseidon_addr + 1)) / domain29; - let total_sum = total_sum + *constraint_coefficients[169] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/addr_input_output_step. let value = (column5_row422 - (column5_row166 + 3)) * domain34 / domain8; - let total_sum = total_sum + *constraint_coefficients[170] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/init_input_output_addr. let value = (column5_row102 - (global_values.initial_poseidon_addr + 2)) / domain29; - let total_sum = total_sum + *constraint_coefficients[171] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/addr_input_output_step. let value = (column5_row358 - (column5_row102 + 3)) * domain34 / domain8; - let total_sum = total_sum + *constraint_coefficients[172] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state0_squaring. let value = (column8_row53 * column8_row53 - column8_row29) / domain6; - let total_sum = total_sum + *constraint_coefficients[173] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state1_squaring. let value = (column8_row13 * column8_row13 - column8_row61) / domain6; - let total_sum = total_sum + *constraint_coefficients[174] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state2_squaring. let value = (column8_row45 * column8_row45 - column8_row3) / domain6; - let total_sum = total_sum + *constraint_coefficients[175] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. let value = (column7_row3 * column7_row3 - column7_row7) / domain3; - let total_sum = total_sum + *constraint_coefficients[176] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. let value = (column8_row6 * column8_row6 - column8_row14) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[177] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key0. let value = (column5_row39 + 2950795762459345168613727575620414179244544320470208355568817838579231751791 - column8_row53) / domain13; - let total_sum = total_sum + *constraint_coefficients[178] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key1. let value = (column5_row167 + 1587446564224215276866294500450702039420286416111469274423465069420553242820 - column8_row13) / domain13; - let total_sum = total_sum + *constraint_coefficients[179] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key2. let value = (column5_row103 + 1645965921169490687904413452218868659025437693527479459426157555728339600137 - column8_row45) / domain13; - let total_sum = total_sum + *constraint_coefficients[180] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round0. let value = (column8_row117 @@ -1535,7 +1535,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key0)) * domain11 / domain6; - let total_sum = total_sum + *constraint_coefficients[181] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round1. let value = (column8_row77 @@ -1545,7 +1545,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key1)) * domain11 / domain6; - let total_sum = total_sum + *constraint_coefficients[182] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round2. let value = (column8_row109 @@ -1556,7 +1556,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key2)) * domain11 / domain6; - let total_sum = total_sum + *constraint_coefficients[183] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round0. let value = (column5_row295 @@ -1566,7 +1566,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_full_rounds_state1_cubed_7 + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain13; - let total_sum = total_sum + *constraint_coefficients[184] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round1. let value = (column5_row423 @@ -1574,7 +1574,7 @@ fn eval_composition_polynomial_inner( - (poseidon_poseidon_full_rounds_state0_cubed_7 + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain13; - let total_sum = total_sum + *constraint_coefficients[185] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round2. let value = (column5_row359 @@ -1583,19 +1583,19 @@ fn eval_composition_polynomial_inner( - (poseidon_poseidon_full_rounds_state0_cubed_7 + poseidon_poseidon_full_rounds_state1_cubed_7)) / domain13; - let total_sum = total_sum + *constraint_coefficients[186] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. let value = (column7_row491 - column8_row6) / domain13; - let total_sum = total_sum + *constraint_coefficients[187] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. let value = (column7_row499 - column8_row22) / domain13; - let total_sum = total_sum + *constraint_coefficients[188] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. let value = (column7_row507 - column8_row38) / domain13; - let total_sum = total_sum + *constraint_coefficients[189] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial0. let value = (column7_row3 @@ -1605,7 +1605,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_full_rounds_state1_cubed_3 + 2121140748740143694053732746913428481442990369183417228688865837805149503386)) / domain13; - let total_sum = total_sum + *constraint_coefficients[190] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial1. let value = (column7_row11 @@ -1617,7 +1617,7 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state0_cubed_0 + 2006642341318481906727563724340978325665491359415674592697055778067937914672)) / domain13; - let total_sum = total_sum + *constraint_coefficients[191] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial2. let value = (column7_row19 @@ -1630,7 +1630,7 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state0_cubed_1 + 427751140904099001132521606468025610873158555767197326325930641757709538586)) / domain13; - let total_sum = total_sum + *constraint_coefficients[192] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round0. let value = (column7_row27 @@ -1644,7 +1644,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_partial_round_key0)) * domain16 / domain3; - let total_sum = total_sum + *constraint_coefficients[193] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round1. let value = (column8_row54 @@ -1658,7 +1658,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_partial_round_key1)) * domain17 / domain5; - let total_sum = total_sum + *constraint_coefficients[194] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full0. let value = (column8_row309 @@ -1669,7 +1669,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_partial_rounds_state1_cubed_21 + 560279373700919169769089400651532183647886248799764942664266404650165812023)) / domain13; - let total_sum = total_sum + *constraint_coefficients[195] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full1. let value = (column8_row269 @@ -1679,7 +1679,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_partial_rounds_state1_cubed_21 + 1401754474293352309994371631695783042590401941592571735921592823982231996415)) / domain13; - let total_sum = total_sum + *constraint_coefficients[196] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full2. let value = (column8_row301 @@ -1692,15 +1692,15 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state1_cubed_21 + 1246177936547655338400308396717835700699368047388302793172818304164989556526)) / domain13; - let total_sum = total_sum + *constraint_coefficients[197] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } fn eval_oods_polynomial_inner( - column_values: Span, - oods_values: Span, - constraint_coefficients: Span, + mut column_values: Span, + mut oods_values: Span, + mut constraint_coefficients: Span, point: felt252, oods_point: felt252, trace_generator: felt252, @@ -1901,843 +1901,843 @@ fn eval_oods_polynomial_inner( let pow192 = pow31 * pow182; // pow(trace_generator, 777). // Fetch columns. - let column0 = *column_values[0]; - let column1 = *column_values[1]; - let column2 = *column_values[2]; - let column3 = *column_values[3]; - let column4 = *column_values[4]; - let column5 = *column_values[5]; - let column6 = *column_values[6]; - let column7 = *column_values[7]; - let column8 = *column_values[8]; - let column9 = *column_values[9]; + let column0 = *column_values.pop_front().unwrap(); + let column1 = *column_values.pop_front().unwrap(); + let column2 = *column_values.pop_front().unwrap(); + let column3 = *column_values.pop_front().unwrap(); + let column4 = *column_values.pop_front().unwrap(); + let column5 = *column_values.pop_front().unwrap(); + let column6 = *column_values.pop_front().unwrap(); + let column7 = *column_values.pop_front().unwrap(); + let column8 = *column_values.pop_front().unwrap(); + let column9 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; - let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[0] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[1]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[1] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[2]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[2] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[3]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[3] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[4]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[4] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[5]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[5] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[6]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[6] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[7]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[7] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[8]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[8] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[9]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[9] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[10]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[10] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[11]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[11] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[12]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[12] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[13]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[13] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[14]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[14] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[15]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[15] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[16] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[17]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[17] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[18]) / (point - pow134 * oods_point); - let total_sum = total_sum + *constraint_coefficients[18] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow134 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[19]) / (point - pow135 * oods_point); - let total_sum = total_sum + *constraint_coefficients[19] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow135 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[20]) / (point - pow172 * oods_point); - let total_sum = total_sum + *constraint_coefficients[20] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow172 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[21]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[21] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[22]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[22] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[23]) / (point - pow134 * oods_point); - let total_sum = total_sum + *constraint_coefficients[23] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow134 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[24]) / (point - pow135 * oods_point); - let total_sum = total_sum + *constraint_coefficients[24] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow135 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[25]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[25] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[26]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[26] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[27]) / (point - pow105 * oods_point); - let total_sum = total_sum + *constraint_coefficients[27] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow105 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[28]) / (point - pow106 * oods_point); - let total_sum = total_sum + *constraint_coefficients[28] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow106 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[29]) / (point - pow108 * oods_point); - let total_sum = total_sum + *constraint_coefficients[29] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow108 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[30]) / (point - pow109 * oods_point); - let total_sum = total_sum + *constraint_coefficients[30] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow109 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[31]) / (point - pow122 * oods_point); - let total_sum = total_sum + *constraint_coefficients[31] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow122 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[32]) / (point - pow123 * oods_point); - let total_sum = total_sum + *constraint_coefficients[32] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow123 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[33]) / (point - pow135 * oods_point); - let total_sum = total_sum + *constraint_coefficients[33] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow135 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[34]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[34] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[35]) / (point - pow134 * oods_point); - let total_sum = total_sum + *constraint_coefficients[35] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow134 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[36]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[36] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[37]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[37] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[38]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[38] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[39]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[39] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[40]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[40] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[41]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[41] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[42]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[42] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[43]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[43] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[44]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[44] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[45]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[45] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[46]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[46] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[47]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[47] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[48]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[48] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[49]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[49] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[50]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[50] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[51]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[51] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[52]) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients[52] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[53]) / (point - pow85 * oods_point); - let total_sum = total_sum + *constraint_coefficients[53] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow85 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[54]) / (point - pow86 * oods_point); - let total_sum = total_sum + *constraint_coefficients[54] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow86 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[55]) / (point - pow94 * oods_point); - let total_sum = total_sum + *constraint_coefficients[55] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow94 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[56]) / (point - pow95 * oods_point); - let total_sum = total_sum + *constraint_coefficients[56] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow95 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[57]) / (point - pow100 * oods_point); - let total_sum = total_sum + *constraint_coefficients[57] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow100 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[58]) / (point - pow101 * oods_point); - let total_sum = total_sum + *constraint_coefficients[58] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow101 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[59]) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients[59] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[60]) / (point - pow111 * oods_point); - let total_sum = total_sum + *constraint_coefficients[60] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow111 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[61]) / (point - pow141 * oods_point); - let total_sum = total_sum + *constraint_coefficients[61] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow141 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[62]) / (point - pow142 * oods_point); - let total_sum = total_sum + *constraint_coefficients[62] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow142 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[63]) / (point - pow145 * oods_point); - let total_sum = total_sum + *constraint_coefficients[63] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow145 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[64]) / (point - pow146 * oods_point); - let total_sum = total_sum + *constraint_coefficients[64] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow146 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[65]) / (point - pow153 * oods_point); - let total_sum = total_sum + *constraint_coefficients[65] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow153 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[66]) / (point - pow157 * oods_point); - let total_sum = total_sum + *constraint_coefficients[66] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow157 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[67]) / (point - pow160 * oods_point); - let total_sum = total_sum + *constraint_coefficients[67] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow160 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[68]) / (point - pow152 * oods_point); - let total_sum = total_sum + *constraint_coefficients[68] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow152 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[69]) / (point - pow159 * oods_point); - let total_sum = total_sum + *constraint_coefficients[69] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow159 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[70]) / (point - pow151 * oods_point); - let total_sum = total_sum + *constraint_coefficients[70] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow151 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[71]) / (point - pow158 * oods_point); - let total_sum = total_sum + *constraint_coefficients[71] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow158 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[72]) / (point - pow163 * oods_point); - let total_sum = total_sum + *constraint_coefficients[72] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow163 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[73]) / (point - pow175 * oods_point); - let total_sum = total_sum + *constraint_coefficients[73] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow175 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[74]) / (point - pow178 * oods_point); - let total_sum = total_sum + *constraint_coefficients[74] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow178 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[75]) / (point - pow177 * oods_point); - let total_sum = total_sum + *constraint_coefficients[75] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow177 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[76]) / (point - pow188 * oods_point); - let total_sum = total_sum + *constraint_coefficients[76] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow188 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[77]) / (point - pow184 * oods_point); - let total_sum = total_sum + *constraint_coefficients[77] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow184 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[78]) / (point - pow185 * oods_point); - let total_sum = total_sum + *constraint_coefficients[78] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow185 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[79]) / (point - pow187 * oods_point); - let total_sum = total_sum + *constraint_coefficients[79] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow187 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[80]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[80] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[81]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[81] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[82]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[82] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[83]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[83] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[84]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[84] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[85]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[85] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[86]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[86] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[87]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[87] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[88]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[88] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[89]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[89] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[90]) / (point - pow139 * oods_point); - let total_sum = total_sum + *constraint_coefficients[90] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow139 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[91]) / (point - pow140 * oods_point); - let total_sum = total_sum + *constraint_coefficients[91] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow140 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[92]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[92] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[93]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[93] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[94]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[94] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[95]) / (point - pow161 * oods_point); - let total_sum = total_sum + *constraint_coefficients[95] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow161 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[96]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[96] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[97]) / (point - pow173 * oods_point); - let total_sum = total_sum + *constraint_coefficients[97] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow173 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[98]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[98] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[99]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[99] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[100]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[100] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[101]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[101] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[102]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[102] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[103]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[103] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[104]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[104] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[105]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[105] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[106]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[106] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[107]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[107] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[108]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[108] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[109]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[109] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[110]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[110] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[111]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[111] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[112]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[112] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[113]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[113] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[114]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[114] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[115]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[115] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[116]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[116] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[117]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[117] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[118]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[118] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[119]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[119] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[120]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[120] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[121]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[121] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[122]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[122] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[123]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[123] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[124]) / (point - pow77 * oods_point); - let total_sum = total_sum + *constraint_coefficients[124] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow77 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[125]) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients[125] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[126]) / (point - pow83 * oods_point); - let total_sum = total_sum + *constraint_coefficients[126] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow83 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[127]) / (point - pow88 * oods_point); - let total_sum = total_sum + *constraint_coefficients[127] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow88 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[128]) / (point - pow90 * oods_point); - let total_sum = total_sum + *constraint_coefficients[128] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow90 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[129]) / (point - pow93 * oods_point); - let total_sum = total_sum + *constraint_coefficients[129] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow93 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[130]) / (point - pow96 * oods_point); - let total_sum = total_sum + *constraint_coefficients[130] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow96 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[131]) / (point - pow97 * oods_point); - let total_sum = total_sum + *constraint_coefficients[131] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow97 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[132]) / (point - pow99 * oods_point); - let total_sum = total_sum + *constraint_coefficients[132] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow99 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[133]) / (point - pow102 * oods_point); - let total_sum = total_sum + *constraint_coefficients[133] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow102 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[134]) / (point - pow103 * oods_point); - let total_sum = total_sum + *constraint_coefficients[134] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow103 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[135]) / (point - pow106 * oods_point); - let total_sum = total_sum + *constraint_coefficients[135] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow106 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[136]) / (point - pow112 * oods_point); - let total_sum = total_sum + *constraint_coefficients[136] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow112 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[137]) / (point - pow114 * oods_point); - let total_sum = total_sum + *constraint_coefficients[137] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow114 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[138]) / (point - pow117 * oods_point); - let total_sum = total_sum + *constraint_coefficients[138] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow117 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[139]) / (point - pow118 * oods_point); - let total_sum = total_sum + *constraint_coefficients[139] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow118 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[140]) / (point - pow120 * oods_point); - let total_sum = total_sum + *constraint_coefficients[140] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow120 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[141]) / (point - pow136 * oods_point); - let total_sum = total_sum + *constraint_coefficients[141] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow136 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[142]) / (point - pow143 * oods_point); - let total_sum = total_sum + *constraint_coefficients[142] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow143 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[143]) / (point - pow166 * oods_point); - let total_sum = total_sum + *constraint_coefficients[143] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow166 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[144]) / (point - pow168 * oods_point); - let total_sum = total_sum + *constraint_coefficients[144] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow168 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[145]) / (point - pow170 * oods_point); - let total_sum = total_sum + *constraint_coefficients[145] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow170 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[146]) / (point - pow174 * oods_point); - let total_sum = total_sum + *constraint_coefficients[146] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow174 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[147]) / (point - pow191 * oods_point); - let total_sum = total_sum + *constraint_coefficients[147] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow191 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[148]) / (point - pow176 * oods_point); - let total_sum = total_sum + *constraint_coefficients[148] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow176 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[149]) / (point - pow179 * oods_point); - let total_sum = total_sum + *constraint_coefficients[149] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow179 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[150]) / (point - pow180 * oods_point); - let total_sum = total_sum + *constraint_coefficients[150] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow180 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[151]) / (point - pow181 * oods_point); - let total_sum = total_sum + *constraint_coefficients[151] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow181 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[152]) / (point - pow182 * oods_point); - let total_sum = total_sum + *constraint_coefficients[152] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow182 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[153]) / (point - pow192 * oods_point); - let total_sum = total_sum + *constraint_coefficients[153] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow192 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[154]) / (point - pow183 * oods_point); - let total_sum = total_sum + *constraint_coefficients[154] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow183 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[155]) / (point - pow186 * oods_point); - let total_sum = total_sum + *constraint_coefficients[155] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow186 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[156]) / (point - pow189 * oods_point); - let total_sum = total_sum + *constraint_coefficients[156] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow189 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[157]) / (point - pow190 * oods_point); - let total_sum = total_sum + *constraint_coefficients[157] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow190 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[158]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[158] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[159]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[159] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[160]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[160] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[161]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[161] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[162]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[162] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[163]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[163] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[164]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[164] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[165]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[165] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[166]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[166] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[167]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[167] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[168]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[168] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[169]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[169] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[170]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[170] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[171]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[171] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[172]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[172] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[173]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[173] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[174]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[174] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[175]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[175] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[176]) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients[176] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[177]) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients[177] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[178]) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients[178] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[179]) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients[179] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[180]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[180] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[181]) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients[181] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[182]) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients[182] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[183]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[183] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[184]) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients[184] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[185]) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients[185] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[186]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[186] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[187]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[187] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[188]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[188] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[189]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[189] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[190]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[190] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[191]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[191] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[192]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[192] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[193]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[193] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[194]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[194] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[195]) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients[195] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[196]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[196] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[197]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[197] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[198]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[198] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[199]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[199] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[200]) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients[200] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[201]) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients[201] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[202]) / (point - pow78 * oods_point); - let total_sum = total_sum + *constraint_coefficients[202] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow78 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[203]) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients[203] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[204]) / (point - pow80 * oods_point); - let total_sum = total_sum + *constraint_coefficients[204] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow80 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[205]) / (point - pow81 * oods_point); - let total_sum = total_sum + *constraint_coefficients[205] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow81 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[206]) / (point - pow82 * oods_point); - let total_sum = total_sum + *constraint_coefficients[206] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow82 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[207]) / (point - pow83 * oods_point); - let total_sum = total_sum + *constraint_coefficients[207] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow83 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[208]) / (point - pow84 * oods_point); - let total_sum = total_sum + *constraint_coefficients[208] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow84 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[209]) / (point - pow87 * oods_point); - let total_sum = total_sum + *constraint_coefficients[209] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow87 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[210]) / (point - pow89 * oods_point); - let total_sum = total_sum + *constraint_coefficients[210] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow89 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[211]) / (point - pow90 * oods_point); - let total_sum = total_sum + *constraint_coefficients[211] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow90 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[212]) / (point - pow91 * oods_point); - let total_sum = total_sum + *constraint_coefficients[212] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow91 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[213]) / (point - pow92 * oods_point); - let total_sum = total_sum + *constraint_coefficients[213] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow92 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[214]) / (point - pow98 * oods_point); - let total_sum = total_sum + *constraint_coefficients[214] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow98 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[215]) / (point - pow104 * oods_point); - let total_sum = total_sum + *constraint_coefficients[215] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow104 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[216]) / (point - pow107 * oods_point); - let total_sum = total_sum + *constraint_coefficients[216] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow107 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[217]) / (point - pow113 * oods_point); - let total_sum = total_sum + *constraint_coefficients[217] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow113 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[218]) / (point - pow115 * oods_point); - let total_sum = total_sum + *constraint_coefficients[218] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow115 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[219]) / (point - pow116 * oods_point); - let total_sum = total_sum + *constraint_coefficients[219] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow116 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[220]) / (point - pow119 * oods_point); - let total_sum = total_sum + *constraint_coefficients[220] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow119 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[221]) / (point - pow121 * oods_point); - let total_sum = total_sum + *constraint_coefficients[221] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow121 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[222]) / (point - pow133 * oods_point); - let total_sum = total_sum + *constraint_coefficients[222] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow133 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[223]) / (point - pow144 * oods_point); - let total_sum = total_sum + *constraint_coefficients[223] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow144 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[224]) / (point - pow147 * oods_point); - let total_sum = total_sum + *constraint_coefficients[224] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow147 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[225]) / (point - pow148 * oods_point); - let total_sum = total_sum + *constraint_coefficients[225] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow148 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[226]) / (point - pow149 * oods_point); - let total_sum = total_sum + *constraint_coefficients[226] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow149 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[227]) / (point - pow150 * oods_point); - let total_sum = total_sum + *constraint_coefficients[227] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow150 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[228]) / (point - pow153 * oods_point); - let total_sum = total_sum + *constraint_coefficients[228] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow153 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[229]) / (point - pow154 * oods_point); - let total_sum = total_sum + *constraint_coefficients[229] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow154 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[230]) / (point - pow155 * oods_point); - let total_sum = total_sum + *constraint_coefficients[230] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow155 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[231]) / (point - pow156 * oods_point); - let total_sum = total_sum + *constraint_coefficients[231] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow156 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[232]) / (point - pow162 * oods_point); - let total_sum = total_sum + *constraint_coefficients[232] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow162 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[233]) / (point - pow164 * oods_point); - let total_sum = total_sum + *constraint_coefficients[233] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow164 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[234]) / (point - pow165 * oods_point); - let total_sum = total_sum + *constraint_coefficients[234] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow165 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[235]) / (point - pow167 * oods_point); - let total_sum = total_sum + *constraint_coefficients[235] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow167 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[236]) / (point - pow169 * oods_point); - let total_sum = total_sum + *constraint_coefficients[236] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow169 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[237]) / (point - pow171 * oods_point); - let total_sum = total_sum + *constraint_coefficients[237] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow171 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[238]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[238] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[239]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[239] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[240]) / (point - pow138 * oods_point); - let total_sum = total_sum + *constraint_coefficients[240] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow138 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[241]) / (point - pow137 * oods_point); - let total_sum = total_sum + *constraint_coefficients[241] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow137 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[242]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[242] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[243]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[243] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[244]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[244] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[245]) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients[245] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[246]) / (point - pow124 * oods_point); - let total_sum = total_sum + *constraint_coefficients[246] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow124 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[247]) / (point - pow125 * oods_point); - let total_sum = total_sum + *constraint_coefficients[247] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow125 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[248]) / (point - pow126 * oods_point); - let total_sum = total_sum + *constraint_coefficients[248] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow126 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[249]) / (point - pow127 * oods_point); - let total_sum = total_sum + *constraint_coefficients[249] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow127 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[250]) / (point - pow128 * oods_point); - let total_sum = total_sum + *constraint_coefficients[250] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow128 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[251]) / (point - pow129 * oods_point); - let total_sum = total_sum + *constraint_coefficients[251] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow129 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[252]) / (point - pow130 * oods_point); - let total_sum = total_sum + *constraint_coefficients[252] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow130 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[253]) / (point - pow131 * oods_point); - let total_sum = total_sum + *constraint_coefficients[253] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow131 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[254]) / (point - pow132 * oods_point); - let total_sum = total_sum + *constraint_coefficients[254] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow132 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[255]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[255] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[256]) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients[256] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[257]) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients[257] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[258]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[258] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[259]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[259] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[260]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[260] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[261]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[261] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[262]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[262] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[263]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[263] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[264]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[264] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[265]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[265] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[266]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[266] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[267]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[267] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[268]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[268] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[269]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[269] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[270]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[270] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[271]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[271] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[272]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[272] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(273 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From 2043afc3c3f59e501d905c07ab39583ca3baf275 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:37:59 +0100 Subject: [PATCH 16/29] small pop_front optimization --- src/air/layouts/small/autogenerated.cairo | 1632 ++++++++++----------- 1 file changed, 816 insertions(+), 816 deletions(-) diff --git a/src/air/layouts/small/autogenerated.cairo b/src/air/layouts/small/autogenerated.cairo index b396bb14c..6af690134 100644 --- a/src/air/layouts/small/autogenerated.cairo +++ b/src/air/layouts/small/autogenerated.cairo @@ -7,8 +7,8 @@ use cairo_verifier::{ }; fn eval_composition_polynomial_inner( - mask_values: Span, - constraint_coefficients: Span, + mut mask_values: Span, + mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, global_values: GlobalValues @@ -62,207 +62,207 @@ fn eval_composition_polynomial_inner( let domain23 = point - pow10; // Fetch mask variables. - let column0_row0 = *mask_values[0]; - let column0_row1 = *mask_values[1]; - let column0_row4 = *mask_values[2]; - let column0_row8 = *mask_values[3]; - let column0_row12 = *mask_values[4]; - let column0_row28 = *mask_values[5]; - let column0_row44 = *mask_values[6]; - let column0_row60 = *mask_values[7]; - let column0_row76 = *mask_values[8]; - let column0_row92 = *mask_values[9]; - let column0_row108 = *mask_values[10]; - let column0_row124 = *mask_values[11]; - let column1_row0 = *mask_values[12]; - let column1_row1 = *mask_values[13]; - let column1_row2 = *mask_values[14]; - let column1_row3 = *mask_values[15]; - let column1_row4 = *mask_values[16]; - let column1_row5 = *mask_values[17]; - let column1_row6 = *mask_values[18]; - let column1_row7 = *mask_values[19]; - let column1_row8 = *mask_values[20]; - let column1_row9 = *mask_values[21]; - let column1_row10 = *mask_values[22]; - let column1_row11 = *mask_values[23]; - let column1_row12 = *mask_values[24]; - let column1_row13 = *mask_values[25]; - let column1_row14 = *mask_values[26]; - let column1_row15 = *mask_values[27]; - let column2_row0 = *mask_values[28]; - let column2_row1 = *mask_values[29]; - let column3_row0 = *mask_values[30]; - let column3_row1 = *mask_values[31]; - let column3_row255 = *mask_values[32]; - let column3_row256 = *mask_values[33]; - let column3_row511 = *mask_values[34]; - let column4_row0 = *mask_values[35]; - let column4_row1 = *mask_values[36]; - let column4_row255 = *mask_values[37]; - let column4_row256 = *mask_values[38]; - let column5_row0 = *mask_values[39]; - let column5_row1 = *mask_values[40]; - let column5_row192 = *mask_values[41]; - let column5_row193 = *mask_values[42]; - let column5_row196 = *mask_values[43]; - let column5_row197 = *mask_values[44]; - let column5_row251 = *mask_values[45]; - let column5_row252 = *mask_values[46]; - let column5_row256 = *mask_values[47]; - let column6_row0 = *mask_values[48]; - let column6_row1 = *mask_values[49]; - let column6_row255 = *mask_values[50]; - let column6_row256 = *mask_values[51]; - let column6_row511 = *mask_values[52]; - let column7_row0 = *mask_values[53]; - let column7_row1 = *mask_values[54]; - let column7_row255 = *mask_values[55]; - let column7_row256 = *mask_values[56]; - let column8_row0 = *mask_values[57]; - let column8_row1 = *mask_values[58]; - let column8_row192 = *mask_values[59]; - let column8_row193 = *mask_values[60]; - let column8_row196 = *mask_values[61]; - let column8_row197 = *mask_values[62]; - let column8_row251 = *mask_values[63]; - let column8_row252 = *mask_values[64]; - let column8_row256 = *mask_values[65]; - let column9_row0 = *mask_values[66]; - let column9_row1 = *mask_values[67]; - let column9_row255 = *mask_values[68]; - let column9_row256 = *mask_values[69]; - let column9_row511 = *mask_values[70]; - let column10_row0 = *mask_values[71]; - let column10_row1 = *mask_values[72]; - let column10_row255 = *mask_values[73]; - let column10_row256 = *mask_values[74]; - let column11_row0 = *mask_values[75]; - let column11_row1 = *mask_values[76]; - let column11_row192 = *mask_values[77]; - let column11_row193 = *mask_values[78]; - let column11_row196 = *mask_values[79]; - let column11_row197 = *mask_values[80]; - let column11_row251 = *mask_values[81]; - let column11_row252 = *mask_values[82]; - let column11_row256 = *mask_values[83]; - let column12_row0 = *mask_values[84]; - let column12_row1 = *mask_values[85]; - let column12_row255 = *mask_values[86]; - let column12_row256 = *mask_values[87]; - let column12_row511 = *mask_values[88]; - let column13_row0 = *mask_values[89]; - let column13_row1 = *mask_values[90]; - let column13_row255 = *mask_values[91]; - let column13_row256 = *mask_values[92]; - let column14_row0 = *mask_values[93]; - let column14_row1 = *mask_values[94]; - let column14_row192 = *mask_values[95]; - let column14_row193 = *mask_values[96]; - let column14_row196 = *mask_values[97]; - let column14_row197 = *mask_values[98]; - let column14_row251 = *mask_values[99]; - let column14_row252 = *mask_values[100]; - let column14_row256 = *mask_values[101]; - let column15_row0 = *mask_values[102]; - let column15_row255 = *mask_values[103]; - let column16_row0 = *mask_values[104]; - let column16_row255 = *mask_values[105]; - let column17_row0 = *mask_values[106]; - let column17_row255 = *mask_values[107]; - let column18_row0 = *mask_values[108]; - let column18_row255 = *mask_values[109]; - let column19_row0 = *mask_values[110]; - let column19_row1 = *mask_values[111]; - let column19_row2 = *mask_values[112]; - let column19_row3 = *mask_values[113]; - let column19_row4 = *mask_values[114]; - let column19_row5 = *mask_values[115]; - let column19_row6 = *mask_values[116]; - let column19_row7 = *mask_values[117]; - let column19_row8 = *mask_values[118]; - let column19_row9 = *mask_values[119]; - let column19_row12 = *mask_values[120]; - let column19_row13 = *mask_values[121]; - let column19_row16 = *mask_values[122]; - let column19_row22 = *mask_values[123]; - let column19_row23 = *mask_values[124]; - let column19_row38 = *mask_values[125]; - let column19_row39 = *mask_values[126]; - let column19_row70 = *mask_values[127]; - let column19_row71 = *mask_values[128]; - let column19_row102 = *mask_values[129]; - let column19_row103 = *mask_values[130]; - let column19_row134 = *mask_values[131]; - let column19_row135 = *mask_values[132]; - let column19_row167 = *mask_values[133]; - let column19_row199 = *mask_values[134]; - let column19_row230 = *mask_values[135]; - let column19_row263 = *mask_values[136]; - let column19_row295 = *mask_values[137]; - let column19_row327 = *mask_values[138]; - let column19_row391 = *mask_values[139]; - let column19_row423 = *mask_values[140]; - let column19_row455 = *mask_values[141]; - let column19_row4118 = *mask_values[142]; - let column19_row4119 = *mask_values[143]; - let column19_row8214 = *mask_values[144]; - let column20_row0 = *mask_values[145]; - let column20_row1 = *mask_values[146]; - let column20_row2 = *mask_values[147]; - let column20_row3 = *mask_values[148]; - let column21_row0 = *mask_values[149]; - let column21_row1 = *mask_values[150]; - let column21_row2 = *mask_values[151]; - let column21_row3 = *mask_values[152]; - let column21_row4 = *mask_values[153]; - let column21_row5 = *mask_values[154]; - let column21_row6 = *mask_values[155]; - let column21_row7 = *mask_values[156]; - let column21_row8 = *mask_values[157]; - let column21_row9 = *mask_values[158]; - let column21_row10 = *mask_values[159]; - let column21_row11 = *mask_values[160]; - let column21_row12 = *mask_values[161]; - let column21_row13 = *mask_values[162]; - let column21_row14 = *mask_values[163]; - let column21_row15 = *mask_values[164]; - let column21_row16 = *mask_values[165]; - let column21_row17 = *mask_values[166]; - let column21_row21 = *mask_values[167]; - let column21_row22 = *mask_values[168]; - let column21_row23 = *mask_values[169]; - let column21_row24 = *mask_values[170]; - let column21_row25 = *mask_values[171]; - let column21_row30 = *mask_values[172]; - let column21_row31 = *mask_values[173]; - let column21_row39 = *mask_values[174]; - let column21_row47 = *mask_values[175]; - let column21_row55 = *mask_values[176]; - let column21_row4081 = *mask_values[177]; - let column21_row4083 = *mask_values[178]; - let column21_row4089 = *mask_values[179]; - let column21_row4091 = *mask_values[180]; - let column21_row4093 = *mask_values[181]; - let column21_row4102 = *mask_values[182]; - let column21_row4110 = *mask_values[183]; - let column21_row8167 = *mask_values[184]; - let column21_row8177 = *mask_values[185]; - let column21_row8179 = *mask_values[186]; - let column21_row8183 = *mask_values[187]; - let column21_row8185 = *mask_values[188]; - let column21_row8187 = *mask_values[189]; - let column21_row8191 = *mask_values[190]; - let column22_row0 = *mask_values[191]; - let column22_row16 = *mask_values[192]; - let column22_row80 = *mask_values[193]; - let column22_row144 = *mask_values[194]; - let column22_row208 = *mask_values[195]; - let column22_row8160 = *mask_values[196]; - let column23_inter1_row0 = *mask_values[197]; - let column23_inter1_row1 = *mask_values[198]; - let column24_inter1_row0 = *mask_values[199]; - let column24_inter1_row2 = *mask_values[200]; + let column0_row0 = *mask_values.pop_front().unwrap(); + let column0_row1 = *mask_values.pop_front().unwrap(); + let column0_row4 = *mask_values.pop_front().unwrap(); + let column0_row8 = *mask_values.pop_front().unwrap(); + let column0_row12 = *mask_values.pop_front().unwrap(); + let column0_row28 = *mask_values.pop_front().unwrap(); + let column0_row44 = *mask_values.pop_front().unwrap(); + let column0_row60 = *mask_values.pop_front().unwrap(); + let column0_row76 = *mask_values.pop_front().unwrap(); + let column0_row92 = *mask_values.pop_front().unwrap(); + let column0_row108 = *mask_values.pop_front().unwrap(); + let column0_row124 = *mask_values.pop_front().unwrap(); + let column1_row0 = *mask_values.pop_front().unwrap(); + let column1_row1 = *mask_values.pop_front().unwrap(); + let column1_row2 = *mask_values.pop_front().unwrap(); + let column1_row3 = *mask_values.pop_front().unwrap(); + let column1_row4 = *mask_values.pop_front().unwrap(); + let column1_row5 = *mask_values.pop_front().unwrap(); + let column1_row6 = *mask_values.pop_front().unwrap(); + let column1_row7 = *mask_values.pop_front().unwrap(); + let column1_row8 = *mask_values.pop_front().unwrap(); + let column1_row9 = *mask_values.pop_front().unwrap(); + let column1_row10 = *mask_values.pop_front().unwrap(); + let column1_row11 = *mask_values.pop_front().unwrap(); + let column1_row12 = *mask_values.pop_front().unwrap(); + let column1_row13 = *mask_values.pop_front().unwrap(); + let column1_row14 = *mask_values.pop_front().unwrap(); + let column1_row15 = *mask_values.pop_front().unwrap(); + let column2_row0 = *mask_values.pop_front().unwrap(); + let column2_row1 = *mask_values.pop_front().unwrap(); + let column3_row0 = *mask_values.pop_front().unwrap(); + let column3_row1 = *mask_values.pop_front().unwrap(); + let column3_row255 = *mask_values.pop_front().unwrap(); + let column3_row256 = *mask_values.pop_front().unwrap(); + let column3_row511 = *mask_values.pop_front().unwrap(); + let column4_row0 = *mask_values.pop_front().unwrap(); + let column4_row1 = *mask_values.pop_front().unwrap(); + let column4_row255 = *mask_values.pop_front().unwrap(); + let column4_row256 = *mask_values.pop_front().unwrap(); + let column5_row0 = *mask_values.pop_front().unwrap(); + let column5_row1 = *mask_values.pop_front().unwrap(); + let column5_row192 = *mask_values.pop_front().unwrap(); + let column5_row193 = *mask_values.pop_front().unwrap(); + let column5_row196 = *mask_values.pop_front().unwrap(); + let column5_row197 = *mask_values.pop_front().unwrap(); + let column5_row251 = *mask_values.pop_front().unwrap(); + let column5_row252 = *mask_values.pop_front().unwrap(); + let column5_row256 = *mask_values.pop_front().unwrap(); + let column6_row0 = *mask_values.pop_front().unwrap(); + let column6_row1 = *mask_values.pop_front().unwrap(); + let column6_row255 = *mask_values.pop_front().unwrap(); + let column6_row256 = *mask_values.pop_front().unwrap(); + let column6_row511 = *mask_values.pop_front().unwrap(); + let column7_row0 = *mask_values.pop_front().unwrap(); + let column7_row1 = *mask_values.pop_front().unwrap(); + let column7_row255 = *mask_values.pop_front().unwrap(); + let column7_row256 = *mask_values.pop_front().unwrap(); + let column8_row0 = *mask_values.pop_front().unwrap(); + let column8_row1 = *mask_values.pop_front().unwrap(); + let column8_row192 = *mask_values.pop_front().unwrap(); + let column8_row193 = *mask_values.pop_front().unwrap(); + let column8_row196 = *mask_values.pop_front().unwrap(); + let column8_row197 = *mask_values.pop_front().unwrap(); + let column8_row251 = *mask_values.pop_front().unwrap(); + let column8_row252 = *mask_values.pop_front().unwrap(); + let column8_row256 = *mask_values.pop_front().unwrap(); + let column9_row0 = *mask_values.pop_front().unwrap(); + let column9_row1 = *mask_values.pop_front().unwrap(); + let column9_row255 = *mask_values.pop_front().unwrap(); + let column9_row256 = *mask_values.pop_front().unwrap(); + let column9_row511 = *mask_values.pop_front().unwrap(); + let column10_row0 = *mask_values.pop_front().unwrap(); + let column10_row1 = *mask_values.pop_front().unwrap(); + let column10_row255 = *mask_values.pop_front().unwrap(); + let column10_row256 = *mask_values.pop_front().unwrap(); + let column11_row0 = *mask_values.pop_front().unwrap(); + let column11_row1 = *mask_values.pop_front().unwrap(); + let column11_row192 = *mask_values.pop_front().unwrap(); + let column11_row193 = *mask_values.pop_front().unwrap(); + let column11_row196 = *mask_values.pop_front().unwrap(); + let column11_row197 = *mask_values.pop_front().unwrap(); + let column11_row251 = *mask_values.pop_front().unwrap(); + let column11_row252 = *mask_values.pop_front().unwrap(); + let column11_row256 = *mask_values.pop_front().unwrap(); + let column12_row0 = *mask_values.pop_front().unwrap(); + let column12_row1 = *mask_values.pop_front().unwrap(); + let column12_row255 = *mask_values.pop_front().unwrap(); + let column12_row256 = *mask_values.pop_front().unwrap(); + let column12_row511 = *mask_values.pop_front().unwrap(); + let column13_row0 = *mask_values.pop_front().unwrap(); + let column13_row1 = *mask_values.pop_front().unwrap(); + let column13_row255 = *mask_values.pop_front().unwrap(); + let column13_row256 = *mask_values.pop_front().unwrap(); + let column14_row0 = *mask_values.pop_front().unwrap(); + let column14_row1 = *mask_values.pop_front().unwrap(); + let column14_row192 = *mask_values.pop_front().unwrap(); + let column14_row193 = *mask_values.pop_front().unwrap(); + let column14_row196 = *mask_values.pop_front().unwrap(); + let column14_row197 = *mask_values.pop_front().unwrap(); + let column14_row251 = *mask_values.pop_front().unwrap(); + let column14_row252 = *mask_values.pop_front().unwrap(); + let column14_row256 = *mask_values.pop_front().unwrap(); + let column15_row0 = *mask_values.pop_front().unwrap(); + let column15_row255 = *mask_values.pop_front().unwrap(); + let column16_row0 = *mask_values.pop_front().unwrap(); + let column16_row255 = *mask_values.pop_front().unwrap(); + let column17_row0 = *mask_values.pop_front().unwrap(); + let column17_row255 = *mask_values.pop_front().unwrap(); + let column18_row0 = *mask_values.pop_front().unwrap(); + let column18_row255 = *mask_values.pop_front().unwrap(); + let column19_row0 = *mask_values.pop_front().unwrap(); + let column19_row1 = *mask_values.pop_front().unwrap(); + let column19_row2 = *mask_values.pop_front().unwrap(); + let column19_row3 = *mask_values.pop_front().unwrap(); + let column19_row4 = *mask_values.pop_front().unwrap(); + let column19_row5 = *mask_values.pop_front().unwrap(); + let column19_row6 = *mask_values.pop_front().unwrap(); + let column19_row7 = *mask_values.pop_front().unwrap(); + let column19_row8 = *mask_values.pop_front().unwrap(); + let column19_row9 = *mask_values.pop_front().unwrap(); + let column19_row12 = *mask_values.pop_front().unwrap(); + let column19_row13 = *mask_values.pop_front().unwrap(); + let column19_row16 = *mask_values.pop_front().unwrap(); + let column19_row22 = *mask_values.pop_front().unwrap(); + let column19_row23 = *mask_values.pop_front().unwrap(); + let column19_row38 = *mask_values.pop_front().unwrap(); + let column19_row39 = *mask_values.pop_front().unwrap(); + let column19_row70 = *mask_values.pop_front().unwrap(); + let column19_row71 = *mask_values.pop_front().unwrap(); + let column19_row102 = *mask_values.pop_front().unwrap(); + let column19_row103 = *mask_values.pop_front().unwrap(); + let column19_row134 = *mask_values.pop_front().unwrap(); + let column19_row135 = *mask_values.pop_front().unwrap(); + let column19_row167 = *mask_values.pop_front().unwrap(); + let column19_row199 = *mask_values.pop_front().unwrap(); + let column19_row230 = *mask_values.pop_front().unwrap(); + let column19_row263 = *mask_values.pop_front().unwrap(); + let column19_row295 = *mask_values.pop_front().unwrap(); + let column19_row327 = *mask_values.pop_front().unwrap(); + let column19_row391 = *mask_values.pop_front().unwrap(); + let column19_row423 = *mask_values.pop_front().unwrap(); + let column19_row455 = *mask_values.pop_front().unwrap(); + let column19_row4118 = *mask_values.pop_front().unwrap(); + let column19_row4119 = *mask_values.pop_front().unwrap(); + let column19_row8214 = *mask_values.pop_front().unwrap(); + let column20_row0 = *mask_values.pop_front().unwrap(); + let column20_row1 = *mask_values.pop_front().unwrap(); + let column20_row2 = *mask_values.pop_front().unwrap(); + let column20_row3 = *mask_values.pop_front().unwrap(); + let column21_row0 = *mask_values.pop_front().unwrap(); + let column21_row1 = *mask_values.pop_front().unwrap(); + let column21_row2 = *mask_values.pop_front().unwrap(); + let column21_row3 = *mask_values.pop_front().unwrap(); + let column21_row4 = *mask_values.pop_front().unwrap(); + let column21_row5 = *mask_values.pop_front().unwrap(); + let column21_row6 = *mask_values.pop_front().unwrap(); + let column21_row7 = *mask_values.pop_front().unwrap(); + let column21_row8 = *mask_values.pop_front().unwrap(); + let column21_row9 = *mask_values.pop_front().unwrap(); + let column21_row10 = *mask_values.pop_front().unwrap(); + let column21_row11 = *mask_values.pop_front().unwrap(); + let column21_row12 = *mask_values.pop_front().unwrap(); + let column21_row13 = *mask_values.pop_front().unwrap(); + let column21_row14 = *mask_values.pop_front().unwrap(); + let column21_row15 = *mask_values.pop_front().unwrap(); + let column21_row16 = *mask_values.pop_front().unwrap(); + let column21_row17 = *mask_values.pop_front().unwrap(); + let column21_row21 = *mask_values.pop_front().unwrap(); + let column21_row22 = *mask_values.pop_front().unwrap(); + let column21_row23 = *mask_values.pop_front().unwrap(); + let column21_row24 = *mask_values.pop_front().unwrap(); + let column21_row25 = *mask_values.pop_front().unwrap(); + let column21_row30 = *mask_values.pop_front().unwrap(); + let column21_row31 = *mask_values.pop_front().unwrap(); + let column21_row39 = *mask_values.pop_front().unwrap(); + let column21_row47 = *mask_values.pop_front().unwrap(); + let column21_row55 = *mask_values.pop_front().unwrap(); + let column21_row4081 = *mask_values.pop_front().unwrap(); + let column21_row4083 = *mask_values.pop_front().unwrap(); + let column21_row4089 = *mask_values.pop_front().unwrap(); + let column21_row4091 = *mask_values.pop_front().unwrap(); + let column21_row4093 = *mask_values.pop_front().unwrap(); + let column21_row4102 = *mask_values.pop_front().unwrap(); + let column21_row4110 = *mask_values.pop_front().unwrap(); + let column21_row8167 = *mask_values.pop_front().unwrap(); + let column21_row8177 = *mask_values.pop_front().unwrap(); + let column21_row8179 = *mask_values.pop_front().unwrap(); + let column21_row8183 = *mask_values.pop_front().unwrap(); + let column21_row8185 = *mask_values.pop_front().unwrap(); + let column21_row8187 = *mask_values.pop_front().unwrap(); + let column21_row8191 = *mask_values.pop_front().unwrap(); + let column22_row0 = *mask_values.pop_front().unwrap(); + let column22_row16 = *mask_values.pop_front().unwrap(); + let column22_row80 = *mask_values.pop_front().unwrap(); + let column22_row144 = *mask_values.pop_front().unwrap(); + let column22_row208 = *mask_values.pop_front().unwrap(); + let column22_row8160 = *mask_values.pop_front().unwrap(); + let column23_inter1_row0 = *mask_values.pop_front().unwrap(); + let column23_inter1_row1 = *mask_values.pop_front().unwrap(); + let column24_inter1_row0 = *mask_values.pop_front().unwrap(); + let column24_inter1_row2 = *mask_values.pop_front().unwrap(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column1_row0 - (column1_row1 + column1_row1); @@ -336,11 +336,11 @@ fn eval_composition_polynomial_inner( - cpu_decode_opcode_range_check_bit_0) * domain3 / domain0; - let total_sum = total_sum + *constraint_coefficients[0] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. let value = (column1_row0) / domain3; - let total_sum = total_sum + *constraint_coefficients[1] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. let value = (column19_row1 @@ -349,30 +349,30 @@ fn eval_composition_polynomial_inner( * global_values.offset_size + column0_row0)) / domain4; - let total_sum = total_sum + *constraint_coefficients[2] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - cpu_decode_flag_op1_base_op0_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[3] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[4] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - cpu_decode_flag_pc_update_regular_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[5] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - cpu_decode_fp_update_regular_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[6] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. let value = (column19_row8 @@ -381,7 +381,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_0) * column21_row0 + column0_row0)) / domain4; - let total_sum = total_sum + *constraint_coefficients[7] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. let value = (column19_row4 @@ -390,7 +390,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_1) * column21_row0 + column0_row8)) / domain4; - let total_sum = total_sum + *constraint_coefficients[8] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. let value = (column19_row12 @@ -401,11 +401,11 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_op1_base_op0_0 * column19_row5 + column0_row4)) / domain4; - let total_sum = total_sum + *constraint_coefficients[9] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. let value = (column21_row4 - column19_row5 * column19_row13) / domain4; - let total_sum = total_sum + *constraint_coefficients[10] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column21_row12 @@ -413,17 +413,17 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_6 * column21_row4 + cpu_decode_flag_res_op1_0 * column19_row13)) / domain4; - let total_sum = total_sum + *constraint_coefficients[11] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. let value = (column21_row2 - cpu_decode_opcode_range_check_bit_9 * column19_row9) * domain18 / domain4; - let total_sum = total_sum + *constraint_coefficients[12] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. let value = (column21_row10 - column21_row2 * column21_row12) * domain18 / domain4; - let total_sum = total_sum + *constraint_coefficients[13] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column19_row16 @@ -433,14 +433,14 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_8 * (column19_row0 + column21_row12))) * domain18 / domain4; - let total_sum = total_sum + *constraint_coefficients[14] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. let value = ((column21_row10 - cpu_decode_opcode_range_check_bit_9) * (column19_row16 - npc_reg_0)) * domain18 / domain4; - let total_sum = total_sum + *constraint_coefficients[15] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. let value = (column21_row16 @@ -450,7 +450,7 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * 2)) * domain18 / domain4; - let total_sum = total_sum + *constraint_coefficients[16] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. let value = (column21_row24 @@ -459,29 +459,29 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * (column21_row0 + 2))) * domain18 / domain4; - let total_sum = total_sum + *constraint_coefficients[17] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. let value = (cpu_decode_opcode_range_check_bit_12 * (column19_row9 - column21_row8)) / domain4; - let total_sum = total_sum + *constraint_coefficients[18] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. let value = (cpu_decode_opcode_range_check_bit_12 * (column19_row5 - (column19_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain4; - let total_sum = total_sum + *constraint_coefficients[19] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. let value = (cpu_decode_opcode_range_check_bit_12 * (column0_row0 - global_values.half_offset_size)) / domain4; - let total_sum = total_sum + *constraint_coefficients[20] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. let value = (cpu_decode_opcode_range_check_bit_12 * (column0_row8 - (global_values.half_offset_size + 1))) / domain4; - let total_sum = total_sum + *constraint_coefficients[21] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. let value = (cpu_decode_opcode_range_check_bit_12 @@ -491,19 +491,19 @@ fn eval_composition_polynomial_inner( + 1 - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain4; - let total_sum = total_sum + *constraint_coefficients[22] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. let value = (cpu_decode_opcode_range_check_bit_13 * (column0_row0 + 2 - global_values.half_offset_size)) / domain4; - let total_sum = total_sum + *constraint_coefficients[23] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. let value = (cpu_decode_opcode_range_check_bit_13 * (column0_row4 + 1 - global_values.half_offset_size)) / domain4; - let total_sum = total_sum + *constraint_coefficients[24] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. let value = (cpu_decode_opcode_range_check_bit_13 @@ -513,35 +513,35 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_res_op1_0 - 4)) / domain4; - let total_sum = total_sum + *constraint_coefficients[25] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. let value = (cpu_decode_opcode_range_check_bit_14 * (column19_row9 - column21_row12)) / domain4; - let total_sum = total_sum + *constraint_coefficients[26] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. let value = (column21_row0 - global_values.initial_ap) / domain19; - let total_sum = total_sum + *constraint_coefficients[27] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. let value = (column21_row8 - global_values.initial_ap) / domain19; - let total_sum = total_sum + *constraint_coefficients[28] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. let value = (column19_row0 - global_values.initial_pc) / domain19; - let total_sum = total_sum + *constraint_coefficients[29] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. let value = (column21_row0 - global_values.final_ap) / domain18; - let total_sum = total_sum + *constraint_coefficients[30] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. let value = (column21_row8 - global_values.initial_ap) / domain18; - let total_sum = total_sum + *constraint_coefficients[31] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. let value = (column19_row0 - global_values.final_pc) / domain18; - let total_sum = total_sum + *constraint_coefficients[32] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -552,7 +552,7 @@ fn eval_composition_polynomial_inner( + global_values.memory_multi_column_perm_hash_interaction_elm0 * column19_row1 - global_values.memory_multi_column_perm_perm_interaction_elm) / domain19; - let total_sum = total_sum + *constraint_coefficients[33] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -565,37 +565,37 @@ fn eval_composition_polynomial_inner( * column24_inter1_row0) * domain20 / domain1; - let total_sum = total_sum + *constraint_coefficients[34] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. let value = (column24_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain20; - let total_sum = total_sum + *constraint_coefficients[35] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain20 / domain1; - let total_sum = total_sum + *constraint_coefficients[36] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. let value = ((memory_address_diff_0 - 1) * (column20_row1 - column20_row3)) * domain20 / domain1; - let total_sum = total_sum + *constraint_coefficients[37] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. let value = (column20_row0 - 1) / domain19; - let total_sum = total_sum + *constraint_coefficients[38] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. let value = (column19_row2) / domain2; - let total_sum = total_sum + *constraint_coefficients[39] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. let value = (column19_row3) / domain2; - let total_sum = total_sum + *constraint_coefficients[40] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. let value = ((global_values.range_check16_perm_interaction_elm - column2_row0) @@ -603,7 +603,7 @@ fn eval_composition_polynomial_inner( + column0_row0 - global_values.range_check16_perm_interaction_elm) / domain19; - let total_sum = total_sum + *constraint_coefficients[41] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. let value = ((global_values.range_check16_perm_interaction_elm - column2_row1) @@ -611,74 +611,74 @@ fn eval_composition_polynomial_inner( - (global_values.range_check16_perm_interaction_elm - column0_row1) * column23_inter1_row0) * domain21 / domain0; - let total_sum = total_sum + *constraint_coefficients[42] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. let value = (column23_inter1_row0 - global_values.range_check16_perm_public_memory_prod) / domain21; - let total_sum = total_sum + *constraint_coefficients[43] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain21 / domain0; - let total_sum = total_sum + *constraint_coefficients[44] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. let value = (column2_row0 - global_values.range_check_min) / domain19; - let total_sum = total_sum + *constraint_coefficients[45] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. let value = (column2_row0 - global_values.range_check_max) / domain21; - let total_sum = total_sum + *constraint_coefficients[46] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column16_row255 * (column5_row0 - (column5_row1 + column5_row1))) / domain7; - let total_sum = total_sum + *constraint_coefficients[47] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column16_row255 * (column5_row1 - 3138550867693340381917894711603833208051177722232017256448 * column5_row192)) / domain7; - let total_sum = total_sum + *constraint_coefficients[48] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column16_row255 - column15_row255 * (column5_row192 - (column5_row193 + column5_row193))) / domain7; - let total_sum = total_sum + *constraint_coefficients[49] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column15_row255 * (column5_row193 - 8 * column5_row196)) / domain7; - let total_sum = total_sum + *constraint_coefficients[50] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column15_row255 - (column5_row251 - (column5_row252 + column5_row252)) * (column5_row196 - (column5_row197 + column5_row197))) / domain7; - let total_sum = total_sum + *constraint_coefficients[51] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column5_row251 - (column5_row252 + column5_row252)) * (column5_row197 - 18014398509481984 * column5_row251)) / domain7; - let total_sum = total_sum + *constraint_coefficients[52] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[53] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. let value = (column5_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[54] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. let value = (column5_row0) / domain8; - let total_sum = total_sum + *constraint_coefficients[55] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. let value = (pedersen_hash0_ec_subset_sum_bit_0 @@ -686,7 +686,7 @@ fn eval_composition_polynomial_inner( - column15_row0 * (column3_row0 - global_values.pedersen_points_x)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[56] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. let value = (column15_row0 * column15_row0 @@ -694,90 +694,90 @@ fn eval_composition_polynomial_inner( * (column3_row0 + global_values.pedersen_points_x + column3_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[57] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row0 + column4_row1) - column15_row0 * (column3_row0 - column3_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[58] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column3_row1 - column3_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[59] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row1 - column4_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[60] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. let value = (column3_row256 - column3_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[61] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. let value = (column4_row256 - column4_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[62] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. let value = (column3_row0 - global_values.pedersen_shift_point.x) / domain11; - let total_sum = total_sum + *constraint_coefficients[63] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. let value = (column4_row0 - global_values.pedersen_shift_point.y) / domain11; - let total_sum = total_sum + *constraint_coefficients[64] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column18_row255 * (column8_row0 - (column8_row1 + column8_row1))) / domain7; - let total_sum = total_sum + *constraint_coefficients[65] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column18_row255 * (column8_row1 - 3138550867693340381917894711603833208051177722232017256448 * column8_row192)) / domain7; - let total_sum = total_sum + *constraint_coefficients[66] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column18_row255 - column17_row255 * (column8_row192 - (column8_row193 + column8_row193))) / domain7; - let total_sum = total_sum + *constraint_coefficients[67] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column17_row255 * (column8_row193 - 8 * column8_row196)) / domain7; - let total_sum = total_sum + *constraint_coefficients[68] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column17_row255 - (column8_row251 - (column8_row252 + column8_row252)) * (column8_row196 - (column8_row197 + column8_row197))) / domain7; - let total_sum = total_sum + *constraint_coefficients[69] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column8_row251 - (column8_row252 + column8_row252)) * (column8_row197 - 18014398509481984 * column8_row251)) / domain7; - let total_sum = total_sum + *constraint_coefficients[70] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/booleanity_test. let value = (pedersen_hash1_ec_subset_sum_bit_0 * (pedersen_hash1_ec_subset_sum_bit_0 - 1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[71] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_extraction_end. let value = (column8_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[72] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/zeros_tail. let value = (column8_row0) / domain8; - let total_sum = total_sum + *constraint_coefficients[73] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/add_points/slope. let value = (pedersen_hash1_ec_subset_sum_bit_0 @@ -785,7 +785,7 @@ fn eval_composition_polynomial_inner( - column16_row0 * (column6_row0 - global_values.pedersen_points_x)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[74] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/add_points/x. let value = (column16_row0 * column16_row0 @@ -793,90 +793,90 @@ fn eval_composition_polynomial_inner( * (column6_row0 + global_values.pedersen_points_x + column6_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[75] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/add_points/y. let value = (pedersen_hash1_ec_subset_sum_bit_0 * (column7_row0 + column7_row1) - column16_row0 * (column6_row0 - column6_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[76] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/copy_point/x. let value = (pedersen_hash1_ec_subset_sum_bit_neg_0 * (column6_row1 - column6_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[77] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/copy_point/y. let value = (pedersen_hash1_ec_subset_sum_bit_neg_0 * (column7_row1 - column7_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[78] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/copy_point/x. let value = (column6_row256 - column6_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[79] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/copy_point/y. let value = (column7_row256 - column7_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[80] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/init/x. let value = (column6_row0 - global_values.pedersen_shift_point.x) / domain11; - let total_sum = total_sum + *constraint_coefficients[81] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/init/y. let value = (column7_row0 - global_values.pedersen_shift_point.y) / domain11; - let total_sum = total_sum + *constraint_coefficients[82] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column22_row144 * (column11_row0 - (column11_row1 + column11_row1))) / domain7; - let total_sum = total_sum + *constraint_coefficients[83] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column22_row144 * (column11_row1 - 3138550867693340381917894711603833208051177722232017256448 * column11_row192)) / domain7; - let total_sum = total_sum + *constraint_coefficients[84] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column22_row144 - column22_row16 * (column11_row192 - (column11_row193 + column11_row193))) / domain7; - let total_sum = total_sum + *constraint_coefficients[85] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column22_row16 * (column11_row193 - 8 * column11_row196)) / domain7; - let total_sum = total_sum + *constraint_coefficients[86] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column22_row16 - (column11_row251 - (column11_row252 + column11_row252)) * (column11_row196 - (column11_row197 + column11_row197))) / domain7; - let total_sum = total_sum + *constraint_coefficients[87] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column11_row251 - (column11_row252 + column11_row252)) * (column11_row197 - 18014398509481984 * column11_row251)) / domain7; - let total_sum = total_sum + *constraint_coefficients[88] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/booleanity_test. let value = (pedersen_hash2_ec_subset_sum_bit_0 * (pedersen_hash2_ec_subset_sum_bit_0 - 1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[89] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_extraction_end. let value = (column11_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[90] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/zeros_tail. let value = (column11_row0) / domain8; - let total_sum = total_sum + *constraint_coefficients[91] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/add_points/slope. let value = (pedersen_hash2_ec_subset_sum_bit_0 @@ -884,7 +884,7 @@ fn eval_composition_polynomial_inner( - column17_row0 * (column9_row0 - global_values.pedersen_points_x)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[92] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/add_points/x. let value = (column17_row0 * column17_row0 @@ -892,90 +892,90 @@ fn eval_composition_polynomial_inner( * (column9_row0 + global_values.pedersen_points_x + column9_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[93] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/add_points/y. let value = (pedersen_hash2_ec_subset_sum_bit_0 * (column10_row0 + column10_row1) - column17_row0 * (column9_row0 - column9_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[94] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/copy_point/x. let value = (pedersen_hash2_ec_subset_sum_bit_neg_0 * (column9_row1 - column9_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[95] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/copy_point/y. let value = (pedersen_hash2_ec_subset_sum_bit_neg_0 * (column10_row1 - column10_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[96] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/copy_point/x. let value = (column9_row256 - column9_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[97] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/copy_point/y. let value = (column10_row256 - column10_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[98] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/init/x. let value = (column9_row0 - global_values.pedersen_shift_point.x) / domain11; - let total_sum = total_sum + *constraint_coefficients[99] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/init/y. let value = (column10_row0 - global_values.pedersen_shift_point.y) / domain11; - let total_sum = total_sum + *constraint_coefficients[100] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column22_row208 * (column14_row0 - (column14_row1 + column14_row1))) / domain7; - let total_sum = total_sum + *constraint_coefficients[101] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column22_row208 * (column14_row1 - 3138550867693340381917894711603833208051177722232017256448 * column14_row192)) / domain7; - let total_sum = total_sum + *constraint_coefficients[102] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column22_row208 - column22_row80 * (column14_row192 - (column14_row193 + column14_row193))) / domain7; - let total_sum = total_sum + *constraint_coefficients[103] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column22_row80 * (column14_row193 - 8 * column14_row196)) / domain7; - let total_sum = total_sum + *constraint_coefficients[104] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column22_row80 - (column14_row251 - (column14_row252 + column14_row252)) * (column14_row196 - (column14_row197 + column14_row197))) / domain7; - let total_sum = total_sum + *constraint_coefficients[105] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column14_row251 - (column14_row252 + column14_row252)) * (column14_row197 - 18014398509481984 * column14_row251)) / domain7; - let total_sum = total_sum + *constraint_coefficients[106] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/booleanity_test. let value = (pedersen_hash3_ec_subset_sum_bit_0 * (pedersen_hash3_ec_subset_sum_bit_0 - 1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[107] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_extraction_end. let value = (column14_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[108] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/zeros_tail. let value = (column14_row0) / domain8; - let total_sum = total_sum + *constraint_coefficients[109] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/add_points/slope. let value = (pedersen_hash3_ec_subset_sum_bit_0 @@ -983,7 +983,7 @@ fn eval_composition_polynomial_inner( - column18_row0 * (column12_row0 - global_values.pedersen_points_x)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[110] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/add_points/x. let value = (column18_row0 * column18_row0 @@ -991,118 +991,118 @@ fn eval_composition_polynomial_inner( * (column12_row0 + global_values.pedersen_points_x + column12_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[111] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/add_points/y. let value = (pedersen_hash3_ec_subset_sum_bit_0 * (column13_row0 + column13_row1) - column18_row0 * (column12_row0 - column12_row1)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[112] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/copy_point/x. let value = (pedersen_hash3_ec_subset_sum_bit_neg_0 * (column12_row1 - column12_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[113] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/copy_point/y. let value = (pedersen_hash3_ec_subset_sum_bit_neg_0 * (column13_row1 - column13_row0)) * domain8 / domain0; - let total_sum = total_sum + *constraint_coefficients[114] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/copy_point/x. let value = (column12_row256 - column12_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[115] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/copy_point/y. let value = (column13_row256 - column13_row255) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[116] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/init/x. let value = (column12_row0 - global_values.pedersen_shift_point.x) / domain11; - let total_sum = total_sum + *constraint_coefficients[117] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/init/y. let value = (column13_row0 - global_values.pedersen_shift_point.y) / domain11; - let total_sum = total_sum + *constraint_coefficients[118] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. let value = (column19_row7 - column5_row0) / domain11; - let total_sum = total_sum + *constraint_coefficients[119] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value1. let value = (column19_row135 - column8_row0) / domain11; - let total_sum = total_sum + *constraint_coefficients[120] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value2. let value = (column19_row263 - column11_row0) / domain11; - let total_sum = total_sum + *constraint_coefficients[121] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value3. let value = (column19_row391 - column14_row0) / domain11; - let total_sum = total_sum + *constraint_coefficients[122] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. let value = (column19_row134 - (column19_row38 + 1)) * domain22 / domain6; - let total_sum = total_sum + *constraint_coefficients[123] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. let value = (column19_row6 - global_values.initial_pedersen_addr) / domain19; - let total_sum = total_sum + *constraint_coefficients[124] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. let value = (column19_row71 - column5_row256) / domain11; - let total_sum = total_sum + *constraint_coefficients[125] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value1. let value = (column19_row199 - column8_row256) / domain11; - let total_sum = total_sum + *constraint_coefficients[126] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value2. let value = (column19_row327 - column11_row256) / domain11; - let total_sum = total_sum + *constraint_coefficients[127] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value3. let value = (column19_row455 - column14_row256) / domain11; - let total_sum = total_sum + *constraint_coefficients[128] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. let value = (column19_row70 - (column19_row6 + 1)) / domain6; - let total_sum = total_sum + *constraint_coefficients[129] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. let value = (column19_row39 - column3_row511) / domain11; - let total_sum = total_sum + *constraint_coefficients[130] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value1. let value = (column19_row167 - column6_row511) / domain11; - let total_sum = total_sum + *constraint_coefficients[131] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value2. let value = (column19_row295 - column9_row511) / domain11; - let total_sum = total_sum + *constraint_coefficients[132] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value3. let value = (column19_row423 - column12_row511) / domain11; - let total_sum = total_sum + *constraint_coefficients[133] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. let value = (column19_row38 - (column19_row70 + 1)) / domain6; - let total_sum = total_sum + *constraint_coefficients[134] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. let value = (range_check_builtin_value7_0 - column19_row103) / domain6; - let total_sum = total_sum + *constraint_coefficients[135] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. let value = (column19_row230 - (column19_row102 + 1)) * domain22 / domain6; - let total_sum = total_sum + *constraint_coefficients[136] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. let value = (column19_row102 - global_values.initial_range_check_addr) / domain19; - let total_sum = total_sum + *constraint_coefficients[137] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/slope. let value = (ecdsa_signature0_doubling_key_x_squared @@ -1112,13 +1112,13 @@ fn eval_composition_polynomial_inner( - (column21_row14 + column21_row14) * column21_row13) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[138] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/x. let value = (column21_row13 * column21_row13 - (column21_row6 + column21_row6 + column21_row22)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[139] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/y. let value = (column21_row14 @@ -1126,22 +1126,22 @@ fn eval_composition_polynomial_inner( - column21_row13 * (column21_row6 - column21_row22)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[140] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[141] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. let value = (column21_row15) / domain16; - let total_sum = total_sum + *constraint_coefficients[142] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. let value = (column21_row15) / domain15; - let total_sum = total_sum + *constraint_coefficients[143] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. let value = (ecdsa_signature0_exponentiate_generator_bit_0 @@ -1149,7 +1149,7 @@ fn eval_composition_polynomial_inner( - column21_row31 * (column21_row7 - global_values.ecdsa_generator_points_x)) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[144] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. let value = (column21_row31 * column21_row31 @@ -1157,56 +1157,56 @@ fn eval_composition_polynomial_inner( * (column21_row7 + global_values.ecdsa_generator_points_x + column21_row39)) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[145] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (column21_row23 + column21_row55) - column21_row31 * (column21_row7 - column21_row39)) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[146] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. let value = (column22_row0 * (column21_row7 - global_values.ecdsa_generator_points_x) - 1) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[147] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column21_row39 - column21_row7)) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[148] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column21_row55 - column21_row23)) * domain15 / domain5; - let total_sum = total_sum + *constraint_coefficients[149] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[150] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. let value = (column21_row5) / domain13; - let total_sum = total_sum + *constraint_coefficients[151] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. let value = (column21_row5) / domain12; - let total_sum = total_sum + *constraint_coefficients[152] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column21_row9 - column21_row14) - column21_row3 * (column21_row1 - column21_row6)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[153] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. let value = (column21_row3 * column21_row3 @@ -1214,101 +1214,101 @@ fn eval_composition_polynomial_inner( * (column21_row1 + column21_row6 + column21_row17)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[154] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column21_row9 + column21_row25) - column21_row3 * (column21_row1 - column21_row17)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[155] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. let value = (column21_row11 * (column21_row1 - column21_row6) - 1) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[156] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column21_row17 - column21_row1)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[157] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column21_row25 - column21_row9)) * domain12 / domain4; - let total_sum = total_sum + *constraint_coefficients[158] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/x. let value = (column21_row7 - global_values.ecdsa_sig_config.shift_point.x) / domain17; - let total_sum = total_sum + *constraint_coefficients[159] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/y. let value = (column21_row23 + global_values.ecdsa_sig_config.shift_point.y) / domain17; - let total_sum = total_sum + *constraint_coefficients[160] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/x. let value = (column21_row1 - global_values.ecdsa_sig_config.shift_point.x) / domain14; - let total_sum = total_sum + *constraint_coefficients[161] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/y. let value = (column21_row9 - global_values.ecdsa_sig_config.shift_point.y) / domain14; - let total_sum = total_sum + *constraint_coefficients[162] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/slope. let value = (column21_row8183 - (column21_row4089 + column21_row8191 * (column21_row8167 - column21_row4081))) / domain17; - let total_sum = total_sum + *constraint_coefficients[163] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x. let value = (column21_row8191 * column21_row8191 - (column21_row8167 + column21_row4081 + column21_row4102)) / domain17; - let total_sum = total_sum + *constraint_coefficients[164] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/y. let value = (column21_row8183 + column21_row4110 - column21_row8191 * (column21_row8167 - column21_row4102)) / domain17; - let total_sum = total_sum + *constraint_coefficients[165] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x_diff_inv. let value = (column22_row8160 * (column21_row8167 - column21_row4081) - 1) / domain17; - let total_sum = total_sum + *constraint_coefficients[166] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/slope. let value = (column21_row8185 + global_values.ecdsa_sig_config.shift_point.y - column21_row4083 * (column21_row8177 - global_values.ecdsa_sig_config.shift_point.x)) / domain17; - let total_sum = total_sum + *constraint_coefficients[167] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x. let value = (column21_row4083 * column21_row4083 - (column21_row8177 + global_values.ecdsa_sig_config.shift_point.x + column21_row5)) / domain17; - let total_sum = total_sum + *constraint_coefficients[168] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x_diff_inv. let value = (column21_row8179 * (column21_row8177 - global_values.ecdsa_sig_config.shift_point.x) - 1) / domain17; - let total_sum = total_sum + *constraint_coefficients[169] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/z_nonzero. let value = (column21_row15 * column21_row4091 - 1) / domain17; - let total_sum = total_sum + *constraint_coefficients[170] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/r_and_w_nonzero. let value = (column21_row5 * column21_row4093 - 1) / domain14; - let total_sum = total_sum + *constraint_coefficients[171] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/x_squared. let value = (column21_row8187 - column21_row6 * column21_row6) / domain17; - let total_sum = total_sum + *constraint_coefficients[172] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/on_curve. let value = (column21_row14 * column21_row14 @@ -1316,35 +1316,35 @@ fn eval_composition_polynomial_inner( + global_values.ecdsa_sig_config.alpha * column21_row6 + global_values.ecdsa_sig_config.beta)) / domain17; - let total_sum = total_sum + *constraint_coefficients[173] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/init_addr. let value = (column19_row22 - global_values.initial_ecdsa_addr) / domain19; - let total_sum = total_sum + *constraint_coefficients[174] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_addr. let value = (column19_row4118 - (column19_row22 + 1)) / domain17; - let total_sum = total_sum + *constraint_coefficients[175] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_addr. let value = (column19_row8214 - (column19_row4118 + 1)) * domain23 / domain17; - let total_sum = total_sum + *constraint_coefficients[176] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_value0. let value = (column19_row4119 - column21_row15) / domain17; - let total_sum = total_sum + *constraint_coefficients[177] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_value0. let value = (column19_row23 - column21_row6) / domain17; - let total_sum = total_sum + *constraint_coefficients[178] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } fn eval_oods_polynomial_inner( - column_values: Span, - oods_values: Span, - constraint_coefficients: Span, + mut column_values: Span, + mut oods_values: Span, + mut constraint_coefficients: Span, point: felt252, oods_point: felt252, trace_generator: felt252, @@ -1433,648 +1433,648 @@ fn eval_oods_polynomial_inner( let pow80 = pow51 * pow73; // pow(trace_generator, 327). // Fetch columns. - let column0 = *column_values[0]; - let column1 = *column_values[1]; - let column2 = *column_values[2]; - let column3 = *column_values[3]; - let column4 = *column_values[4]; - let column5 = *column_values[5]; - let column6 = *column_values[6]; - let column7 = *column_values[7]; - let column8 = *column_values[8]; - let column9 = *column_values[9]; - let column10 = *column_values[10]; - let column11 = *column_values[11]; - let column12 = *column_values[12]; - let column13 = *column_values[13]; - let column14 = *column_values[14]; - let column15 = *column_values[15]; - let column16 = *column_values[16]; - let column17 = *column_values[17]; - let column18 = *column_values[18]; - let column19 = *column_values[19]; - let column20 = *column_values[20]; - let column21 = *column_values[21]; - let column22 = *column_values[22]; - let column23 = *column_values[23]; - let column24 = *column_values[24]; + let column0 = *column_values.pop_front().unwrap(); + let column1 = *column_values.pop_front().unwrap(); + let column2 = *column_values.pop_front().unwrap(); + let column3 = *column_values.pop_front().unwrap(); + let column4 = *column_values.pop_front().unwrap(); + let column5 = *column_values.pop_front().unwrap(); + let column6 = *column_values.pop_front().unwrap(); + let column7 = *column_values.pop_front().unwrap(); + let column8 = *column_values.pop_front().unwrap(); + let column9 = *column_values.pop_front().unwrap(); + let column10 = *column_values.pop_front().unwrap(); + let column11 = *column_values.pop_front().unwrap(); + let column12 = *column_values.pop_front().unwrap(); + let column13 = *column_values.pop_front().unwrap(); + let column14 = *column_values.pop_front().unwrap(); + let column15 = *column_values.pop_front().unwrap(); + let column16 = *column_values.pop_front().unwrap(); + let column17 = *column_values.pop_front().unwrap(); + let column18 = *column_values.pop_front().unwrap(); + let column19 = *column_values.pop_front().unwrap(); + let column20 = *column_values.pop_front().unwrap(); + let column21 = *column_values.pop_front().unwrap(); + let column22 = *column_values.pop_front().unwrap(); + let column23 = *column_values.pop_front().unwrap(); + let column24 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; - let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[0] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[1]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[1] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[2]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[2] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[3]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[3] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[4]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[4] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[5]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[5] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[6]) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients[6] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[7]) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients[7] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[8]) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients[8] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[9]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[9] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[10]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[10] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[11]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[11] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[12]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[12] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[13]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[13] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[14]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[14] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[15]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[15] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[16]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[16] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[17]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[17] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[18]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[18] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[19]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[19] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[20]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[20] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[21]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[21] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[22]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[22] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[23]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[23] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[24]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[24] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[25]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[25] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[26]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[26] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[27]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[27] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[28]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[28] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[29]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[29] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[30]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[30] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[31]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[31] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[32]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[32] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[33]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[33] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[34]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[34] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[35]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[35] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[36]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[36] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[37]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[37] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[38]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[38] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[39]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[39] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[40]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[40] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[41]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[41] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[42]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[42] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[43]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[43] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[44]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[44] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[45]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[45] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[46]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[46] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[47]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[47] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[48]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[48] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[49]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[49] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[50]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[50] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[51]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[51] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[52]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[52] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[53]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[53] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[54]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[54] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[55]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[55] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[56]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[56] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[57]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[57] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[58]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[58] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[59]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[59] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[60]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[60] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[61]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[61] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[62]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[62] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[63]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[63] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[64]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[64] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[65]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[65] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[66]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[66] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[67]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[67] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[68]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[68] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[69]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[69] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[70]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[70] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[71]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[71] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[72]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[72] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[73]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[73] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[74]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[74] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[75]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[75] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[76]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[76] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[77]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[77] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[78]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[78] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[79]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[79] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[80]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[80] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[81]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[81] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[82]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[82] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[83]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[83] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[84]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[84] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[85]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[85] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[86]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[86] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[87]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[87] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[88]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[88] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[89]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[89] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[90]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[90] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[91]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[91] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[92]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[92] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[93]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[93] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[94]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[94] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[95]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[95] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[96]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[96] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[97]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[97] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[98]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[98] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[99]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[99] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[100]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[100] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[101]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[101] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column15 - *oods_values[102]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[102] * value; + let value = (column15 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column15 - *oods_values[103]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[103] * value; + let value = (column15 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column16 - *oods_values[104]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[104] * value; + let value = (column16 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column16 - *oods_values[105]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[105] * value; + let value = (column16 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[106]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[106] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[107]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[107] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column18 - *oods_values[108]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[108] * value; + let value = (column18 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column18 - *oods_values[109]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[109] * value; + let value = (column18 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[110]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[110] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[111]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[111] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[112]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[112] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[113]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[113] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[114]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[114] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[115]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[115] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[116]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[116] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[117]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[117] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[118]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[118] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[119]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[119] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[120]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[120] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[121]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[121] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[122]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[122] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[123]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[123] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[124]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[124] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[125]) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients[125] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[126]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[126] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[127]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[127] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[128]) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients[128] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[129]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[129] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[130]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[130] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[131]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[131] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[132]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[132] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[133]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[133] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[134]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[134] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[135]) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients[135] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[136]) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients[136] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[137]) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients[137] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[138]) / (point - pow80 * oods_point); - let total_sum = total_sum + *constraint_coefficients[138] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow80 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[139]) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients[139] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[140]) / (point - pow78 * oods_point); - let total_sum = total_sum + *constraint_coefficients[140] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow78 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[141]) / (point - pow77 * oods_point); - let total_sum = total_sum + *constraint_coefficients[141] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow77 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[142]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[142] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[143]) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients[143] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[144]) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients[144] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[145]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[145] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[146]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[146] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[147]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[147] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[148]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[148] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[149]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[149] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[150]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[150] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[151]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[151] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[152]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[152] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[153]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[153] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[154]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[154] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[155]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[155] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[156]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[156] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[157]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[157] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[158]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[158] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[159]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[159] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[160]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[160] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[161]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[161] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[162]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[162] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[163]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[163] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[164]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[164] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[165]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[165] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[166]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[166] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[167]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[167] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[168]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[168] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[169]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[169] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[170]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[170] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[171]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[171] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[172]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[172] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[173]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[173] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[174]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[174] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[175]) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients[175] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[176]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[176] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[177]) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients[177] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[178]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[178] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[179]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[179] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[180]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[180] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[181]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[181] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[182]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[182] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[183]) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients[183] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[184]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[184] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[185]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[185] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[186]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[186] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[187]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[187] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[188]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[188] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[189]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[189] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[190]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[190] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column22 - *oods_values[191]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[191] * value; + let value = (column22 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column22 - *oods_values[192]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[192] * value; + let value = (column22 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column22 - *oods_values[193]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[193] * value; + let value = (column22 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column22 - *oods_values[194]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[194] * value; + let value = (column22 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column22 - *oods_values[195]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[195] * value; + let value = (column22 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column22 - *oods_values[196]) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients[196] * value; + let value = (column22 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column23 - *oods_values[197]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[197] * value; + let value = (column23 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column23 - *oods_values[198]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[198] * value; + let value = (column23 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column24 - *oods_values[199]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[199] * value; + let value = (column24 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column24 - *oods_values[200]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[200] * value; + let value = (column24 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[201]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[201] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[202]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[202] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(203 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From ca9c41562380acd91127e4e4559451e2ec163e04 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:43:32 +0100 Subject: [PATCH 17/29] recursive_with_poseidon pop_front optimization --- .../autogenerated.cairo | 1434 ++++++++--------- 1 file changed, 717 insertions(+), 717 deletions(-) diff --git a/src/air/layouts/recursive_with_poseidon/autogenerated.cairo b/src/air/layouts/recursive_with_poseidon/autogenerated.cairo index db0d5fcd5..442ab141f 100644 --- a/src/air/layouts/recursive_with_poseidon/autogenerated.cairo +++ b/src/air/layouts/recursive_with_poseidon/autogenerated.cairo @@ -7,8 +7,8 @@ use cairo_verifier::{ }; fn eval_composition_polynomial_inner( - mask_values: Span, - constraint_coefficients: Span, + mut mask_values: Span, + mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, global_values: GlobalValues @@ -155,198 +155,198 @@ fn eval_composition_polynomial_inner( let domain30 = point - pow13; // Fetch mask variables. - let column0_row0 = *mask_values[0]; - let column0_row1 = *mask_values[1]; - let column0_row2 = *mask_values[2]; - let column0_row3 = *mask_values[3]; - let column0_row4 = *mask_values[4]; - let column0_row5 = *mask_values[5]; - let column0_row6 = *mask_values[6]; - let column0_row7 = *mask_values[7]; - let column0_row8 = *mask_values[8]; - let column0_row9 = *mask_values[9]; - let column0_row10 = *mask_values[10]; - let column0_row11 = *mask_values[11]; - let column0_row12 = *mask_values[12]; - let column0_row13 = *mask_values[13]; - let column0_row14 = *mask_values[14]; - let column0_row15 = *mask_values[15]; - let column1_row0 = *mask_values[16]; - let column1_row1 = *mask_values[17]; - let column1_row2 = *mask_values[18]; - let column1_row3 = *mask_values[19]; - let column1_row4 = *mask_values[20]; - let column1_row5 = *mask_values[21]; - let column1_row8 = *mask_values[22]; - let column1_row9 = *mask_values[23]; - let column1_row10 = *mask_values[24]; - let column1_row11 = *mask_values[25]; - let column1_row12 = *mask_values[26]; - let column1_row13 = *mask_values[27]; - let column1_row16 = *mask_values[28]; - let column1_row42 = *mask_values[29]; - let column1_row43 = *mask_values[30]; - let column1_row74 = *mask_values[31]; - let column1_row75 = *mask_values[32]; - let column1_row106 = *mask_values[33]; - let column1_row138 = *mask_values[34]; - let column1_row139 = *mask_values[35]; - let column1_row171 = *mask_values[36]; - let column1_row202 = *mask_values[37]; - let column1_row203 = *mask_values[38]; - let column1_row234 = *mask_values[39]; - let column1_row235 = *mask_values[40]; - let column1_row266 = *mask_values[41]; - let column1_row267 = *mask_values[42]; - let column1_row298 = *mask_values[43]; - let column1_row394 = *mask_values[44]; - let column1_row458 = *mask_values[45]; - let column1_row459 = *mask_values[46]; - let column1_row714 = *mask_values[47]; - let column1_row715 = *mask_values[48]; - let column1_row778 = *mask_values[49]; - let column1_row779 = *mask_values[50]; - let column1_row970 = *mask_values[51]; - let column1_row971 = *mask_values[52]; - let column1_row1034 = *mask_values[53]; - let column1_row1035 = *mask_values[54]; - let column1_row2058 = *mask_values[55]; - let column1_row2059 = *mask_values[56]; - let column1_row4106 = *mask_values[57]; - let column2_row0 = *mask_values[58]; - let column2_row1 = *mask_values[59]; - let column2_row2 = *mask_values[60]; - let column2_row3 = *mask_values[61]; - let column3_row0 = *mask_values[62]; - let column3_row1 = *mask_values[63]; - let column3_row2 = *mask_values[64]; - let column3_row3 = *mask_values[65]; - let column3_row4 = *mask_values[66]; - let column3_row8 = *mask_values[67]; - let column3_row12 = *mask_values[68]; - let column3_row16 = *mask_values[69]; - let column3_row20 = *mask_values[70]; - let column3_row24 = *mask_values[71]; - let column3_row28 = *mask_values[72]; - let column3_row32 = *mask_values[73]; - let column3_row36 = *mask_values[74]; - let column3_row40 = *mask_values[75]; - let column3_row44 = *mask_values[76]; - let column3_row48 = *mask_values[77]; - let column3_row52 = *mask_values[78]; - let column3_row56 = *mask_values[79]; - let column3_row60 = *mask_values[80]; - let column3_row64 = *mask_values[81]; - let column3_row66 = *mask_values[82]; - let column3_row128 = *mask_values[83]; - let column3_row130 = *mask_values[84]; - let column3_row176 = *mask_values[85]; - let column3_row180 = *mask_values[86]; - let column3_row184 = *mask_values[87]; - let column3_row188 = *mask_values[88]; - let column3_row192 = *mask_values[89]; - let column3_row194 = *mask_values[90]; - let column3_row240 = *mask_values[91]; - let column3_row244 = *mask_values[92]; - let column3_row248 = *mask_values[93]; - let column3_row252 = *mask_values[94]; - let column4_row0 = *mask_values[95]; - let column4_row1 = *mask_values[96]; - let column4_row2 = *mask_values[97]; - let column4_row3 = *mask_values[98]; - let column4_row4 = *mask_values[99]; - let column4_row5 = *mask_values[100]; - let column4_row6 = *mask_values[101]; - let column4_row7 = *mask_values[102]; - let column4_row8 = *mask_values[103]; - let column4_row9 = *mask_values[104]; - let column4_row11 = *mask_values[105]; - let column4_row12 = *mask_values[106]; - let column4_row13 = *mask_values[107]; - let column4_row44 = *mask_values[108]; - let column4_row76 = *mask_values[109]; - let column4_row108 = *mask_values[110]; - let column4_row140 = *mask_values[111]; - let column4_row172 = *mask_values[112]; - let column4_row204 = *mask_values[113]; - let column4_row236 = *mask_values[114]; - let column4_row1539 = *mask_values[115]; - let column4_row1547 = *mask_values[116]; - let column4_row1571 = *mask_values[117]; - let column4_row1579 = *mask_values[118]; - let column4_row2011 = *mask_values[119]; - let column4_row2019 = *mask_values[120]; - let column4_row2041 = *mask_values[121]; - let column4_row2045 = *mask_values[122]; - let column4_row2047 = *mask_values[123]; - let column4_row2049 = *mask_values[124]; - let column4_row2051 = *mask_values[125]; - let column4_row2053 = *mask_values[126]; - let column4_row4089 = *mask_values[127]; - let column5_row0 = *mask_values[128]; - let column5_row1 = *mask_values[129]; - let column5_row2 = *mask_values[130]; - let column5_row4 = *mask_values[131]; - let column5_row6 = *mask_values[132]; - let column5_row8 = *mask_values[133]; - let column5_row9 = *mask_values[134]; - let column5_row10 = *mask_values[135]; - let column5_row12 = *mask_values[136]; - let column5_row14 = *mask_values[137]; - let column5_row16 = *mask_values[138]; - let column5_row17 = *mask_values[139]; - let column5_row22 = *mask_values[140]; - let column5_row24 = *mask_values[141]; - let column5_row25 = *mask_values[142]; - let column5_row30 = *mask_values[143]; - let column5_row33 = *mask_values[144]; - let column5_row38 = *mask_values[145]; - let column5_row41 = *mask_values[146]; - let column5_row46 = *mask_values[147]; - let column5_row49 = *mask_values[148]; - let column5_row54 = *mask_values[149]; - let column5_row57 = *mask_values[150]; - let column5_row65 = *mask_values[151]; - let column5_row73 = *mask_values[152]; - let column5_row81 = *mask_values[153]; - let column5_row89 = *mask_values[154]; - let column5_row97 = *mask_values[155]; - let column5_row105 = *mask_values[156]; - let column5_row137 = *mask_values[157]; - let column5_row169 = *mask_values[158]; - let column5_row201 = *mask_values[159]; - let column5_row393 = *mask_values[160]; - let column5_row409 = *mask_values[161]; - let column5_row425 = *mask_values[162]; - let column5_row457 = *mask_values[163]; - let column5_row473 = *mask_values[164]; - let column5_row489 = *mask_values[165]; - let column5_row521 = *mask_values[166]; - let column5_row553 = *mask_values[167]; - let column5_row585 = *mask_values[168]; - let column5_row609 = *mask_values[169]; - let column5_row625 = *mask_values[170]; - let column5_row641 = *mask_values[171]; - let column5_row657 = *mask_values[172]; - let column5_row673 = *mask_values[173]; - let column5_row689 = *mask_values[174]; - let column5_row905 = *mask_values[175]; - let column5_row921 = *mask_values[176]; - let column5_row937 = *mask_values[177]; - let column5_row969 = *mask_values[178]; - let column5_row982 = *mask_values[179]; - let column5_row985 = *mask_values[180]; - let column5_row998 = *mask_values[181]; - let column5_row1001 = *mask_values[182]; - let column5_row1014 = *mask_values[183]; - let column6_inter1_row0 = *mask_values[184]; - let column6_inter1_row1 = *mask_values[185]; - let column6_inter1_row2 = *mask_values[186]; - let column6_inter1_row3 = *mask_values[187]; - let column7_inter1_row0 = *mask_values[188]; - let column7_inter1_row1 = *mask_values[189]; - let column7_inter1_row2 = *mask_values[190]; - let column7_inter1_row5 = *mask_values[191]; + let column0_row0 = *mask_values.pop_front().unwrap(); + let column0_row1 = *mask_values.pop_front().unwrap(); + let column0_row2 = *mask_values.pop_front().unwrap(); + let column0_row3 = *mask_values.pop_front().unwrap(); + let column0_row4 = *mask_values.pop_front().unwrap(); + let column0_row5 = *mask_values.pop_front().unwrap(); + let column0_row6 = *mask_values.pop_front().unwrap(); + let column0_row7 = *mask_values.pop_front().unwrap(); + let column0_row8 = *mask_values.pop_front().unwrap(); + let column0_row9 = *mask_values.pop_front().unwrap(); + let column0_row10 = *mask_values.pop_front().unwrap(); + let column0_row11 = *mask_values.pop_front().unwrap(); + let column0_row12 = *mask_values.pop_front().unwrap(); + let column0_row13 = *mask_values.pop_front().unwrap(); + let column0_row14 = *mask_values.pop_front().unwrap(); + let column0_row15 = *mask_values.pop_front().unwrap(); + let column1_row0 = *mask_values.pop_front().unwrap(); + let column1_row1 = *mask_values.pop_front().unwrap(); + let column1_row2 = *mask_values.pop_front().unwrap(); + let column1_row3 = *mask_values.pop_front().unwrap(); + let column1_row4 = *mask_values.pop_front().unwrap(); + let column1_row5 = *mask_values.pop_front().unwrap(); + let column1_row8 = *mask_values.pop_front().unwrap(); + let column1_row9 = *mask_values.pop_front().unwrap(); + let column1_row10 = *mask_values.pop_front().unwrap(); + let column1_row11 = *mask_values.pop_front().unwrap(); + let column1_row12 = *mask_values.pop_front().unwrap(); + let column1_row13 = *mask_values.pop_front().unwrap(); + let column1_row16 = *mask_values.pop_front().unwrap(); + let column1_row42 = *mask_values.pop_front().unwrap(); + let column1_row43 = *mask_values.pop_front().unwrap(); + let column1_row74 = *mask_values.pop_front().unwrap(); + let column1_row75 = *mask_values.pop_front().unwrap(); + let column1_row106 = *mask_values.pop_front().unwrap(); + let column1_row138 = *mask_values.pop_front().unwrap(); + let column1_row139 = *mask_values.pop_front().unwrap(); + let column1_row171 = *mask_values.pop_front().unwrap(); + let column1_row202 = *mask_values.pop_front().unwrap(); + let column1_row203 = *mask_values.pop_front().unwrap(); + let column1_row234 = *mask_values.pop_front().unwrap(); + let column1_row235 = *mask_values.pop_front().unwrap(); + let column1_row266 = *mask_values.pop_front().unwrap(); + let column1_row267 = *mask_values.pop_front().unwrap(); + let column1_row298 = *mask_values.pop_front().unwrap(); + let column1_row394 = *mask_values.pop_front().unwrap(); + let column1_row458 = *mask_values.pop_front().unwrap(); + let column1_row459 = *mask_values.pop_front().unwrap(); + let column1_row714 = *mask_values.pop_front().unwrap(); + let column1_row715 = *mask_values.pop_front().unwrap(); + let column1_row778 = *mask_values.pop_front().unwrap(); + let column1_row779 = *mask_values.pop_front().unwrap(); + let column1_row970 = *mask_values.pop_front().unwrap(); + let column1_row971 = *mask_values.pop_front().unwrap(); + let column1_row1034 = *mask_values.pop_front().unwrap(); + let column1_row1035 = *mask_values.pop_front().unwrap(); + let column1_row2058 = *mask_values.pop_front().unwrap(); + let column1_row2059 = *mask_values.pop_front().unwrap(); + let column1_row4106 = *mask_values.pop_front().unwrap(); + let column2_row0 = *mask_values.pop_front().unwrap(); + let column2_row1 = *mask_values.pop_front().unwrap(); + let column2_row2 = *mask_values.pop_front().unwrap(); + let column2_row3 = *mask_values.pop_front().unwrap(); + let column3_row0 = *mask_values.pop_front().unwrap(); + let column3_row1 = *mask_values.pop_front().unwrap(); + let column3_row2 = *mask_values.pop_front().unwrap(); + let column3_row3 = *mask_values.pop_front().unwrap(); + let column3_row4 = *mask_values.pop_front().unwrap(); + let column3_row8 = *mask_values.pop_front().unwrap(); + let column3_row12 = *mask_values.pop_front().unwrap(); + let column3_row16 = *mask_values.pop_front().unwrap(); + let column3_row20 = *mask_values.pop_front().unwrap(); + let column3_row24 = *mask_values.pop_front().unwrap(); + let column3_row28 = *mask_values.pop_front().unwrap(); + let column3_row32 = *mask_values.pop_front().unwrap(); + let column3_row36 = *mask_values.pop_front().unwrap(); + let column3_row40 = *mask_values.pop_front().unwrap(); + let column3_row44 = *mask_values.pop_front().unwrap(); + let column3_row48 = *mask_values.pop_front().unwrap(); + let column3_row52 = *mask_values.pop_front().unwrap(); + let column3_row56 = *mask_values.pop_front().unwrap(); + let column3_row60 = *mask_values.pop_front().unwrap(); + let column3_row64 = *mask_values.pop_front().unwrap(); + let column3_row66 = *mask_values.pop_front().unwrap(); + let column3_row128 = *mask_values.pop_front().unwrap(); + let column3_row130 = *mask_values.pop_front().unwrap(); + let column3_row176 = *mask_values.pop_front().unwrap(); + let column3_row180 = *mask_values.pop_front().unwrap(); + let column3_row184 = *mask_values.pop_front().unwrap(); + let column3_row188 = *mask_values.pop_front().unwrap(); + let column3_row192 = *mask_values.pop_front().unwrap(); + let column3_row194 = *mask_values.pop_front().unwrap(); + let column3_row240 = *mask_values.pop_front().unwrap(); + let column3_row244 = *mask_values.pop_front().unwrap(); + let column3_row248 = *mask_values.pop_front().unwrap(); + let column3_row252 = *mask_values.pop_front().unwrap(); + let column4_row0 = *mask_values.pop_front().unwrap(); + let column4_row1 = *mask_values.pop_front().unwrap(); + let column4_row2 = *mask_values.pop_front().unwrap(); + let column4_row3 = *mask_values.pop_front().unwrap(); + let column4_row4 = *mask_values.pop_front().unwrap(); + let column4_row5 = *mask_values.pop_front().unwrap(); + let column4_row6 = *mask_values.pop_front().unwrap(); + let column4_row7 = *mask_values.pop_front().unwrap(); + let column4_row8 = *mask_values.pop_front().unwrap(); + let column4_row9 = *mask_values.pop_front().unwrap(); + let column4_row11 = *mask_values.pop_front().unwrap(); + let column4_row12 = *mask_values.pop_front().unwrap(); + let column4_row13 = *mask_values.pop_front().unwrap(); + let column4_row44 = *mask_values.pop_front().unwrap(); + let column4_row76 = *mask_values.pop_front().unwrap(); + let column4_row108 = *mask_values.pop_front().unwrap(); + let column4_row140 = *mask_values.pop_front().unwrap(); + let column4_row172 = *mask_values.pop_front().unwrap(); + let column4_row204 = *mask_values.pop_front().unwrap(); + let column4_row236 = *mask_values.pop_front().unwrap(); + let column4_row1539 = *mask_values.pop_front().unwrap(); + let column4_row1547 = *mask_values.pop_front().unwrap(); + let column4_row1571 = *mask_values.pop_front().unwrap(); + let column4_row1579 = *mask_values.pop_front().unwrap(); + let column4_row2011 = *mask_values.pop_front().unwrap(); + let column4_row2019 = *mask_values.pop_front().unwrap(); + let column4_row2041 = *mask_values.pop_front().unwrap(); + let column4_row2045 = *mask_values.pop_front().unwrap(); + let column4_row2047 = *mask_values.pop_front().unwrap(); + let column4_row2049 = *mask_values.pop_front().unwrap(); + let column4_row2051 = *mask_values.pop_front().unwrap(); + let column4_row2053 = *mask_values.pop_front().unwrap(); + let column4_row4089 = *mask_values.pop_front().unwrap(); + let column5_row0 = *mask_values.pop_front().unwrap(); + let column5_row1 = *mask_values.pop_front().unwrap(); + let column5_row2 = *mask_values.pop_front().unwrap(); + let column5_row4 = *mask_values.pop_front().unwrap(); + let column5_row6 = *mask_values.pop_front().unwrap(); + let column5_row8 = *mask_values.pop_front().unwrap(); + let column5_row9 = *mask_values.pop_front().unwrap(); + let column5_row10 = *mask_values.pop_front().unwrap(); + let column5_row12 = *mask_values.pop_front().unwrap(); + let column5_row14 = *mask_values.pop_front().unwrap(); + let column5_row16 = *mask_values.pop_front().unwrap(); + let column5_row17 = *mask_values.pop_front().unwrap(); + let column5_row22 = *mask_values.pop_front().unwrap(); + let column5_row24 = *mask_values.pop_front().unwrap(); + let column5_row25 = *mask_values.pop_front().unwrap(); + let column5_row30 = *mask_values.pop_front().unwrap(); + let column5_row33 = *mask_values.pop_front().unwrap(); + let column5_row38 = *mask_values.pop_front().unwrap(); + let column5_row41 = *mask_values.pop_front().unwrap(); + let column5_row46 = *mask_values.pop_front().unwrap(); + let column5_row49 = *mask_values.pop_front().unwrap(); + let column5_row54 = *mask_values.pop_front().unwrap(); + let column5_row57 = *mask_values.pop_front().unwrap(); + let column5_row65 = *mask_values.pop_front().unwrap(); + let column5_row73 = *mask_values.pop_front().unwrap(); + let column5_row81 = *mask_values.pop_front().unwrap(); + let column5_row89 = *mask_values.pop_front().unwrap(); + let column5_row97 = *mask_values.pop_front().unwrap(); + let column5_row105 = *mask_values.pop_front().unwrap(); + let column5_row137 = *mask_values.pop_front().unwrap(); + let column5_row169 = *mask_values.pop_front().unwrap(); + let column5_row201 = *mask_values.pop_front().unwrap(); + let column5_row393 = *mask_values.pop_front().unwrap(); + let column5_row409 = *mask_values.pop_front().unwrap(); + let column5_row425 = *mask_values.pop_front().unwrap(); + let column5_row457 = *mask_values.pop_front().unwrap(); + let column5_row473 = *mask_values.pop_front().unwrap(); + let column5_row489 = *mask_values.pop_front().unwrap(); + let column5_row521 = *mask_values.pop_front().unwrap(); + let column5_row553 = *mask_values.pop_front().unwrap(); + let column5_row585 = *mask_values.pop_front().unwrap(); + let column5_row609 = *mask_values.pop_front().unwrap(); + let column5_row625 = *mask_values.pop_front().unwrap(); + let column5_row641 = *mask_values.pop_front().unwrap(); + let column5_row657 = *mask_values.pop_front().unwrap(); + let column5_row673 = *mask_values.pop_front().unwrap(); + let column5_row689 = *mask_values.pop_front().unwrap(); + let column5_row905 = *mask_values.pop_front().unwrap(); + let column5_row921 = *mask_values.pop_front().unwrap(); + let column5_row937 = *mask_values.pop_front().unwrap(); + let column5_row969 = *mask_values.pop_front().unwrap(); + let column5_row982 = *mask_values.pop_front().unwrap(); + let column5_row985 = *mask_values.pop_front().unwrap(); + let column5_row998 = *mask_values.pop_front().unwrap(); + let column5_row1001 = *mask_values.pop_front().unwrap(); + let column5_row1014 = *mask_values.pop_front().unwrap(); + let column6_inter1_row0 = *mask_values.pop_front().unwrap(); + let column6_inter1_row1 = *mask_values.pop_front().unwrap(); + let column6_inter1_row2 = *mask_values.pop_front().unwrap(); + let column6_inter1_row3 = *mask_values.pop_front().unwrap(); + let column7_inter1_row0 = *mask_values.pop_front().unwrap(); + let column7_inter1_row1 = *mask_values.pop_front().unwrap(); + let column7_inter1_row2 = *mask_values.pop_front().unwrap(); + let column7_inter1_row5 = *mask_values.pop_front().unwrap(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -441,11 +441,11 @@ fn eval_composition_polynomial_inner( - cpu_decode_opcode_range_check_bit_0) * domain4 / domain0; - let total_sum = total_sum + *constraint_coefficients[0] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. let value = (column0_row0) / domain4; - let total_sum = total_sum + *constraint_coefficients[1] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. let value = (column1_row1 @@ -454,30 +454,30 @@ fn eval_composition_polynomial_inner( * global_values.offset_size + column4_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[2] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - cpu_decode_flag_op1_base_op0_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[3] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[4] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - cpu_decode_flag_pc_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[5] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - cpu_decode_fp_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[6] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. let value = (column1_row8 @@ -486,7 +486,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_0) * column5_row0 + column4_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[7] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. let value = (column1_row4 @@ -495,7 +495,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_1) * column5_row0 + column4_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[8] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. let value = (column1_row12 @@ -506,11 +506,11 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_op1_base_op0_0 * column1_row5 + column4_row4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[9] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. let value = (column5_row4 - column1_row5 * column1_row13) / domain5; - let total_sum = total_sum + *constraint_coefficients[10] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column5_row12 @@ -518,17 +518,17 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_6 * column5_row4 + cpu_decode_flag_res_op1_0 * column1_row13)) / domain5; - let total_sum = total_sum + *constraint_coefficients[11] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. let value = (column5_row2 - cpu_decode_opcode_range_check_bit_9 * column1_row9) * domain24 / domain5; - let total_sum = total_sum + *constraint_coefficients[12] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. let value = (column5_row10 - column5_row2 * column5_row12) * domain24 / domain5; - let total_sum = total_sum + *constraint_coefficients[13] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column1_row16 @@ -538,14 +538,14 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_8 * (column1_row0 + column5_row12))) * domain24 / domain5; - let total_sum = total_sum + *constraint_coefficients[14] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. let value = ((column5_row10 - cpu_decode_opcode_range_check_bit_9) * (column1_row16 - npc_reg_0)) * domain24 / domain5; - let total_sum = total_sum + *constraint_coefficients[15] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. let value = (column5_row16 @@ -555,7 +555,7 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * 2)) * domain24 / domain5; - let total_sum = total_sum + *constraint_coefficients[16] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. let value = (column5_row24 @@ -564,29 +564,29 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * (column5_row0 + 2))) * domain24 / domain5; - let total_sum = total_sum + *constraint_coefficients[17] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. let value = (cpu_decode_opcode_range_check_bit_12 * (column1_row9 - column5_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[18] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. let value = (cpu_decode_opcode_range_check_bit_12 * (column1_row5 - (column1_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[19] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. let value = (cpu_decode_opcode_range_check_bit_12 * (column4_row0 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[20] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. let value = (cpu_decode_opcode_range_check_bit_12 * (column4_row8 - (global_values.half_offset_size + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[21] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. let value = (cpu_decode_opcode_range_check_bit_12 @@ -596,19 +596,19 @@ fn eval_composition_polynomial_inner( + 1 - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain5; - let total_sum = total_sum + *constraint_coefficients[22] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. let value = (cpu_decode_opcode_range_check_bit_13 * (column4_row0 + 2 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[23] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. let value = (cpu_decode_opcode_range_check_bit_13 * (column4_row4 + 1 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[24] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. let value = (cpu_decode_opcode_range_check_bit_13 @@ -618,35 +618,35 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_res_op1_0 - 4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[25] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. let value = (cpu_decode_opcode_range_check_bit_14 * (column1_row9 - column5_row12)) / domain5; - let total_sum = total_sum + *constraint_coefficients[26] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. let value = (column5_row0 - global_values.initial_ap) / domain25; - let total_sum = total_sum + *constraint_coefficients[27] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. let value = (column5_row8 - global_values.initial_ap) / domain25; - let total_sum = total_sum + *constraint_coefficients[28] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. let value = (column1_row0 - global_values.initial_pc) / domain25; - let total_sum = total_sum + *constraint_coefficients[29] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. let value = (column5_row0 - global_values.final_ap) / domain24; - let total_sum = total_sum + *constraint_coefficients[30] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. let value = (column5_row8 - global_values.initial_ap) / domain24; - let total_sum = total_sum + *constraint_coefficients[31] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. let value = (column1_row0 - global_values.final_pc) / domain24; - let total_sum = total_sum + *constraint_coefficients[32] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -657,7 +657,7 @@ fn eval_composition_polynomial_inner( + global_values.memory_multi_column_perm_hash_interaction_elm0 * column1_row1 - global_values.memory_multi_column_perm_perm_interaction_elm) / domain25; - let total_sum = total_sum + *constraint_coefficients[33] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -670,35 +670,35 @@ fn eval_composition_polynomial_inner( * column6_inter1_row0) * domain26 / domain1; - let total_sum = total_sum + *constraint_coefficients[34] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. let value = (column6_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain26; - let total_sum = total_sum + *constraint_coefficients[35] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain26 / domain1; - let total_sum = total_sum + *constraint_coefficients[36] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. let value = ((memory_address_diff_0 - 1) * (column2_row1 - column2_row3)) * domain26 / domain1; - let total_sum = total_sum + *constraint_coefficients[37] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. let value = (column2_row0 - 1) / domain25; - let total_sum = total_sum + *constraint_coefficients[38] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. let value = (column1_row2) / domain5; - let total_sum = total_sum + *constraint_coefficients[39] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. let value = (column1_row3) / domain5; - let total_sum = total_sum + *constraint_coefficients[40] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. let value = ((global_values.range_check16_perm_interaction_elm - column4_row2) @@ -706,7 +706,7 @@ fn eval_composition_polynomial_inner( + column4_row0 - global_values.range_check16_perm_interaction_elm) / domain25; - let total_sum = total_sum + *constraint_coefficients[41] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. let value = ((global_values.range_check16_perm_interaction_elm - column4_row6) @@ -714,26 +714,26 @@ fn eval_composition_polynomial_inner( - (global_values.range_check16_perm_interaction_elm - column4_row4) * column7_inter1_row1) * domain27 / domain2; - let total_sum = total_sum + *constraint_coefficients[42] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. let value = (column7_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / domain27; - let total_sum = total_sum + *constraint_coefficients[43] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain27 / domain2; - let total_sum = total_sum + *constraint_coefficients[44] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. let value = (column4_row2 - global_values.range_check_min) / domain25; - let total_sum = total_sum + *constraint_coefficients[45] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. let value = (column4_row2 - global_values.range_check_max) / domain27; - let total_sum = total_sum + *constraint_coefficients[46] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/init0. let value = ((global_values.diluted_check_permutation_interaction_elm - column3_row1) @@ -741,7 +741,7 @@ fn eval_composition_polynomial_inner( + column3_row0 - global_values.diluted_check_permutation_interaction_elm) / domain25; - let total_sum = total_sum + *constraint_coefficients[47] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/step0. let value = ((global_values.diluted_check_permutation_interaction_elm - column3_row3) @@ -750,20 +750,20 @@ fn eval_composition_polynomial_inner( * column7_inter1_row0) * domain26 / domain1; - let total_sum = total_sum + *constraint_coefficients[48] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/last. let value = (column7_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) / domain26; - let total_sum = total_sum + *constraint_coefficients[49] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/init. let value = (column6_inter1_row1 - 1) / domain25; - let total_sum = total_sum + *constraint_coefficients[50] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/first_element. let value = (column3_row1 - global_values.diluted_check_first_elm) / domain25; - let total_sum = total_sum + *constraint_coefficients[51] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/step. let value = (column6_inter1_row3 @@ -774,59 +774,59 @@ fn eval_composition_polynomial_inner( * (column3_row3 - column3_row1))) * domain26 / domain1; - let total_sum = total_sum + *constraint_coefficients[52] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/last. let value = (column6_inter1_row1 - global_values.diluted_check_final_cum_val) / domain26; - let total_sum = total_sum + *constraint_coefficients[53] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column5_row57 * (column4_row3 - (column4_row11 + column4_row11))) / domain19; - let total_sum = total_sum + *constraint_coefficients[54] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column5_row57 * (column4_row11 - 3138550867693340381917894711603833208051177722232017256448 * column4_row1539)) / domain19; - let total_sum = total_sum + *constraint_coefficients[55] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column5_row57 - column4_row2047 * (column4_row1539 - (column4_row1547 + column4_row1547))) / domain19; - let total_sum = total_sum + *constraint_coefficients[56] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column4_row2047 * (column4_row1547 - 8 * column4_row1571)) / domain19; - let total_sum = total_sum + *constraint_coefficients[57] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column4_row2047 - (column4_row2011 - (column4_row2019 + column4_row2019)) * (column4_row1571 - (column4_row1579 + column4_row1579))) / domain19; - let total_sum = total_sum + *constraint_coefficients[58] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column4_row2011 - (column4_row2019 + column4_row2019)) * (column4_row1579 - 18014398509481984 * column4_row2011)) / domain19; - let total_sum = total_sum + *constraint_coefficients[59] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain20 / domain3; - let total_sum = total_sum + *constraint_coefficients[60] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. let value = (column4_row3) / domain21; - let total_sum = total_sum + *constraint_coefficients[61] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. let value = (column4_row3) / domain20; - let total_sum = total_sum + *constraint_coefficients[62] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. let value = (pedersen_hash0_ec_subset_sum_bit_0 @@ -834,7 +834,7 @@ fn eval_composition_polynomial_inner( - column4_row7 * (column4_row1 - global_values.pedersen_points_x)) * domain20 / domain3; - let total_sum = total_sum + *constraint_coefficients[63] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. let value = (column4_row7 * column4_row7 @@ -842,192 +842,192 @@ fn eval_composition_polynomial_inner( * (column4_row1 + global_values.pedersen_points_x + column4_row9)) * domain20 / domain3; - let total_sum = total_sum + *constraint_coefficients[64] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column4_row5 + column4_row13) - column4_row7 * (column4_row1 - column4_row9)) * domain20 / domain3; - let total_sum = total_sum + *constraint_coefficients[65] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row9 - column4_row1)) * domain20 / domain3; - let total_sum = total_sum + *constraint_coefficients[66] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column4_row13 - column4_row5)) * domain20 / domain3; - let total_sum = total_sum + *constraint_coefficients[67] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. let value = (column4_row2049 - column4_row2041) * domain22 / domain19; - let total_sum = total_sum + *constraint_coefficients[68] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. let value = (column4_row2053 - column4_row2045) * domain22 / domain19; - let total_sum = total_sum + *constraint_coefficients[69] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. let value = (column4_row1 - global_values.pedersen_shift_point.x) / domain23; - let total_sum = total_sum + *constraint_coefficients[70] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. let value = (column4_row5 - global_values.pedersen_shift_point.y) / domain23; - let total_sum = total_sum + *constraint_coefficients[71] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. let value = (column1_row11 - column4_row3) / domain23; - let total_sum = total_sum + *constraint_coefficients[72] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. let value = (column1_row4106 - (column1_row1034 + 1)) * domain28 / domain23; - let total_sum = total_sum + *constraint_coefficients[73] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. let value = (column1_row10 - global_values.initial_pedersen_addr) / domain25; - let total_sum = total_sum + *constraint_coefficients[74] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. let value = (column1_row2059 - column4_row2051) / domain23; - let total_sum = total_sum + *constraint_coefficients[75] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. let value = (column1_row2058 - (column1_row10 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[76] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. let value = (column1_row1035 - column4_row4089) / domain23; - let total_sum = total_sum + *constraint_coefficients[77] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. let value = (column1_row1034 - (column1_row2058 + 1)) / domain23; - let total_sum = total_sum + *constraint_coefficients[78] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. let value = (range_check_builtin_value7_0 - column1_row139) / domain9; - let total_sum = total_sum + *constraint_coefficients[79] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. let value = (column1_row394 - (column1_row138 + 1)) * domain29 / domain9; - let total_sum = total_sum + *constraint_coefficients[80] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. let value = (column1_row138 - global_values.initial_range_check_addr) / domain25; - let total_sum = total_sum + *constraint_coefficients[81] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/init_var_pool_addr. let value = (column1_row42 - global_values.initial_bitwise_addr) / domain25; - let total_sum = total_sum + *constraint_coefficients[82] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/step_var_pool_addr. let value = (column1_row106 - (column1_row42 + 1)) * domain10 / domain7; - let total_sum = total_sum + *constraint_coefficients[83] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/x_or_y_addr. let value = (column1_row74 - (column1_row234 + 1)) / domain9; - let total_sum = total_sum + *constraint_coefficients[84] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/next_var_pool_addr. let value = (column1_row298 - (column1_row74 + 1)) * domain29 / domain9; - let total_sum = total_sum + *constraint_coefficients[85] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/partition. let value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column1_row43) / domain7; - let total_sum = total_sum + *constraint_coefficients[86] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/or_is_and_plus_xor. let value = (column1_row75 - (column1_row171 + column1_row235)) / domain9; - let total_sum = total_sum + *constraint_coefficients[87] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/addition_is_xor_with_and. let value = (column3_row0 + column3_row64 - (column3_row192 + column3_row128 + column3_row128)) / domain11; - let total_sum = total_sum + *constraint_coefficients[88] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking192. let value = ((column3_row176 + column3_row240) * 16 - column3_row2) / domain9; - let total_sum = total_sum + *constraint_coefficients[89] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking193. let value = ((column3_row180 + column3_row244) * 16 - column3_row130) / domain9; - let total_sum = total_sum + *constraint_coefficients[90] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking194. let value = ((column3_row184 + column3_row248) * 16 - column3_row66) / domain9; - let total_sum = total_sum + *constraint_coefficients[91] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking195. let value = ((column3_row188 + column3_row252) * 256 - column3_row194) / domain9; - let total_sum = total_sum + *constraint_coefficients[92] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/init_input_output_addr. let value = (column1_row266 - global_values.initial_poseidon_addr) / domain25; - let total_sum = total_sum + *constraint_coefficients[93] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_0/addr_input_output_step. let value = (column1_row778 - (column1_row266 + 3)) * domain30 / domain12; - let total_sum = total_sum + *constraint_coefficients[94] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/init_input_output_addr. let value = (column1_row202 - (global_values.initial_poseidon_addr + 1)) / domain25; - let total_sum = total_sum + *constraint_coefficients[95] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_1/addr_input_output_step. let value = (column1_row714 - (column1_row202 + 3)) * domain30 / domain12; - let total_sum = total_sum + *constraint_coefficients[96] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/init_input_output_addr. let value = (column1_row458 - (global_values.initial_poseidon_addr + 2)) / domain25; - let total_sum = total_sum + *constraint_coefficients[97] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/param_2/addr_input_output_step. let value = (column1_row970 - (column1_row458 + 3)) * domain30 / domain12; - let total_sum = total_sum + *constraint_coefficients[98] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state0_squaring. let value = (column5_row9 * column5_row9 - column5_row105) / domain8; - let total_sum = total_sum + *constraint_coefficients[99] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state1_squaring. let value = (column5_row73 * column5_row73 - column5_row25) / domain8; - let total_sum = total_sum + *constraint_coefficients[100] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_rounds_state2_squaring. let value = (column5_row41 * column5_row41 - column5_row89) / domain8; - let total_sum = total_sum + *constraint_coefficients[101] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state0_squaring. let value = (column5_row6 * column5_row6 - column5_row14) / domain5; - let total_sum = total_sum + *constraint_coefficients[102] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_rounds_state1_squaring. let value = (column5_row1 * column5_row1 - column5_row17) * domain15 / domain6; - let total_sum = total_sum + *constraint_coefficients[103] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key0. let value = (column1_row267 + 2950795762459345168613727575620414179244544320470208355568817838579231751791 - column5_row9) / domain16; - let total_sum = total_sum + *constraint_coefficients[104] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key1. let value = (column1_row203 + 1587446564224215276866294500450702039420286416111469274423465069420553242820 - column5_row73) / domain16; - let total_sum = total_sum + *constraint_coefficients[105] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/add_first_round_key2. let value = (column1_row459 + 1645965921169490687904413452218868659025437693527479459426157555728339600137 - column5_row41) / domain16; - let total_sum = total_sum + *constraint_coefficients[106] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round0. let value = (column5_row137 @@ -1039,7 +1039,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key0)) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients[107] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round1. let value = (column5_row201 @@ -1049,7 +1049,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key1)) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients[108] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/full_round2. let value = (column5_row169 @@ -1060,7 +1060,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_full_round_key2)) * domain13 / domain8; - let total_sum = total_sum + *constraint_coefficients[109] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round0. let value = (column1_row779 @@ -1070,7 +1070,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_full_rounds_state1_cubed_7 + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain16; - let total_sum = total_sum + *constraint_coefficients[110] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round1. let value = (column1_row715 @@ -1078,7 +1078,7 @@ fn eval_composition_polynomial_inner( - (poseidon_poseidon_full_rounds_state0_cubed_7 + poseidon_poseidon_full_rounds_state2_cubed_7)) / domain16; - let total_sum = total_sum + *constraint_coefficients[111] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/last_full_round2. let value = (column1_row971 @@ -1087,19 +1087,19 @@ fn eval_composition_polynomial_inner( - (poseidon_poseidon_full_rounds_state0_cubed_7 + poseidon_poseidon_full_rounds_state1_cubed_7)) / domain16; - let total_sum = total_sum + *constraint_coefficients[112] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i0. let value = (column5_row982 - column5_row1) / domain16; - let total_sum = total_sum + *constraint_coefficients[113] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i1. let value = (column5_row998 - column5_row33) / domain16; - let total_sum = total_sum + *constraint_coefficients[114] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/copy_partial_rounds0_i2. let value = (column5_row1014 - column5_row65) / domain16; - let total_sum = total_sum + *constraint_coefficients[115] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial0. let value = (column5_row6 @@ -1109,7 +1109,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_full_rounds_state1_cubed_3 + 2121140748740143694053732746913428481442990369183417228688865837805149503386)) / domain16; - let total_sum = total_sum + *constraint_coefficients[116] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial1. let value = (column5_row22 @@ -1121,7 +1121,7 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state0_cubed_0 + 2006642341318481906727563724340978325665491359415674592697055778067937914672)) / domain16; - let total_sum = total_sum + *constraint_coefficients[117] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_full_to_partial2. let value = (column5_row38 @@ -1134,7 +1134,7 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state0_cubed_1 + 427751140904099001132521606468025610873158555767197326325930641757709538586)) / domain16; - let total_sum = total_sum + *constraint_coefficients[118] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round0. let value = (column5_row54 @@ -1148,7 +1148,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_partial_round_key0)) * domain17 / domain5; - let total_sum = total_sum + *constraint_coefficients[119] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/partial_round1. let value = (column5_row97 @@ -1162,7 +1162,7 @@ fn eval_composition_polynomial_inner( + global_values.poseidon_poseidon_partial_round_key1)) * domain18 / domain6; - let total_sum = total_sum + *constraint_coefficients[120] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full0. let value = (column5_row521 @@ -1173,7 +1173,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_partial_rounds_state1_cubed_21 + 560279373700919169769089400651532183647886248799764942664266404650165812023)) / domain16; - let total_sum = total_sum + *constraint_coefficients[121] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full1. let value = (column5_row585 @@ -1183,7 +1183,7 @@ fn eval_composition_polynomial_inner( + poseidon_poseidon_partial_rounds_state1_cubed_21 + 1401754474293352309994371631695783042590401941592571735921592823982231996415)) / domain16; - let total_sum = total_sum + *constraint_coefficients[122] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: poseidon/poseidon/margin_partial_to_full2. let value = (column5_row553 @@ -1196,15 +1196,15 @@ fn eval_composition_polynomial_inner( * poseidon_poseidon_partial_rounds_state1_cubed_21 + 1246177936547655338400308396717835700699368047388302793172818304164989556526)) / domain16; - let total_sum = total_sum + *constraint_coefficients[123] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } fn eval_oods_polynomial_inner( - column_values: Span, - oods_values: Span, - constraint_coefficients: Span, + mut column_values: Span, + mut oods_values: Span, + mut constraint_coefficients: Span, point: felt252, oods_point: felt252, trace_generator: felt252, @@ -1346,604 +1346,604 @@ fn eval_oods_polynomial_inner( let pow133 = pow1 * pow21; // pow(trace_generator, 4106). // Fetch columns. - let column0 = *column_values[0]; - let column1 = *column_values[1]; - let column2 = *column_values[2]; - let column3 = *column_values[3]; - let column4 = *column_values[4]; - let column5 = *column_values[5]; - let column6 = *column_values[6]; - let column7 = *column_values[7]; + let column0 = *column_values.pop_front().unwrap(); + let column1 = *column_values.pop_front().unwrap(); + let column2 = *column_values.pop_front().unwrap(); + let column3 = *column_values.pop_front().unwrap(); + let column4 = *column_values.pop_front().unwrap(); + let column5 = *column_values.pop_front().unwrap(); + let column6 = *column_values.pop_front().unwrap(); + let column7 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; - let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[0] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[1]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[1] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[2]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[2] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[3]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[3] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[4]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[4] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[5]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[5] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[6]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[6] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[7]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[7] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[8]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[8] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[9]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[9] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[10]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[10] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[11]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[11] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[12]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[12] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[13]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[13] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[14]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[14] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[15]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[15] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[16] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[17]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[17] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[18]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[18] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[19]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[19] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[20]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[20] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[21]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[21] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[22]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[22] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[23]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[23] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[24]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[24] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[25]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[25] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[26]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[26] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[27]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[27] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[28]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[28] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[29]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[29] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[30]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[30] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[31]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[31] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[32]) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients[32] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[33]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[33] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[34]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[34] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[35]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[35] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[36]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[36] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[37]) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients[37] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[38]) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients[38] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[39]) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients[39] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[40]) / (point - pow80 * oods_point); - let total_sum = total_sum + *constraint_coefficients[40] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow80 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[41]) / (point - pow86 * oods_point); - let total_sum = total_sum + *constraint_coefficients[41] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow86 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[42]) / (point - pow87 * oods_point); - let total_sum = total_sum + *constraint_coefficients[42] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow87 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[43]) / (point - pow115 * oods_point); - let total_sum = total_sum + *constraint_coefficients[43] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow115 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[44]) / (point - pow88 * oods_point); - let total_sum = total_sum + *constraint_coefficients[44] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow88 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[45]) / (point - pow92 * oods_point); - let total_sum = total_sum + *constraint_coefficients[45] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow92 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[46]) / (point - pow93 * oods_point); - let total_sum = total_sum + *constraint_coefficients[46] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow93 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[47]) / (point - pow109 * oods_point); - let total_sum = total_sum + *constraint_coefficients[47] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow109 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[48]) / (point - pow113 * oods_point); - let total_sum = total_sum + *constraint_coefficients[48] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow113 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[49]) / (point - pow110 * oods_point); - let total_sum = total_sum + *constraint_coefficients[49] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow110 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[50]) / (point - pow114 * oods_point); - let total_sum = total_sum + *constraint_coefficients[50] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow114 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[51]) / (point - pow111 * oods_point); - let total_sum = total_sum + *constraint_coefficients[51] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow111 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[52]) / (point - pow116 * oods_point); - let total_sum = total_sum + *constraint_coefficients[52] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow116 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[53]) / (point - pow122 * oods_point); - let total_sum = total_sum + *constraint_coefficients[53] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow122 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[54]) / (point - pow127 * oods_point); - let total_sum = total_sum + *constraint_coefficients[54] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow127 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[55]) / (point - pow131 * oods_point); - let total_sum = total_sum + *constraint_coefficients[55] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow131 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[56]) / (point - pow132 * oods_point); - let total_sum = total_sum + *constraint_coefficients[56] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow132 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[57]) / (point - pow133 * oods_point); - let total_sum = total_sum + *constraint_coefficients[57] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow133 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[58]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[58] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[59]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[59] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[60]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[60] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[61]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[61] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[62]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[62] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[63]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[63] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[64]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[64] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[65]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[65] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[66]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[66] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[67]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[67] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[68]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[68] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[69]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[69] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[70]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[70] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[71]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[71] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[72]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[72] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[73]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[73] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[74]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[74] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[75]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[75] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[76]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[76] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[77]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[77] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[78]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[78] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[79]) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients[79] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[80]) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients[80] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[81]) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients[81] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[82]) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients[82] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[83]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[83] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[84]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[84] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[85]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[85] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[86]) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients[86] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[87]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[87] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[88]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[88] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[89]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[89] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[90]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[90] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[91]) / (point - pow82 * oods_point); - let total_sum = total_sum + *constraint_coefficients[91] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow82 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[92]) / (point - pow83 * oods_point); - let total_sum = total_sum + *constraint_coefficients[92] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow83 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[93]) / (point - pow84 * oods_point); - let total_sum = total_sum + *constraint_coefficients[93] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow84 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[94]) / (point - pow85 * oods_point); - let total_sum = total_sum + *constraint_coefficients[94] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow85 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[95]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[95] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[96]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[96] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[97]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[97] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[98]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[98] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[99]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[99] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[100]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[100] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[101]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[101] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[102]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[102] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[103]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[103] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[104]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[104] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[105]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[105] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[106]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[106] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[107]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[107] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[108]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[108] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[109]) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients[109] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[110]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[110] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[111]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[111] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[112]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[112] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[113]) / (point - pow78 * oods_point); - let total_sum = total_sum + *constraint_coefficients[113] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow78 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[114]) / (point - pow81 * oods_point); - let total_sum = total_sum + *constraint_coefficients[114] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow81 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[115]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[115] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[116]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[116] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[117]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[117] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[118]) / (point - pow112 * oods_point); - let total_sum = total_sum + *constraint_coefficients[118] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow112 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[119]) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients[119] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[120]) / (point - pow123 * oods_point); - let total_sum = total_sum + *constraint_coefficients[120] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow123 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[121]) / (point - pow124 * oods_point); - let total_sum = total_sum + *constraint_coefficients[121] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow124 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[122]) / (point - pow125 * oods_point); - let total_sum = total_sum + *constraint_coefficients[122] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow125 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[123]) / (point - pow126 * oods_point); - let total_sum = total_sum + *constraint_coefficients[123] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow126 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[124]) / (point - pow128 * oods_point); - let total_sum = total_sum + *constraint_coefficients[124] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow128 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[125]) / (point - pow129 * oods_point); - let total_sum = total_sum + *constraint_coefficients[125] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow129 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[126]) / (point - pow130 * oods_point); - let total_sum = total_sum + *constraint_coefficients[126] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow130 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[127]) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients[127] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[128]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[128] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[129]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[129] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[130]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[130] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[131]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[131] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[132]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[132] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[133]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[133] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[134]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[134] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[135]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[135] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[136]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[136] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[137]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[137] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[138]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[138] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[139]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[139] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[140]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[140] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[141]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[141] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[142]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[142] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[143]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[143] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[144]) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients[144] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[145]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[145] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[146]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[146] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[147]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[147] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[148]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[148] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[149]) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients[149] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[150]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[150] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[151]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[151] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[152]) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients[152] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[153]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[153] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[154]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[154] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[155]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[155] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[156]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[156] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[157]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[157] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[158]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[158] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[159]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[159] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[160]) / (point - pow77 * oods_point); - let total_sum = total_sum + *constraint_coefficients[160] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow77 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[161]) / (point - pow89 * oods_point); - let total_sum = total_sum + *constraint_coefficients[161] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow89 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[162]) / (point - pow90 * oods_point); - let total_sum = total_sum + *constraint_coefficients[162] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow90 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[163]) / (point - pow91 * oods_point); - let total_sum = total_sum + *constraint_coefficients[163] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow91 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[164]) / (point - pow94 * oods_point); - let total_sum = total_sum + *constraint_coefficients[164] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow94 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[165]) / (point - pow95 * oods_point); - let total_sum = total_sum + *constraint_coefficients[165] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow95 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[166]) / (point - pow96 * oods_point); - let total_sum = total_sum + *constraint_coefficients[166] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow96 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[167]) / (point - pow97 * oods_point); - let total_sum = total_sum + *constraint_coefficients[167] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow97 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[168]) / (point - pow98 * oods_point); - let total_sum = total_sum + *constraint_coefficients[168] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow98 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[169]) / (point - pow99 * oods_point); - let total_sum = total_sum + *constraint_coefficients[169] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow99 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[170]) / (point - pow100 * oods_point); - let total_sum = total_sum + *constraint_coefficients[170] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow100 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[171]) / (point - pow101 * oods_point); - let total_sum = total_sum + *constraint_coefficients[171] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow101 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[172]) / (point - pow102 * oods_point); - let total_sum = total_sum + *constraint_coefficients[172] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow102 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[173]) / (point - pow104 * oods_point); - let total_sum = total_sum + *constraint_coefficients[173] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow104 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[174]) / (point - pow106 * oods_point); - let total_sum = total_sum + *constraint_coefficients[174] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow106 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[175]) / (point - pow103 * oods_point); - let total_sum = total_sum + *constraint_coefficients[175] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow103 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[176]) / (point - pow105 * oods_point); - let total_sum = total_sum + *constraint_coefficients[176] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow105 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[177]) / (point - pow107 * oods_point); - let total_sum = total_sum + *constraint_coefficients[177] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow107 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[178]) / (point - pow108 * oods_point); - let total_sum = total_sum + *constraint_coefficients[178] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow108 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[179]) / (point - pow117 * oods_point); - let total_sum = total_sum + *constraint_coefficients[179] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow117 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[180]) / (point - pow118 * oods_point); - let total_sum = total_sum + *constraint_coefficients[180] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow118 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[181]) / (point - pow119 * oods_point); - let total_sum = total_sum + *constraint_coefficients[181] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow119 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[182]) / (point - pow120 * oods_point); - let total_sum = total_sum + *constraint_coefficients[182] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow120 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[183]) / (point - pow121 * oods_point); - let total_sum = total_sum + *constraint_coefficients[183] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow121 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[184]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[184] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[185]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[185] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[186]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[186] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[187]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[187] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[188]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[188] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[189]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[189] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[190]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[190] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[191]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[191] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[192]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[192] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[193]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[193] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(194 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From 8649efcffbc9db67afdbf90cfbcc54ca97a85496 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:48:22 +0100 Subject: [PATCH 18/29] recursive pop_front optimization --- src/air/layouts/recursive/autogenerated.cairo | 1022 ++++++++--------- 1 file changed, 511 insertions(+), 511 deletions(-) diff --git a/src/air/layouts/recursive/autogenerated.cairo b/src/air/layouts/recursive/autogenerated.cairo index 96b786399..ec28e36fb 100644 --- a/src/air/layouts/recursive/autogenerated.cairo +++ b/src/air/layouts/recursive/autogenerated.cairo @@ -7,8 +7,8 @@ use cairo_verifier::{ }; fn eval_composition_polynomial_inner( - mask_values: Span, - constraint_coefficients: Span, + mut mask_values: Span, + mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, global_values: GlobalValues @@ -101,139 +101,139 @@ fn eval_composition_polynomial_inner( let domain20 = point - pow8; // Fetch mask variables. - let column0_row0 = *mask_values[0]; - let column0_row1 = *mask_values[1]; - let column0_row2 = *mask_values[2]; - let column0_row3 = *mask_values[3]; - let column0_row4 = *mask_values[4]; - let column0_row5 = *mask_values[5]; - let column0_row6 = *mask_values[6]; - let column0_row7 = *mask_values[7]; - let column0_row8 = *mask_values[8]; - let column0_row9 = *mask_values[9]; - let column0_row10 = *mask_values[10]; - let column0_row11 = *mask_values[11]; - let column0_row12 = *mask_values[12]; - let column0_row13 = *mask_values[13]; - let column0_row14 = *mask_values[14]; - let column0_row15 = *mask_values[15]; - let column1_row0 = *mask_values[16]; - let column1_row1 = *mask_values[17]; - let column1_row2 = *mask_values[18]; - let column1_row4 = *mask_values[19]; - let column1_row6 = *mask_values[20]; - let column1_row8 = *mask_values[21]; - let column1_row10 = *mask_values[22]; - let column1_row12 = *mask_values[23]; - let column1_row14 = *mask_values[24]; - let column1_row16 = *mask_values[25]; - let column1_row18 = *mask_values[26]; - let column1_row20 = *mask_values[27]; - let column1_row22 = *mask_values[28]; - let column1_row24 = *mask_values[29]; - let column1_row26 = *mask_values[30]; - let column1_row28 = *mask_values[31]; - let column1_row30 = *mask_values[32]; - let column1_row32 = *mask_values[33]; - let column1_row33 = *mask_values[34]; - let column1_row64 = *mask_values[35]; - let column1_row65 = *mask_values[36]; - let column1_row88 = *mask_values[37]; - let column1_row90 = *mask_values[38]; - let column1_row92 = *mask_values[39]; - let column1_row94 = *mask_values[40]; - let column1_row96 = *mask_values[41]; - let column1_row97 = *mask_values[42]; - let column1_row120 = *mask_values[43]; - let column1_row122 = *mask_values[44]; - let column1_row124 = *mask_values[45]; - let column1_row126 = *mask_values[46]; - let column2_row0 = *mask_values[47]; - let column2_row1 = *mask_values[48]; - let column3_row0 = *mask_values[49]; - let column3_row1 = *mask_values[50]; - let column3_row2 = *mask_values[51]; - let column3_row3 = *mask_values[52]; - let column3_row4 = *mask_values[53]; - let column3_row5 = *mask_values[54]; - let column3_row8 = *mask_values[55]; - let column3_row9 = *mask_values[56]; - let column3_row10 = *mask_values[57]; - let column3_row11 = *mask_values[58]; - let column3_row12 = *mask_values[59]; - let column3_row13 = *mask_values[60]; - let column3_row16 = *mask_values[61]; - let column3_row26 = *mask_values[62]; - let column3_row27 = *mask_values[63]; - let column3_row42 = *mask_values[64]; - let column3_row43 = *mask_values[65]; - let column3_row58 = *mask_values[66]; - let column3_row74 = *mask_values[67]; - let column3_row75 = *mask_values[68]; - let column3_row91 = *mask_values[69]; - let column3_row122 = *mask_values[70]; - let column3_row123 = *mask_values[71]; - let column3_row154 = *mask_values[72]; - let column3_row202 = *mask_values[73]; - let column3_row522 = *mask_values[74]; - let column3_row523 = *mask_values[75]; - let column3_row1034 = *mask_values[76]; - let column3_row1035 = *mask_values[77]; - let column3_row2058 = *mask_values[78]; - let column4_row0 = *mask_values[79]; - let column4_row1 = *mask_values[80]; - let column4_row2 = *mask_values[81]; - let column4_row3 = *mask_values[82]; - let column5_row0 = *mask_values[83]; - let column5_row1 = *mask_values[84]; - let column5_row2 = *mask_values[85]; - let column5_row3 = *mask_values[86]; - let column5_row4 = *mask_values[87]; - let column5_row5 = *mask_values[88]; - let column5_row6 = *mask_values[89]; - let column5_row7 = *mask_values[90]; - let column5_row8 = *mask_values[91]; - let column5_row12 = *mask_values[92]; - let column5_row28 = *mask_values[93]; - let column5_row44 = *mask_values[94]; - let column5_row60 = *mask_values[95]; - let column5_row76 = *mask_values[96]; - let column5_row92 = *mask_values[97]; - let column5_row108 = *mask_values[98]; - let column5_row124 = *mask_values[99]; - let column5_row1021 = *mask_values[100]; - let column5_row1023 = *mask_values[101]; - let column5_row1025 = *mask_values[102]; - let column5_row1027 = *mask_values[103]; - let column5_row2045 = *mask_values[104]; - let column6_row0 = *mask_values[105]; - let column6_row1 = *mask_values[106]; - let column6_row2 = *mask_values[107]; - let column6_row3 = *mask_values[108]; - let column6_row4 = *mask_values[109]; - let column6_row5 = *mask_values[110]; - let column6_row7 = *mask_values[111]; - let column6_row9 = *mask_values[112]; - let column6_row11 = *mask_values[113]; - let column6_row13 = *mask_values[114]; - let column6_row17 = *mask_values[115]; - let column6_row25 = *mask_values[116]; - let column6_row768 = *mask_values[117]; - let column6_row772 = *mask_values[118]; - let column6_row784 = *mask_values[119]; - let column6_row788 = *mask_values[120]; - let column6_row1004 = *mask_values[121]; - let column6_row1008 = *mask_values[122]; - let column6_row1022 = *mask_values[123]; - let column6_row1024 = *mask_values[124]; - let column7_inter1_row0 = *mask_values[125]; - let column7_inter1_row1 = *mask_values[126]; - let column8_inter1_row0 = *mask_values[127]; - let column8_inter1_row1 = *mask_values[128]; - let column9_inter1_row0 = *mask_values[129]; - let column9_inter1_row1 = *mask_values[130]; - let column9_inter1_row2 = *mask_values[131]; - let column9_inter1_row5 = *mask_values[132]; + let column0_row0 = *mask_values.pop_front().unwrap(); + let column0_row1 = *mask_values.pop_front().unwrap(); + let column0_row2 = *mask_values.pop_front().unwrap(); + let column0_row3 = *mask_values.pop_front().unwrap(); + let column0_row4 = *mask_values.pop_front().unwrap(); + let column0_row5 = *mask_values.pop_front().unwrap(); + let column0_row6 = *mask_values.pop_front().unwrap(); + let column0_row7 = *mask_values.pop_front().unwrap(); + let column0_row8 = *mask_values.pop_front().unwrap(); + let column0_row9 = *mask_values.pop_front().unwrap(); + let column0_row10 = *mask_values.pop_front().unwrap(); + let column0_row11 = *mask_values.pop_front().unwrap(); + let column0_row12 = *mask_values.pop_front().unwrap(); + let column0_row13 = *mask_values.pop_front().unwrap(); + let column0_row14 = *mask_values.pop_front().unwrap(); + let column0_row15 = *mask_values.pop_front().unwrap(); + let column1_row0 = *mask_values.pop_front().unwrap(); + let column1_row1 = *mask_values.pop_front().unwrap(); + let column1_row2 = *mask_values.pop_front().unwrap(); + let column1_row4 = *mask_values.pop_front().unwrap(); + let column1_row6 = *mask_values.pop_front().unwrap(); + let column1_row8 = *mask_values.pop_front().unwrap(); + let column1_row10 = *mask_values.pop_front().unwrap(); + let column1_row12 = *mask_values.pop_front().unwrap(); + let column1_row14 = *mask_values.pop_front().unwrap(); + let column1_row16 = *mask_values.pop_front().unwrap(); + let column1_row18 = *mask_values.pop_front().unwrap(); + let column1_row20 = *mask_values.pop_front().unwrap(); + let column1_row22 = *mask_values.pop_front().unwrap(); + let column1_row24 = *mask_values.pop_front().unwrap(); + let column1_row26 = *mask_values.pop_front().unwrap(); + let column1_row28 = *mask_values.pop_front().unwrap(); + let column1_row30 = *mask_values.pop_front().unwrap(); + let column1_row32 = *mask_values.pop_front().unwrap(); + let column1_row33 = *mask_values.pop_front().unwrap(); + let column1_row64 = *mask_values.pop_front().unwrap(); + let column1_row65 = *mask_values.pop_front().unwrap(); + let column1_row88 = *mask_values.pop_front().unwrap(); + let column1_row90 = *mask_values.pop_front().unwrap(); + let column1_row92 = *mask_values.pop_front().unwrap(); + let column1_row94 = *mask_values.pop_front().unwrap(); + let column1_row96 = *mask_values.pop_front().unwrap(); + let column1_row97 = *mask_values.pop_front().unwrap(); + let column1_row120 = *mask_values.pop_front().unwrap(); + let column1_row122 = *mask_values.pop_front().unwrap(); + let column1_row124 = *mask_values.pop_front().unwrap(); + let column1_row126 = *mask_values.pop_front().unwrap(); + let column2_row0 = *mask_values.pop_front().unwrap(); + let column2_row1 = *mask_values.pop_front().unwrap(); + let column3_row0 = *mask_values.pop_front().unwrap(); + let column3_row1 = *mask_values.pop_front().unwrap(); + let column3_row2 = *mask_values.pop_front().unwrap(); + let column3_row3 = *mask_values.pop_front().unwrap(); + let column3_row4 = *mask_values.pop_front().unwrap(); + let column3_row5 = *mask_values.pop_front().unwrap(); + let column3_row8 = *mask_values.pop_front().unwrap(); + let column3_row9 = *mask_values.pop_front().unwrap(); + let column3_row10 = *mask_values.pop_front().unwrap(); + let column3_row11 = *mask_values.pop_front().unwrap(); + let column3_row12 = *mask_values.pop_front().unwrap(); + let column3_row13 = *mask_values.pop_front().unwrap(); + let column3_row16 = *mask_values.pop_front().unwrap(); + let column3_row26 = *mask_values.pop_front().unwrap(); + let column3_row27 = *mask_values.pop_front().unwrap(); + let column3_row42 = *mask_values.pop_front().unwrap(); + let column3_row43 = *mask_values.pop_front().unwrap(); + let column3_row58 = *mask_values.pop_front().unwrap(); + let column3_row74 = *mask_values.pop_front().unwrap(); + let column3_row75 = *mask_values.pop_front().unwrap(); + let column3_row91 = *mask_values.pop_front().unwrap(); + let column3_row122 = *mask_values.pop_front().unwrap(); + let column3_row123 = *mask_values.pop_front().unwrap(); + let column3_row154 = *mask_values.pop_front().unwrap(); + let column3_row202 = *mask_values.pop_front().unwrap(); + let column3_row522 = *mask_values.pop_front().unwrap(); + let column3_row523 = *mask_values.pop_front().unwrap(); + let column3_row1034 = *mask_values.pop_front().unwrap(); + let column3_row1035 = *mask_values.pop_front().unwrap(); + let column3_row2058 = *mask_values.pop_front().unwrap(); + let column4_row0 = *mask_values.pop_front().unwrap(); + let column4_row1 = *mask_values.pop_front().unwrap(); + let column4_row2 = *mask_values.pop_front().unwrap(); + let column4_row3 = *mask_values.pop_front().unwrap(); + let column5_row0 = *mask_values.pop_front().unwrap(); + let column5_row1 = *mask_values.pop_front().unwrap(); + let column5_row2 = *mask_values.pop_front().unwrap(); + let column5_row3 = *mask_values.pop_front().unwrap(); + let column5_row4 = *mask_values.pop_front().unwrap(); + let column5_row5 = *mask_values.pop_front().unwrap(); + let column5_row6 = *mask_values.pop_front().unwrap(); + let column5_row7 = *mask_values.pop_front().unwrap(); + let column5_row8 = *mask_values.pop_front().unwrap(); + let column5_row12 = *mask_values.pop_front().unwrap(); + let column5_row28 = *mask_values.pop_front().unwrap(); + let column5_row44 = *mask_values.pop_front().unwrap(); + let column5_row60 = *mask_values.pop_front().unwrap(); + let column5_row76 = *mask_values.pop_front().unwrap(); + let column5_row92 = *mask_values.pop_front().unwrap(); + let column5_row108 = *mask_values.pop_front().unwrap(); + let column5_row124 = *mask_values.pop_front().unwrap(); + let column5_row1021 = *mask_values.pop_front().unwrap(); + let column5_row1023 = *mask_values.pop_front().unwrap(); + let column5_row1025 = *mask_values.pop_front().unwrap(); + let column5_row1027 = *mask_values.pop_front().unwrap(); + let column5_row2045 = *mask_values.pop_front().unwrap(); + let column6_row0 = *mask_values.pop_front().unwrap(); + let column6_row1 = *mask_values.pop_front().unwrap(); + let column6_row2 = *mask_values.pop_front().unwrap(); + let column6_row3 = *mask_values.pop_front().unwrap(); + let column6_row4 = *mask_values.pop_front().unwrap(); + let column6_row5 = *mask_values.pop_front().unwrap(); + let column6_row7 = *mask_values.pop_front().unwrap(); + let column6_row9 = *mask_values.pop_front().unwrap(); + let column6_row11 = *mask_values.pop_front().unwrap(); + let column6_row13 = *mask_values.pop_front().unwrap(); + let column6_row17 = *mask_values.pop_front().unwrap(); + let column6_row25 = *mask_values.pop_front().unwrap(); + let column6_row768 = *mask_values.pop_front().unwrap(); + let column6_row772 = *mask_values.pop_front().unwrap(); + let column6_row784 = *mask_values.pop_front().unwrap(); + let column6_row788 = *mask_values.pop_front().unwrap(); + let column6_row1004 = *mask_values.pop_front().unwrap(); + let column6_row1008 = *mask_values.pop_front().unwrap(); + let column6_row1022 = *mask_values.pop_front().unwrap(); + let column6_row1024 = *mask_values.pop_front().unwrap(); + let column7_inter1_row0 = *mask_values.pop_front().unwrap(); + let column7_inter1_row1 = *mask_values.pop_front().unwrap(); + let column8_inter1_row0 = *mask_values.pop_front().unwrap(); + let column8_inter1_row1 = *mask_values.pop_front().unwrap(); + let column9_inter1_row0 = *mask_values.pop_front().unwrap(); + let column9_inter1_row1 = *mask_values.pop_front().unwrap(); + let column9_inter1_row2 = *mask_values.pop_front().unwrap(); + let column9_inter1_row5 = *mask_values.pop_front().unwrap(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -310,11 +310,11 @@ fn eval_composition_polynomial_inner( - cpu_decode_opcode_range_check_bit_0) * domain3 / domain0; - let total_sum = total_sum + *constraint_coefficients[0] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. let value = (column0_row0) / domain3; - let total_sum = total_sum + *constraint_coefficients[1] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. let value = (column3_row1 @@ -323,30 +323,30 @@ fn eval_composition_polynomial_inner( * global_values.offset_size + column5_row0)) / domain4; - let total_sum = total_sum + *constraint_coefficients[2] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - cpu_decode_flag_op1_base_op0_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[3] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[4] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - cpu_decode_flag_pc_update_regular_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[5] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - cpu_decode_fp_update_regular_0) / domain4; - let total_sum = total_sum + *constraint_coefficients[6] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. let value = (column3_row8 @@ -355,7 +355,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_0) * column6_row1 + column5_row0)) / domain4; - let total_sum = total_sum + *constraint_coefficients[7] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. let value = (column3_row4 @@ -364,7 +364,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_1) * column6_row1 + column5_row8)) / domain4; - let total_sum = total_sum + *constraint_coefficients[8] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. let value = (column3_row12 @@ -375,11 +375,11 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_op1_base_op0_0 * column3_row5 + column5_row4)) / domain4; - let total_sum = total_sum + *constraint_coefficients[9] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. let value = (column6_row5 - column3_row5 * column3_row13) / domain4; - let total_sum = total_sum + *constraint_coefficients[10] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column6_row13 @@ -387,17 +387,17 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_6 * column6_row5 + cpu_decode_flag_res_op1_0 * column3_row13)) / domain4; - let total_sum = total_sum + *constraint_coefficients[11] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. let value = (column6_row3 - cpu_decode_opcode_range_check_bit_9 * column3_row9) * domain14 / domain4; - let total_sum = total_sum + *constraint_coefficients[12] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. let value = (column6_row11 - column6_row3 * column6_row13) * domain14 / domain4; - let total_sum = total_sum + *constraint_coefficients[13] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column3_row16 @@ -407,14 +407,14 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_8 * (column3_row0 + column6_row13))) * domain14 / domain4; - let total_sum = total_sum + *constraint_coefficients[14] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. let value = ((column6_row11 - cpu_decode_opcode_range_check_bit_9) * (column3_row16 - npc_reg_0)) * domain14 / domain4; - let total_sum = total_sum + *constraint_coefficients[15] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. let value = (column6_row17 @@ -424,7 +424,7 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * 2)) * domain14 / domain4; - let total_sum = total_sum + *constraint_coefficients[16] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. let value = (column6_row25 @@ -433,29 +433,29 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * (column6_row1 + 2))) * domain14 / domain4; - let total_sum = total_sum + *constraint_coefficients[17] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. let value = (cpu_decode_opcode_range_check_bit_12 * (column3_row9 - column6_row9)) / domain4; - let total_sum = total_sum + *constraint_coefficients[18] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. let value = (cpu_decode_opcode_range_check_bit_12 * (column3_row5 - (column3_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain4; - let total_sum = total_sum + *constraint_coefficients[19] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. let value = (cpu_decode_opcode_range_check_bit_12 * (column5_row0 - global_values.half_offset_size)) / domain4; - let total_sum = total_sum + *constraint_coefficients[20] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. let value = (cpu_decode_opcode_range_check_bit_12 * (column5_row8 - (global_values.half_offset_size + 1))) / domain4; - let total_sum = total_sum + *constraint_coefficients[21] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. let value = (cpu_decode_opcode_range_check_bit_12 @@ -465,19 +465,19 @@ fn eval_composition_polynomial_inner( + 1 - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain4; - let total_sum = total_sum + *constraint_coefficients[22] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. let value = (cpu_decode_opcode_range_check_bit_13 * (column5_row0 + 2 - global_values.half_offset_size)) / domain4; - let total_sum = total_sum + *constraint_coefficients[23] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. let value = (cpu_decode_opcode_range_check_bit_13 * (column5_row4 + 1 - global_values.half_offset_size)) / domain4; - let total_sum = total_sum + *constraint_coefficients[24] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. let value = (cpu_decode_opcode_range_check_bit_13 @@ -487,35 +487,35 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_res_op1_0 - 4)) / domain4; - let total_sum = total_sum + *constraint_coefficients[25] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. let value = (cpu_decode_opcode_range_check_bit_14 * (column3_row9 - column6_row13)) / domain4; - let total_sum = total_sum + *constraint_coefficients[26] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. let value = (column6_row1 - global_values.initial_ap) / domain15; - let total_sum = total_sum + *constraint_coefficients[27] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. let value = (column6_row9 - global_values.initial_ap) / domain15; - let total_sum = total_sum + *constraint_coefficients[28] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. let value = (column3_row0 - global_values.initial_pc) / domain15; - let total_sum = total_sum + *constraint_coefficients[29] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. let value = (column6_row1 - global_values.final_ap) / domain14; - let total_sum = total_sum + *constraint_coefficients[30] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. let value = (column6_row9 - global_values.initial_ap) / domain14; - let total_sum = total_sum + *constraint_coefficients[31] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. let value = (column3_row0 - global_values.final_pc) / domain14; - let total_sum = total_sum + *constraint_coefficients[32] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -526,7 +526,7 @@ fn eval_composition_polynomial_inner( + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row1 - global_values.memory_multi_column_perm_perm_interaction_elm) / domain15; - let total_sum = total_sum + *constraint_coefficients[33] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -539,35 +539,35 @@ fn eval_composition_polynomial_inner( * column9_inter1_row0) * domain16 / domain1; - let total_sum = total_sum + *constraint_coefficients[34] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. let value = (column9_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain16; - let total_sum = total_sum + *constraint_coefficients[35] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain16 / domain1; - let total_sum = total_sum + *constraint_coefficients[36] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. let value = ((memory_address_diff_0 - 1) * (column4_row1 - column4_row3)) * domain16 / domain1; - let total_sum = total_sum + *constraint_coefficients[37] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. let value = (column4_row0 - 1) / domain15; - let total_sum = total_sum + *constraint_coefficients[38] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. let value = (column3_row2) / domain4; - let total_sum = total_sum + *constraint_coefficients[39] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. let value = (column3_row3) / domain4; - let total_sum = total_sum + *constraint_coefficients[40] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. let value = ((global_values.range_check16_perm_interaction_elm - column5_row2) @@ -575,7 +575,7 @@ fn eval_composition_polynomial_inner( + column5_row0 - global_values.range_check16_perm_interaction_elm) / domain15; - let total_sum = total_sum + *constraint_coefficients[41] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. let value = ((global_values.range_check16_perm_interaction_elm - column5_row6) @@ -583,26 +583,26 @@ fn eval_composition_polynomial_inner( - (global_values.range_check16_perm_interaction_elm - column5_row4) * column9_inter1_row1) * domain17 / domain2; - let total_sum = total_sum + *constraint_coefficients[42] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. let value = (column9_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / domain17; - let total_sum = total_sum + *constraint_coefficients[43] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain17 / domain2; - let total_sum = total_sum + *constraint_coefficients[44] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. let value = (column5_row2 - global_values.range_check_min) / domain15; - let total_sum = total_sum + *constraint_coefficients[45] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. let value = (column5_row2 - global_values.range_check_max) / domain17; - let total_sum = total_sum + *constraint_coefficients[46] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/init0. let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row0) @@ -610,7 +610,7 @@ fn eval_composition_polynomial_inner( + column1_row0 - global_values.diluted_check_permutation_interaction_elm) / domain15; - let total_sum = total_sum + *constraint_coefficients[47] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/step0. let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row1) @@ -619,20 +619,20 @@ fn eval_composition_polynomial_inner( * column8_inter1_row0) * domain18 / domain0; - let total_sum = total_sum + *constraint_coefficients[48] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/permutation/last. let value = (column8_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) / domain18; - let total_sum = total_sum + *constraint_coefficients[49] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/init. let value = (column7_inter1_row0 - 1) / domain15; - let total_sum = total_sum + *constraint_coefficients[50] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/first_element. let value = (column2_row0 - global_values.diluted_check_first_elm) / domain15; - let total_sum = total_sum + *constraint_coefficients[51] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/step. let value = (column7_inter1_row1 @@ -643,59 +643,59 @@ fn eval_composition_polynomial_inner( * (column2_row1 - column2_row0))) * domain18 / domain0; - let total_sum = total_sum + *constraint_coefficients[52] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: diluted_check/last. let value = (column7_inter1_row0 - global_values.diluted_check_final_cum_val) / domain18; - let total_sum = total_sum + *constraint_coefficients[53] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column6_row7 * (column6_row0 - (column6_row4 + column6_row4))) / domain9; - let total_sum = total_sum + *constraint_coefficients[54] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column6_row7 * (column6_row4 - 3138550867693340381917894711603833208051177722232017256448 * column6_row768)) / domain9; - let total_sum = total_sum + *constraint_coefficients[55] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column6_row7 - column6_row1022 * (column6_row768 - (column6_row772 + column6_row772))) / domain9; - let total_sum = total_sum + *constraint_coefficients[56] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column6_row1022 * (column6_row772 - 8 * column6_row784)) / domain9; - let total_sum = total_sum + *constraint_coefficients[57] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column6_row1022 - (column6_row1004 - (column6_row1008 + column6_row1008)) * (column6_row784 - (column6_row788 + column6_row788))) / domain9; - let total_sum = total_sum + *constraint_coefficients[58] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column6_row1004 - (column6_row1008 + column6_row1008)) * (column6_row788 - 18014398509481984 * column6_row1004)) / domain9; - let total_sum = total_sum + *constraint_coefficients[59] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain10 / domain2; - let total_sum = total_sum + *constraint_coefficients[60] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. let value = (column6_row0) / domain11; - let total_sum = total_sum + *constraint_coefficients[61] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. let value = (column6_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[62] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. let value = (pedersen_hash0_ec_subset_sum_bit_0 @@ -703,7 +703,7 @@ fn eval_composition_polynomial_inner( - column6_row2 * (column5_row1 - global_values.pedersen_points_x)) * domain10 / domain2; - let total_sum = total_sum + *constraint_coefficients[63] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. let value = (column6_row2 * column6_row2 @@ -711,135 +711,135 @@ fn eval_composition_polynomial_inner( * (column5_row1 + global_values.pedersen_points_x + column5_row5)) * domain10 / domain2; - let total_sum = total_sum + *constraint_coefficients[64] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 + column5_row7) - column6_row2 * (column5_row1 - column5_row5)) * domain10 / domain2; - let total_sum = total_sum + *constraint_coefficients[65] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row5 - column5_row1)) * domain10 / domain2; - let total_sum = total_sum + *constraint_coefficients[66] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row7 - column5_row3)) * domain10 / domain2; - let total_sum = total_sum + *constraint_coefficients[67] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. let value = (column5_row1025 - column5_row1021) * domain12 / domain9; - let total_sum = total_sum + *constraint_coefficients[68] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. let value = (column5_row1027 - column5_row1023) * domain12 / domain9; - let total_sum = total_sum + *constraint_coefficients[69] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. let value = (column5_row1 - global_values.pedersen_shift_point.x) / domain13; - let total_sum = total_sum + *constraint_coefficients[70] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. let value = (column5_row3 - global_values.pedersen_shift_point.y) / domain13; - let total_sum = total_sum + *constraint_coefficients[71] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. let value = (column3_row11 - column6_row0) / domain13; - let total_sum = total_sum + *constraint_coefficients[72] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. let value = (column3_row2058 - (column3_row522 + 1)) * domain19 / domain13; - let total_sum = total_sum + *constraint_coefficients[73] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. let value = (column3_row10 - global_values.initial_pedersen_addr) / domain15; - let total_sum = total_sum + *constraint_coefficients[74] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. let value = (column3_row1035 - column6_row1024) / domain13; - let total_sum = total_sum + *constraint_coefficients[75] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. let value = (column3_row1034 - (column3_row10 + 1)) / domain13; - let total_sum = total_sum + *constraint_coefficients[76] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. let value = (column3_row523 - column5_row2045) / domain13; - let total_sum = total_sum + *constraint_coefficients[77] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. let value = (column3_row522 - (column3_row1034 + 1)) / domain13; - let total_sum = total_sum + *constraint_coefficients[78] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. let value = (range_check_builtin_value7_0 - column3_row75) / domain6; - let total_sum = total_sum + *constraint_coefficients[79] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. let value = (column3_row202 - (column3_row74 + 1)) * domain20 / domain6; - let total_sum = total_sum + *constraint_coefficients[80] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. let value = (column3_row74 - global_values.initial_range_check_addr) / domain15; - let total_sum = total_sum + *constraint_coefficients[81] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/init_var_pool_addr. let value = (column3_row26 - global_values.initial_bitwise_addr) / domain15; - let total_sum = total_sum + *constraint_coefficients[82] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/step_var_pool_addr. let value = (column3_row58 - (column3_row26 + 1)) * domain7 / domain5; - let total_sum = total_sum + *constraint_coefficients[83] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/x_or_y_addr. let value = (column3_row42 - (column3_row122 + 1)) / domain6; - let total_sum = total_sum + *constraint_coefficients[84] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/next_var_pool_addr. let value = (column3_row154 - (column3_row42 + 1)) * domain20 / domain6; - let total_sum = total_sum + *constraint_coefficients[85] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/partition. let value = (bitwise_sum_var_0_0 + bitwise_sum_var_8_0 - column3_row27) / domain5; - let total_sum = total_sum + *constraint_coefficients[86] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/or_is_and_plus_xor. let value = (column3_row43 - (column3_row91 + column3_row123)) / domain6; - let total_sum = total_sum + *constraint_coefficients[87] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/addition_is_xor_with_and. let value = (column1_row0 + column1_row32 - (column1_row96 + column1_row64 + column1_row64)) / domain8; - let total_sum = total_sum + *constraint_coefficients[88] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking192. let value = ((column1_row88 + column1_row120) * 16 - column1_row1) / domain6; - let total_sum = total_sum + *constraint_coefficients[89] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking193. let value = ((column1_row90 + column1_row122) * 16 - column1_row65) / domain6; - let total_sum = total_sum + *constraint_coefficients[90] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking194. let value = ((column1_row92 + column1_row124) * 16 - column1_row33) / domain6; - let total_sum = total_sum + *constraint_coefficients[91] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: bitwise/unique_unpacking195. let value = ((column1_row94 + column1_row126) * 256 - column1_row97) / domain6; - let total_sum = total_sum + *constraint_coefficients[92] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } fn eval_oods_polynomial_inner( - column_values: Span, - oods_values: Span, - constraint_coefficients: Span, + mut column_values: Span, + mut oods_values: Span, + mut constraint_coefficients: Span, point: felt252, oods_point: felt252, trace_generator: felt252, @@ -919,429 +919,429 @@ fn eval_oods_polynomial_inner( let pow71 = pow39 * pow69; // pow(trace_generator, 154). // Fetch columns. - let column0 = *column_values[0]; - let column1 = *column_values[1]; - let column2 = *column_values[2]; - let column3 = *column_values[3]; - let column4 = *column_values[4]; - let column5 = *column_values[5]; - let column6 = *column_values[6]; - let column7 = *column_values[7]; - let column8 = *column_values[8]; - let column9 = *column_values[9]; + let column0 = *column_values.pop_front().unwrap(); + let column1 = *column_values.pop_front().unwrap(); + let column2 = *column_values.pop_front().unwrap(); + let column3 = *column_values.pop_front().unwrap(); + let column4 = *column_values.pop_front().unwrap(); + let column5 = *column_values.pop_front().unwrap(); + let column6 = *column_values.pop_front().unwrap(); + let column7 = *column_values.pop_front().unwrap(); + let column8 = *column_values.pop_front().unwrap(); + let column9 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; - let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[0] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[1]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[1] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[2]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[2] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[3]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[3] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[4]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[4] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[5]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[5] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[6]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[6] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[7]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[7] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[8]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[8] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[9]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[9] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[10]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[10] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[11]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[11] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[12]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[12] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[13]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[13] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[14]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[14] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[15]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[15] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[16] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[17]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[17] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[18]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[18] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[19]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[19] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[20]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[20] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[21]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[21] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[22]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[22] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[23]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[23] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[24]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[24] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[25]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[25] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[26]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[26] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[27]) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients[27] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[28]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[28] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[29]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[29] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[30]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[30] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[31]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[31] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[32]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[32] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[33]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[33] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[34]) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients[34] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[35]) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients[35] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[36]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[36] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[37]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[37] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[38]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[38] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[39]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[39] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[40]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[40] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[41]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[41] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[42]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[42] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[43]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[43] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[44]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[44] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[45]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[45] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[46]) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients[46] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[47]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[47] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[48]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[48] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[49]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[49] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[50]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[50] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[51]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[51] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[52]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[52] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[53]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[53] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[54]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[54] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[55]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[55] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[56]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[56] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[57]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[57] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[58]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[58] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[59]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[59] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[60]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[60] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[61]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[61] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[62]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[62] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[63]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[63] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[64]) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients[64] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[65]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[65] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[66]) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients[66] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[67]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[67] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[68]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[68] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[69]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[69] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[70]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[70] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[71]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[71] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[72]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[72] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[73]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[73] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[74]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[74] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[75]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[75] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[76]) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients[76] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[77]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[77] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[78]) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients[78] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[79]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[79] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[80]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[80] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[81]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[81] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[82]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[82] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[83]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[83] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[84]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[84] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[85]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[85] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[86]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[86] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[87]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[87] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[88]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[88] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[89]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[89] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[90]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[90] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[91]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[91] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[92]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[92] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[93]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[93] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[94]) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients[94] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[95]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[95] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[96]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[96] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[97]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[97] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[98]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[98] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[99]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[99] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[100]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[100] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[101]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[101] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[102]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[102] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[103]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[103] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[104]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[104] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[105]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[105] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[106]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[106] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[107]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[107] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[108]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[108] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[109]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[109] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[110]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[110] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[111]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[111] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[112]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[112] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[113]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[113] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[114]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[114] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[115]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[115] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[116]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[116] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[117]) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients[117] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[118]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[118] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[119]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[119] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[120]) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients[120] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[121]) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients[121] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[122]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[122] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[123]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[123] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[124]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[124] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[125]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[125] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[126]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[126] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[127]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[127] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[128]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[128] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[129]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[129] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[130]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[130] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[131]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[131] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[132]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[132] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[133]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[133] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[134]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[134] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(135 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From 934596b9cfb83f5c76b9c02a80c87c05b167e6b7 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 08:56:04 +0100 Subject: [PATCH 19/29] dex pop_front optimization --- src/air/layouts/dex/autogenerated.cairo | 1620 +++++++++++------------ 1 file changed, 810 insertions(+), 810 deletions(-) diff --git a/src/air/layouts/dex/autogenerated.cairo b/src/air/layouts/dex/autogenerated.cairo index 0b60a74ef..f82dfcccf 100644 --- a/src/air/layouts/dex/autogenerated.cairo +++ b/src/air/layouts/dex/autogenerated.cairo @@ -7,8 +7,8 @@ use cairo_verifier::{ }; fn eval_composition_polynomial_inner( - mask_values: Span, - constraint_coefficients: Span, + mut mask_values: Span, + mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, global_values: GlobalValues @@ -64,206 +64,206 @@ fn eval_composition_polynomial_inner( let domain24 = point - pow11; // Fetch mask variables. - let column0_row0 = *mask_values[0]; - let column0_row1 = *mask_values[1]; - let column0_row2 = *mask_values[2]; - let column0_row3 = *mask_values[3]; - let column0_row4 = *mask_values[4]; - let column0_row5 = *mask_values[5]; - let column0_row6 = *mask_values[6]; - let column0_row7 = *mask_values[7]; - let column0_row8 = *mask_values[8]; - let column0_row9 = *mask_values[9]; - let column0_row10 = *mask_values[10]; - let column0_row11 = *mask_values[11]; - let column0_row12 = *mask_values[12]; - let column0_row13 = *mask_values[13]; - let column0_row14 = *mask_values[14]; - let column0_row15 = *mask_values[15]; - let column1_row0 = *mask_values[16]; - let column1_row1 = *mask_values[17]; - let column1_row255 = *mask_values[18]; - let column1_row256 = *mask_values[19]; - let column1_row511 = *mask_values[20]; - let column2_row0 = *mask_values[21]; - let column2_row1 = *mask_values[22]; - let column2_row255 = *mask_values[23]; - let column2_row256 = *mask_values[24]; - let column3_row0 = *mask_values[25]; - let column3_row1 = *mask_values[26]; - let column3_row192 = *mask_values[27]; - let column3_row193 = *mask_values[28]; - let column3_row196 = *mask_values[29]; - let column3_row197 = *mask_values[30]; - let column3_row251 = *mask_values[31]; - let column3_row252 = *mask_values[32]; - let column3_row256 = *mask_values[33]; - let column4_row0 = *mask_values[34]; - let column4_row1 = *mask_values[35]; - let column4_row255 = *mask_values[36]; - let column4_row256 = *mask_values[37]; - let column4_row511 = *mask_values[38]; - let column5_row0 = *mask_values[39]; - let column5_row1 = *mask_values[40]; - let column5_row255 = *mask_values[41]; - let column5_row256 = *mask_values[42]; - let column6_row0 = *mask_values[43]; - let column6_row1 = *mask_values[44]; - let column6_row192 = *mask_values[45]; - let column6_row193 = *mask_values[46]; - let column6_row196 = *mask_values[47]; - let column6_row197 = *mask_values[48]; - let column6_row251 = *mask_values[49]; - let column6_row252 = *mask_values[50]; - let column6_row256 = *mask_values[51]; - let column7_row0 = *mask_values[52]; - let column7_row1 = *mask_values[53]; - let column7_row255 = *mask_values[54]; - let column7_row256 = *mask_values[55]; - let column7_row511 = *mask_values[56]; - let column8_row0 = *mask_values[57]; - let column8_row1 = *mask_values[58]; - let column8_row255 = *mask_values[59]; - let column8_row256 = *mask_values[60]; - let column9_row0 = *mask_values[61]; - let column9_row1 = *mask_values[62]; - let column9_row192 = *mask_values[63]; - let column9_row193 = *mask_values[64]; - let column9_row196 = *mask_values[65]; - let column9_row197 = *mask_values[66]; - let column9_row251 = *mask_values[67]; - let column9_row252 = *mask_values[68]; - let column9_row256 = *mask_values[69]; - let column10_row0 = *mask_values[70]; - let column10_row1 = *mask_values[71]; - let column10_row255 = *mask_values[72]; - let column10_row256 = *mask_values[73]; - let column10_row511 = *mask_values[74]; - let column11_row0 = *mask_values[75]; - let column11_row1 = *mask_values[76]; - let column11_row255 = *mask_values[77]; - let column11_row256 = *mask_values[78]; - let column12_row0 = *mask_values[79]; - let column12_row1 = *mask_values[80]; - let column12_row192 = *mask_values[81]; - let column12_row193 = *mask_values[82]; - let column12_row196 = *mask_values[83]; - let column12_row197 = *mask_values[84]; - let column12_row251 = *mask_values[85]; - let column12_row252 = *mask_values[86]; - let column12_row256 = *mask_values[87]; - let column13_row0 = *mask_values[88]; - let column13_row255 = *mask_values[89]; - let column14_row0 = *mask_values[90]; - let column14_row255 = *mask_values[91]; - let column15_row0 = *mask_values[92]; - let column15_row255 = *mask_values[93]; - let column16_row0 = *mask_values[94]; - let column16_row255 = *mask_values[95]; - let column17_row0 = *mask_values[96]; - let column17_row1 = *mask_values[97]; - let column17_row2 = *mask_values[98]; - let column17_row3 = *mask_values[99]; - let column17_row4 = *mask_values[100]; - let column17_row5 = *mask_values[101]; - let column17_row6 = *mask_values[102]; - let column17_row7 = *mask_values[103]; - let column17_row8 = *mask_values[104]; - let column17_row9 = *mask_values[105]; - let column17_row12 = *mask_values[106]; - let column17_row13 = *mask_values[107]; - let column17_row16 = *mask_values[108]; - let column17_row22 = *mask_values[109]; - let column17_row23 = *mask_values[110]; - let column17_row38 = *mask_values[111]; - let column17_row39 = *mask_values[112]; - let column17_row70 = *mask_values[113]; - let column17_row71 = *mask_values[114]; - let column17_row102 = *mask_values[115]; - let column17_row103 = *mask_values[116]; - let column17_row134 = *mask_values[117]; - let column17_row135 = *mask_values[118]; - let column17_row167 = *mask_values[119]; - let column17_row199 = *mask_values[120]; - let column17_row230 = *mask_values[121]; - let column17_row263 = *mask_values[122]; - let column17_row295 = *mask_values[123]; - let column17_row327 = *mask_values[124]; - let column17_row391 = *mask_values[125]; - let column17_row423 = *mask_values[126]; - let column17_row455 = *mask_values[127]; - let column17_row4118 = *mask_values[128]; - let column17_row4119 = *mask_values[129]; - let column17_row8214 = *mask_values[130]; - let column18_row0 = *mask_values[131]; - let column18_row1 = *mask_values[132]; - let column18_row2 = *mask_values[133]; - let column18_row3 = *mask_values[134]; - let column19_row0 = *mask_values[135]; - let column19_row1 = *mask_values[136]; - let column19_row2 = *mask_values[137]; - let column19_row3 = *mask_values[138]; - let column19_row4 = *mask_values[139]; - let column19_row5 = *mask_values[140]; - let column19_row6 = *mask_values[141]; - let column19_row7 = *mask_values[142]; - let column19_row8 = *mask_values[143]; - let column19_row9 = *mask_values[144]; - let column19_row11 = *mask_values[145]; - let column19_row12 = *mask_values[146]; - let column19_row13 = *mask_values[147]; - let column19_row15 = *mask_values[148]; - let column19_row17 = *mask_values[149]; - let column19_row23 = *mask_values[150]; - let column19_row25 = *mask_values[151]; - let column19_row28 = *mask_values[152]; - let column19_row31 = *mask_values[153]; - let column19_row44 = *mask_values[154]; - let column19_row60 = *mask_values[155]; - let column19_row76 = *mask_values[156]; - let column19_row92 = *mask_values[157]; - let column19_row108 = *mask_values[158]; - let column19_row124 = *mask_values[159]; - let column19_row4103 = *mask_values[160]; - let column19_row4111 = *mask_values[161]; - let column20_row0 = *mask_values[162]; - let column20_row1 = *mask_values[163]; - let column20_row2 = *mask_values[164]; - let column20_row4 = *mask_values[165]; - let column20_row6 = *mask_values[166]; - let column20_row8 = *mask_values[167]; - let column20_row10 = *mask_values[168]; - let column20_row12 = *mask_values[169]; - let column20_row14 = *mask_values[170]; - let column20_row16 = *mask_values[171]; - let column20_row17 = *mask_values[172]; - let column20_row20 = *mask_values[173]; - let column20_row22 = *mask_values[174]; - let column20_row24 = *mask_values[175]; - let column20_row30 = *mask_values[176]; - let column20_row38 = *mask_values[177]; - let column20_row46 = *mask_values[178]; - let column20_row54 = *mask_values[179]; - let column20_row81 = *mask_values[180]; - let column20_row145 = *mask_values[181]; - let column20_row209 = *mask_values[182]; - let column20_row4080 = *mask_values[183]; - let column20_row4082 = *mask_values[184]; - let column20_row4088 = *mask_values[185]; - let column20_row4090 = *mask_values[186]; - let column20_row4092 = *mask_values[187]; - let column20_row8161 = *mask_values[188]; - let column20_row8166 = *mask_values[189]; - let column20_row8176 = *mask_values[190]; - let column20_row8178 = *mask_values[191]; - let column20_row8182 = *mask_values[192]; - let column20_row8184 = *mask_values[193]; - let column20_row8186 = *mask_values[194]; - let column20_row8190 = *mask_values[195]; - let column21_inter1_row0 = *mask_values[196]; - let column21_inter1_row1 = *mask_values[197]; - let column21_inter1_row2 = *mask_values[198]; - let column21_inter1_row5 = *mask_values[199]; + let column0_row0 = *mask_values.pop_front().unwrap(); + let column0_row1 = *mask_values.pop_front().unwrap(); + let column0_row2 = *mask_values.pop_front().unwrap(); + let column0_row3 = *mask_values.pop_front().unwrap(); + let column0_row4 = *mask_values.pop_front().unwrap(); + let column0_row5 = *mask_values.pop_front().unwrap(); + let column0_row6 = *mask_values.pop_front().unwrap(); + let column0_row7 = *mask_values.pop_front().unwrap(); + let column0_row8 = *mask_values.pop_front().unwrap(); + let column0_row9 = *mask_values.pop_front().unwrap(); + let column0_row10 = *mask_values.pop_front().unwrap(); + let column0_row11 = *mask_values.pop_front().unwrap(); + let column0_row12 = *mask_values.pop_front().unwrap(); + let column0_row13 = *mask_values.pop_front().unwrap(); + let column0_row14 = *mask_values.pop_front().unwrap(); + let column0_row15 = *mask_values.pop_front().unwrap(); + let column1_row0 = *mask_values.pop_front().unwrap(); + let column1_row1 = *mask_values.pop_front().unwrap(); + let column1_row255 = *mask_values.pop_front().unwrap(); + let column1_row256 = *mask_values.pop_front().unwrap(); + let column1_row511 = *mask_values.pop_front().unwrap(); + let column2_row0 = *mask_values.pop_front().unwrap(); + let column2_row1 = *mask_values.pop_front().unwrap(); + let column2_row255 = *mask_values.pop_front().unwrap(); + let column2_row256 = *mask_values.pop_front().unwrap(); + let column3_row0 = *mask_values.pop_front().unwrap(); + let column3_row1 = *mask_values.pop_front().unwrap(); + let column3_row192 = *mask_values.pop_front().unwrap(); + let column3_row193 = *mask_values.pop_front().unwrap(); + let column3_row196 = *mask_values.pop_front().unwrap(); + let column3_row197 = *mask_values.pop_front().unwrap(); + let column3_row251 = *mask_values.pop_front().unwrap(); + let column3_row252 = *mask_values.pop_front().unwrap(); + let column3_row256 = *mask_values.pop_front().unwrap(); + let column4_row0 = *mask_values.pop_front().unwrap(); + let column4_row1 = *mask_values.pop_front().unwrap(); + let column4_row255 = *mask_values.pop_front().unwrap(); + let column4_row256 = *mask_values.pop_front().unwrap(); + let column4_row511 = *mask_values.pop_front().unwrap(); + let column5_row0 = *mask_values.pop_front().unwrap(); + let column5_row1 = *mask_values.pop_front().unwrap(); + let column5_row255 = *mask_values.pop_front().unwrap(); + let column5_row256 = *mask_values.pop_front().unwrap(); + let column6_row0 = *mask_values.pop_front().unwrap(); + let column6_row1 = *mask_values.pop_front().unwrap(); + let column6_row192 = *mask_values.pop_front().unwrap(); + let column6_row193 = *mask_values.pop_front().unwrap(); + let column6_row196 = *mask_values.pop_front().unwrap(); + let column6_row197 = *mask_values.pop_front().unwrap(); + let column6_row251 = *mask_values.pop_front().unwrap(); + let column6_row252 = *mask_values.pop_front().unwrap(); + let column6_row256 = *mask_values.pop_front().unwrap(); + let column7_row0 = *mask_values.pop_front().unwrap(); + let column7_row1 = *mask_values.pop_front().unwrap(); + let column7_row255 = *mask_values.pop_front().unwrap(); + let column7_row256 = *mask_values.pop_front().unwrap(); + let column7_row511 = *mask_values.pop_front().unwrap(); + let column8_row0 = *mask_values.pop_front().unwrap(); + let column8_row1 = *mask_values.pop_front().unwrap(); + let column8_row255 = *mask_values.pop_front().unwrap(); + let column8_row256 = *mask_values.pop_front().unwrap(); + let column9_row0 = *mask_values.pop_front().unwrap(); + let column9_row1 = *mask_values.pop_front().unwrap(); + let column9_row192 = *mask_values.pop_front().unwrap(); + let column9_row193 = *mask_values.pop_front().unwrap(); + let column9_row196 = *mask_values.pop_front().unwrap(); + let column9_row197 = *mask_values.pop_front().unwrap(); + let column9_row251 = *mask_values.pop_front().unwrap(); + let column9_row252 = *mask_values.pop_front().unwrap(); + let column9_row256 = *mask_values.pop_front().unwrap(); + let column10_row0 = *mask_values.pop_front().unwrap(); + let column10_row1 = *mask_values.pop_front().unwrap(); + let column10_row255 = *mask_values.pop_front().unwrap(); + let column10_row256 = *mask_values.pop_front().unwrap(); + let column10_row511 = *mask_values.pop_front().unwrap(); + let column11_row0 = *mask_values.pop_front().unwrap(); + let column11_row1 = *mask_values.pop_front().unwrap(); + let column11_row255 = *mask_values.pop_front().unwrap(); + let column11_row256 = *mask_values.pop_front().unwrap(); + let column12_row0 = *mask_values.pop_front().unwrap(); + let column12_row1 = *mask_values.pop_front().unwrap(); + let column12_row192 = *mask_values.pop_front().unwrap(); + let column12_row193 = *mask_values.pop_front().unwrap(); + let column12_row196 = *mask_values.pop_front().unwrap(); + let column12_row197 = *mask_values.pop_front().unwrap(); + let column12_row251 = *mask_values.pop_front().unwrap(); + let column12_row252 = *mask_values.pop_front().unwrap(); + let column12_row256 = *mask_values.pop_front().unwrap(); + let column13_row0 = *mask_values.pop_front().unwrap(); + let column13_row255 = *mask_values.pop_front().unwrap(); + let column14_row0 = *mask_values.pop_front().unwrap(); + let column14_row255 = *mask_values.pop_front().unwrap(); + let column15_row0 = *mask_values.pop_front().unwrap(); + let column15_row255 = *mask_values.pop_front().unwrap(); + let column16_row0 = *mask_values.pop_front().unwrap(); + let column16_row255 = *mask_values.pop_front().unwrap(); + let column17_row0 = *mask_values.pop_front().unwrap(); + let column17_row1 = *mask_values.pop_front().unwrap(); + let column17_row2 = *mask_values.pop_front().unwrap(); + let column17_row3 = *mask_values.pop_front().unwrap(); + let column17_row4 = *mask_values.pop_front().unwrap(); + let column17_row5 = *mask_values.pop_front().unwrap(); + let column17_row6 = *mask_values.pop_front().unwrap(); + let column17_row7 = *mask_values.pop_front().unwrap(); + let column17_row8 = *mask_values.pop_front().unwrap(); + let column17_row9 = *mask_values.pop_front().unwrap(); + let column17_row12 = *mask_values.pop_front().unwrap(); + let column17_row13 = *mask_values.pop_front().unwrap(); + let column17_row16 = *mask_values.pop_front().unwrap(); + let column17_row22 = *mask_values.pop_front().unwrap(); + let column17_row23 = *mask_values.pop_front().unwrap(); + let column17_row38 = *mask_values.pop_front().unwrap(); + let column17_row39 = *mask_values.pop_front().unwrap(); + let column17_row70 = *mask_values.pop_front().unwrap(); + let column17_row71 = *mask_values.pop_front().unwrap(); + let column17_row102 = *mask_values.pop_front().unwrap(); + let column17_row103 = *mask_values.pop_front().unwrap(); + let column17_row134 = *mask_values.pop_front().unwrap(); + let column17_row135 = *mask_values.pop_front().unwrap(); + let column17_row167 = *mask_values.pop_front().unwrap(); + let column17_row199 = *mask_values.pop_front().unwrap(); + let column17_row230 = *mask_values.pop_front().unwrap(); + let column17_row263 = *mask_values.pop_front().unwrap(); + let column17_row295 = *mask_values.pop_front().unwrap(); + let column17_row327 = *mask_values.pop_front().unwrap(); + let column17_row391 = *mask_values.pop_front().unwrap(); + let column17_row423 = *mask_values.pop_front().unwrap(); + let column17_row455 = *mask_values.pop_front().unwrap(); + let column17_row4118 = *mask_values.pop_front().unwrap(); + let column17_row4119 = *mask_values.pop_front().unwrap(); + let column17_row8214 = *mask_values.pop_front().unwrap(); + let column18_row0 = *mask_values.pop_front().unwrap(); + let column18_row1 = *mask_values.pop_front().unwrap(); + let column18_row2 = *mask_values.pop_front().unwrap(); + let column18_row3 = *mask_values.pop_front().unwrap(); + let column19_row0 = *mask_values.pop_front().unwrap(); + let column19_row1 = *mask_values.pop_front().unwrap(); + let column19_row2 = *mask_values.pop_front().unwrap(); + let column19_row3 = *mask_values.pop_front().unwrap(); + let column19_row4 = *mask_values.pop_front().unwrap(); + let column19_row5 = *mask_values.pop_front().unwrap(); + let column19_row6 = *mask_values.pop_front().unwrap(); + let column19_row7 = *mask_values.pop_front().unwrap(); + let column19_row8 = *mask_values.pop_front().unwrap(); + let column19_row9 = *mask_values.pop_front().unwrap(); + let column19_row11 = *mask_values.pop_front().unwrap(); + let column19_row12 = *mask_values.pop_front().unwrap(); + let column19_row13 = *mask_values.pop_front().unwrap(); + let column19_row15 = *mask_values.pop_front().unwrap(); + let column19_row17 = *mask_values.pop_front().unwrap(); + let column19_row23 = *mask_values.pop_front().unwrap(); + let column19_row25 = *mask_values.pop_front().unwrap(); + let column19_row28 = *mask_values.pop_front().unwrap(); + let column19_row31 = *mask_values.pop_front().unwrap(); + let column19_row44 = *mask_values.pop_front().unwrap(); + let column19_row60 = *mask_values.pop_front().unwrap(); + let column19_row76 = *mask_values.pop_front().unwrap(); + let column19_row92 = *mask_values.pop_front().unwrap(); + let column19_row108 = *mask_values.pop_front().unwrap(); + let column19_row124 = *mask_values.pop_front().unwrap(); + let column19_row4103 = *mask_values.pop_front().unwrap(); + let column19_row4111 = *mask_values.pop_front().unwrap(); + let column20_row0 = *mask_values.pop_front().unwrap(); + let column20_row1 = *mask_values.pop_front().unwrap(); + let column20_row2 = *mask_values.pop_front().unwrap(); + let column20_row4 = *mask_values.pop_front().unwrap(); + let column20_row6 = *mask_values.pop_front().unwrap(); + let column20_row8 = *mask_values.pop_front().unwrap(); + let column20_row10 = *mask_values.pop_front().unwrap(); + let column20_row12 = *mask_values.pop_front().unwrap(); + let column20_row14 = *mask_values.pop_front().unwrap(); + let column20_row16 = *mask_values.pop_front().unwrap(); + let column20_row17 = *mask_values.pop_front().unwrap(); + let column20_row20 = *mask_values.pop_front().unwrap(); + let column20_row22 = *mask_values.pop_front().unwrap(); + let column20_row24 = *mask_values.pop_front().unwrap(); + let column20_row30 = *mask_values.pop_front().unwrap(); + let column20_row38 = *mask_values.pop_front().unwrap(); + let column20_row46 = *mask_values.pop_front().unwrap(); + let column20_row54 = *mask_values.pop_front().unwrap(); + let column20_row81 = *mask_values.pop_front().unwrap(); + let column20_row145 = *mask_values.pop_front().unwrap(); + let column20_row209 = *mask_values.pop_front().unwrap(); + let column20_row4080 = *mask_values.pop_front().unwrap(); + let column20_row4082 = *mask_values.pop_front().unwrap(); + let column20_row4088 = *mask_values.pop_front().unwrap(); + let column20_row4090 = *mask_values.pop_front().unwrap(); + let column20_row4092 = *mask_values.pop_front().unwrap(); + let column20_row8161 = *mask_values.pop_front().unwrap(); + let column20_row8166 = *mask_values.pop_front().unwrap(); + let column20_row8176 = *mask_values.pop_front().unwrap(); + let column20_row8178 = *mask_values.pop_front().unwrap(); + let column20_row8182 = *mask_values.pop_front().unwrap(); + let column20_row8184 = *mask_values.pop_front().unwrap(); + let column20_row8186 = *mask_values.pop_front().unwrap(); + let column20_row8190 = *mask_values.pop_front().unwrap(); + let column21_inter1_row0 = *mask_values.pop_front().unwrap(); + let column21_inter1_row1 = *mask_values.pop_front().unwrap(); + let column21_inter1_row2 = *mask_values.pop_front().unwrap(); + let column21_inter1_row5 = *mask_values.pop_front().unwrap(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -337,11 +337,11 @@ fn eval_composition_polynomial_inner( - cpu_decode_opcode_range_check_bit_0) * domain4 / domain0; - let total_sum = total_sum + *constraint_coefficients[0] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check/zero. let value = (column0_row0) / domain4; - let total_sum = total_sum + *constraint_coefficients[1] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/opcode_range_check_input. let value = (column17_row1 @@ -350,30 +350,30 @@ fn eval_composition_polynomial_inner( * global_values.offset_size + column19_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[2] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - cpu_decode_flag_op1_base_op0_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[3] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_res_op1_bit. let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[4] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - cpu_decode_flag_pc_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[5] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/decode/fp_update_regular_bit. let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - cpu_decode_fp_update_regular_0) / domain5; - let total_sum = total_sum + *constraint_coefficients[6] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem_dst_addr. let value = (column17_row8 @@ -382,7 +382,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_0) * column19_row1 + column19_row0)) / domain5; - let total_sum = total_sum + *constraint_coefficients[7] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem0_addr. let value = (column17_row4 @@ -391,7 +391,7 @@ fn eval_composition_polynomial_inner( + (1 - cpu_decode_opcode_range_check_bit_1) * column19_row1 + column19_row8)) / domain5; - let total_sum = total_sum + *constraint_coefficients[8] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/mem1_addr. let value = (column17_row12 @@ -402,11 +402,11 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_op1_base_op0_0 * column17_row5 + column19_row4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[9] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/ops_mul. let value = (column19_row5 - column17_row5 * column17_row13) / domain5; - let total_sum = total_sum + *constraint_coefficients[10] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/operands/res. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column19_row13 @@ -414,17 +414,17 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_6 * column19_row5 + cpu_decode_flag_res_op1_0 * column17_row13)) / domain5; - let total_sum = total_sum + *constraint_coefficients[11] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp0. let value = (column19_row3 - cpu_decode_opcode_range_check_bit_9 * column17_row9) * domain19 / domain5; - let total_sum = total_sum + *constraint_coefficients[12] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/tmp1. let value = (column19_row11 - column19_row3 * column19_row13) * domain19 / domain5; - let total_sum = total_sum + *constraint_coefficients[13] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column17_row16 @@ -434,14 +434,14 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_8 * (column17_row0 + column19_row13))) * domain19 / domain5; - let total_sum = total_sum + *constraint_coefficients[14] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. let value = ((column19_row11 - cpu_decode_opcode_range_check_bit_9) * (column17_row16 - npc_reg_0)) * domain19 / domain5; - let total_sum = total_sum + *constraint_coefficients[15] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_ap/ap_update. let value = (column19_row17 @@ -451,7 +451,7 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * 2)) * domain19 / domain5; - let total_sum = total_sum + *constraint_coefficients[16] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/update_registers/update_fp/fp_update. let value = (column19_row25 @@ -460,29 +460,29 @@ fn eval_composition_polynomial_inner( + cpu_decode_opcode_range_check_bit_12 * (column19_row1 + 2))) * domain19 / domain5; - let total_sum = total_sum + *constraint_coefficients[17] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_fp. let value = (cpu_decode_opcode_range_check_bit_12 * (column17_row9 - column19_row9)) / domain5; - let total_sum = total_sum + *constraint_coefficients[18] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/push_pc. let value = (cpu_decode_opcode_range_check_bit_12 * (column17_row5 - (column17_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[19] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off0. let value = (cpu_decode_opcode_range_check_bit_12 * (column19_row0 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[20] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/off1. let value = (cpu_decode_opcode_range_check_bit_12 * (column19_row8 - (global_values.half_offset_size + 1))) / domain5; - let total_sum = total_sum + *constraint_coefficients[21] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/call/flags. let value = (cpu_decode_opcode_range_check_bit_12 @@ -492,19 +492,19 @@ fn eval_composition_polynomial_inner( + 1 - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) / domain5; - let total_sum = total_sum + *constraint_coefficients[22] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off0. let value = (cpu_decode_opcode_range_check_bit_13 * (column19_row0 + 2 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[23] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/off2. let value = (cpu_decode_opcode_range_check_bit_13 * (column19_row4 + 1 - global_values.half_offset_size)) / domain5; - let total_sum = total_sum + *constraint_coefficients[24] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/ret/flags. let value = (cpu_decode_opcode_range_check_bit_13 @@ -514,35 +514,35 @@ fn eval_composition_polynomial_inner( + cpu_decode_flag_res_op1_0 - 4)) / domain5; - let total_sum = total_sum + *constraint_coefficients[25] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. let value = (cpu_decode_opcode_range_check_bit_14 * (column17_row9 - column19_row13)) / domain5; - let total_sum = total_sum + *constraint_coefficients[26] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_ap. let value = (column19_row1 - global_values.initial_ap) / domain20; - let total_sum = total_sum + *constraint_coefficients[27] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_fp. let value = (column19_row9 - global_values.initial_ap) / domain20; - let total_sum = total_sum + *constraint_coefficients[28] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: initial_pc. let value = (column17_row0 - global_values.initial_pc) / domain20; - let total_sum = total_sum + *constraint_coefficients[29] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_ap. let value = (column19_row1 - global_values.final_ap) / domain19; - let total_sum = total_sum + *constraint_coefficients[30] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_fp. let value = (column19_row9 - global_values.initial_ap) / domain19; - let total_sum = total_sum + *constraint_coefficients[31] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: final_pc. let value = (column17_row0 - global_values.final_pc) / domain19; - let total_sum = total_sum + *constraint_coefficients[32] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/init0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -553,7 +553,7 @@ fn eval_composition_polynomial_inner( + global_values.memory_multi_column_perm_hash_interaction_elm0 * column17_row1 - global_values.memory_multi_column_perm_perm_interaction_elm) / domain20; - let total_sum = total_sum + *constraint_coefficients[33] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/step0. let value = ((global_values.memory_multi_column_perm_perm_interaction_elm @@ -566,37 +566,37 @@ fn eval_composition_polynomial_inner( * column21_inter1_row0) * domain21 / domain1; - let total_sum = total_sum + *constraint_coefficients[34] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/multi_column_perm/perm/last. let value = (column21_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod) / domain21; - let total_sum = total_sum + *constraint_coefficients[35] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/diff_is_bit. let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * domain21 / domain1; - let total_sum = total_sum + *constraint_coefficients[36] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/is_func. let value = ((memory_address_diff_0 - 1) * (column18_row1 - column18_row3)) * domain21 / domain1; - let total_sum = total_sum + *constraint_coefficients[37] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: memory/initial_addr. let value = (column18_row0 - 1) / domain20; - let total_sum = total_sum + *constraint_coefficients[38] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_addr_zero. let value = (column17_row2) / domain3; - let total_sum = total_sum + *constraint_coefficients[39] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: public_memory_value_zero. let value = (column17_row3) / domain3; - let total_sum = total_sum + *constraint_coefficients[40] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/init0. let value = ((global_values.range_check16_perm_interaction_elm - column19_row2) @@ -604,7 +604,7 @@ fn eval_composition_polynomial_inner( + column19_row0 - global_values.range_check16_perm_interaction_elm) / domain20; - let total_sum = total_sum + *constraint_coefficients[41] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/step0. let value = ((global_values.range_check16_perm_interaction_elm - column19_row6) @@ -612,74 +612,74 @@ fn eval_composition_polynomial_inner( - (global_values.range_check16_perm_interaction_elm - column19_row4) * column21_inter1_row1) * domain22 / domain2; - let total_sum = total_sum + *constraint_coefficients[42] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/perm/last. let value = (column21_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / domain22; - let total_sum = total_sum + *constraint_coefficients[43] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/diff_is_bit. let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * domain22 / domain2; - let total_sum = total_sum + *constraint_coefficients[44] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/minimum. let value = (column19_row2 - global_values.range_check_min) / domain20; - let total_sum = total_sum + *constraint_coefficients[45] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check16/maximum. let value = (column19_row2 - global_values.range_check_max) / domain22; - let total_sum = total_sum + *constraint_coefficients[46] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column14_row255 * (column3_row0 - (column3_row1 + column3_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients[47] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column14_row255 * (column3_row1 - 3138550867693340381917894711603833208051177722232017256448 * column3_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients[48] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column14_row255 - column13_row255 * (column3_row192 - (column3_row193 + column3_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients[49] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column13_row255 * (column3_row193 - 8 * column3_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients[50] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column13_row255 - (column3_row251 - (column3_row252 + column3_row252)) * (column3_row196 - (column3_row197 + column3_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients[51] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column3_row251 - (column3_row252 + column3_row252)) * (column3_row197 - 18014398509481984 * column3_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients[52] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[53] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. let value = (column3_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[54] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/zeros_tail. let value = (column3_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[55] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. let value = (pedersen_hash0_ec_subset_sum_bit_0 @@ -687,7 +687,7 @@ fn eval_composition_polynomial_inner( - column13_row0 * (column1_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[56] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. let value = (column13_row0 * column13_row0 @@ -695,90 +695,90 @@ fn eval_composition_polynomial_inner( * (column1_row0 + global_values.pedersen_points_x + column1_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[57] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column2_row0 + column2_row1) - column13_row0 * (column1_row0 - column1_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[58] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column1_row1 - column1_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[59] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column2_row1 - column2_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[60] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/x. let value = (column1_row256 - column1_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[61] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/copy_point/y. let value = (column2_row256 - column2_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[62] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/x. let value = (column1_row0 - global_values.pedersen_shift_point.x) / domain12; - let total_sum = total_sum + *constraint_coefficients[63] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash0/init/y. let value = (column2_row0 - global_values.pedersen_shift_point.y) / domain12; - let total_sum = total_sum + *constraint_coefficients[64] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column16_row255 * (column6_row0 - (column6_row1 + column6_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients[65] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column16_row255 * (column6_row1 - 3138550867693340381917894711603833208051177722232017256448 * column6_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients[66] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column16_row255 - column15_row255 * (column6_row192 - (column6_row193 + column6_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients[67] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column15_row255 * (column6_row193 - 8 * column6_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients[68] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column15_row255 - (column6_row251 - (column6_row252 + column6_row252)) * (column6_row196 - (column6_row197 + column6_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients[69] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column6_row251 - (column6_row252 + column6_row252)) * (column6_row197 - 18014398509481984 * column6_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients[70] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/booleanity_test. let value = (pedersen_hash1_ec_subset_sum_bit_0 * (pedersen_hash1_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[71] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/bit_extraction_end. let value = (column6_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[72] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/zeros_tail. let value = (column6_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[73] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/add_points/slope. let value = (pedersen_hash1_ec_subset_sum_bit_0 @@ -786,7 +786,7 @@ fn eval_composition_polynomial_inner( - column14_row0 * (column4_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[74] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/add_points/x. let value = (column14_row0 * column14_row0 @@ -794,90 +794,90 @@ fn eval_composition_polynomial_inner( * (column4_row0 + global_values.pedersen_points_x + column4_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[75] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/add_points/y. let value = (pedersen_hash1_ec_subset_sum_bit_0 * (column5_row0 + column5_row1) - column14_row0 * (column4_row0 - column4_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[76] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/copy_point/x. let value = (pedersen_hash1_ec_subset_sum_bit_neg_0 * (column4_row1 - column4_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[77] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/ec_subset_sum/copy_point/y. let value = (pedersen_hash1_ec_subset_sum_bit_neg_0 * (column5_row1 - column5_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[78] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/copy_point/x. let value = (column4_row256 - column4_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[79] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/copy_point/y. let value = (column5_row256 - column5_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[80] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/init/x. let value = (column4_row0 - global_values.pedersen_shift_point.x) / domain12; - let total_sum = total_sum + *constraint_coefficients[81] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash1/init/y. let value = (column5_row0 - global_values.pedersen_shift_point.y) / domain12; - let total_sum = total_sum + *constraint_coefficients[82] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column20_row145 * (column9_row0 - (column9_row1 + column9_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients[83] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column20_row145 * (column9_row1 - 3138550867693340381917894711603833208051177722232017256448 * column9_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients[84] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column20_row145 - column20_row17 * (column9_row192 - (column9_row193 + column9_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients[85] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column20_row17 * (column9_row193 - 8 * column9_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients[86] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column20_row17 - (column9_row251 - (column9_row252 + column9_row252)) * (column9_row196 - (column9_row197 + column9_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients[87] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column9_row251 - (column9_row252 + column9_row252)) * (column9_row197 - 18014398509481984 * column9_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients[88] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/booleanity_test. let value = (pedersen_hash2_ec_subset_sum_bit_0 * (pedersen_hash2_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[89] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/bit_extraction_end. let value = (column9_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[90] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/zeros_tail. let value = (column9_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[91] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/add_points/slope. let value = (pedersen_hash2_ec_subset_sum_bit_0 @@ -885,7 +885,7 @@ fn eval_composition_polynomial_inner( - column15_row0 * (column7_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[92] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/add_points/x. let value = (column15_row0 * column15_row0 @@ -893,90 +893,90 @@ fn eval_composition_polynomial_inner( * (column7_row0 + global_values.pedersen_points_x + column7_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[93] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/add_points/y. let value = (pedersen_hash2_ec_subset_sum_bit_0 * (column8_row0 + column8_row1) - column15_row0 * (column7_row0 - column7_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[94] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/copy_point/x. let value = (pedersen_hash2_ec_subset_sum_bit_neg_0 * (column7_row1 - column7_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[95] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/ec_subset_sum/copy_point/y. let value = (pedersen_hash2_ec_subset_sum_bit_neg_0 * (column8_row1 - column8_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[96] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/copy_point/x. let value = (column7_row256 - column7_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[97] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/copy_point/y. let value = (column8_row256 - column8_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[98] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/init/x. let value = (column7_row0 - global_values.pedersen_shift_point.x) / domain12; - let total_sum = total_sum + *constraint_coefficients[99] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash2/init/y. let value = (column8_row0 - global_values.pedersen_shift_point.y) / domain12; - let total_sum = total_sum + *constraint_coefficients[100] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/last_one_is_zero. let value = (column20_row209 * (column12_row0 - (column12_row1 + column12_row1))) / domain8; - let total_sum = total_sum + *constraint_coefficients[101] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/zeroes_between_ones0. let value = (column20_row209 * (column12_row1 - 3138550867693340381917894711603833208051177722232017256448 * column12_row192)) / domain8; - let total_sum = total_sum + *constraint_coefficients[102] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/cumulative_bit192. let value = (column20_row209 - column20_row81 * (column12_row192 - (column12_row193 + column12_row193))) / domain8; - let total_sum = total_sum + *constraint_coefficients[103] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/zeroes_between_ones192. let value = (column20_row81 * (column12_row193 - 8 * column12_row196)) / domain8; - let total_sum = total_sum + *constraint_coefficients[104] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/cumulative_bit196. let value = (column20_row81 - (column12_row251 - (column12_row252 + column12_row252)) * (column12_row196 - (column12_row197 + column12_row197))) / domain8; - let total_sum = total_sum + *constraint_coefficients[105] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_unpacking/zeroes_between_ones196. let value = ((column12_row251 - (column12_row252 + column12_row252)) * (column12_row197 - 18014398509481984 * column12_row251)) / domain8; - let total_sum = total_sum + *constraint_coefficients[106] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/booleanity_test. let value = (pedersen_hash3_ec_subset_sum_bit_0 * (pedersen_hash3_ec_subset_sum_bit_0 - 1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[107] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/bit_extraction_end. let value = (column12_row0) / domain10; - let total_sum = total_sum + *constraint_coefficients[108] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/zeros_tail. let value = (column12_row0) / domain9; - let total_sum = total_sum + *constraint_coefficients[109] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/add_points/slope. let value = (pedersen_hash3_ec_subset_sum_bit_0 @@ -984,7 +984,7 @@ fn eval_composition_polynomial_inner( - column16_row0 * (column10_row0 - global_values.pedersen_points_x)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[110] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/add_points/x. let value = (column16_row0 * column16_row0 @@ -992,118 +992,118 @@ fn eval_composition_polynomial_inner( * (column10_row0 + global_values.pedersen_points_x + column10_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[111] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/add_points/y. let value = (pedersen_hash3_ec_subset_sum_bit_0 * (column11_row0 + column11_row1) - column16_row0 * (column10_row0 - column10_row1)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[112] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/copy_point/x. let value = (pedersen_hash3_ec_subset_sum_bit_neg_0 * (column10_row1 - column10_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[113] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/ec_subset_sum/copy_point/y. let value = (pedersen_hash3_ec_subset_sum_bit_neg_0 * (column11_row1 - column11_row0)) * domain9 / domain0; - let total_sum = total_sum + *constraint_coefficients[114] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/copy_point/x. let value = (column10_row256 - column10_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[115] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/copy_point/y. let value = (column11_row256 - column11_row255) * domain11 / domain8; - let total_sum = total_sum + *constraint_coefficients[116] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/init/x. let value = (column10_row0 - global_values.pedersen_shift_point.x) / domain12; - let total_sum = total_sum + *constraint_coefficients[117] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/hash3/init/y. let value = (column11_row0 - global_values.pedersen_shift_point.y) / domain12; - let total_sum = total_sum + *constraint_coefficients[118] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value0. let value = (column17_row7 - column3_row0) / domain12; - let total_sum = total_sum + *constraint_coefficients[119] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value1. let value = (column17_row135 - column6_row0) / domain12; - let total_sum = total_sum + *constraint_coefficients[120] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value2. let value = (column17_row263 - column9_row0) / domain12; - let total_sum = total_sum + *constraint_coefficients[121] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_value3. let value = (column17_row391 - column12_row0) / domain12; - let total_sum = total_sum + *constraint_coefficients[122] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input0_addr. let value = (column17_row134 - (column17_row38 + 1)) * domain23 / domain7; - let total_sum = total_sum + *constraint_coefficients[123] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/init_addr. let value = (column17_row6 - global_values.initial_pedersen_addr) / domain20; - let total_sum = total_sum + *constraint_coefficients[124] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value0. let value = (column17_row71 - column3_row256) / domain12; - let total_sum = total_sum + *constraint_coefficients[125] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value1. let value = (column17_row199 - column6_row256) / domain12; - let total_sum = total_sum + *constraint_coefficients[126] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value2. let value = (column17_row327 - column9_row256) / domain12; - let total_sum = total_sum + *constraint_coefficients[127] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_value3. let value = (column17_row455 - column12_row256) / domain12; - let total_sum = total_sum + *constraint_coefficients[128] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/input1_addr. let value = (column17_row70 - (column17_row6 + 1)) / domain7; - let total_sum = total_sum + *constraint_coefficients[129] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value0. let value = (column17_row39 - column1_row511) / domain12; - let total_sum = total_sum + *constraint_coefficients[130] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value1. let value = (column17_row167 - column4_row511) / domain12; - let total_sum = total_sum + *constraint_coefficients[131] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value2. let value = (column17_row295 - column7_row511) / domain12; - let total_sum = total_sum + *constraint_coefficients[132] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_value3. let value = (column17_row423 - column10_row511) / domain12; - let total_sum = total_sum + *constraint_coefficients[133] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: pedersen/output_addr. let value = (column17_row38 - (column17_row70 + 1)) / domain7; - let total_sum = total_sum + *constraint_coefficients[134] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/value. let value = (range_check_builtin_value7_0 - column17_row103) / domain7; - let total_sum = total_sum + *constraint_coefficients[135] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/addr_step. let value = (column17_row230 - (column17_row102 + 1)) * domain23 / domain7; - let total_sum = total_sum + *constraint_coefficients[136] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: range_check_builtin/init_addr. let value = (column17_row102 - global_values.initial_range_check_addr) / domain20; - let total_sum = total_sum + *constraint_coefficients[137] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/slope. let value = (ecdsa_signature0_doubling_key_x_squared @@ -1113,13 +1113,13 @@ fn eval_composition_polynomial_inner( - (column19_row15 + column19_row15) * column20_row12) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[138] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/x. let value = (column20_row12 * column20_row12 - (column19_row7 + column19_row7 + column19_row23)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[139] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/doubling_key/y. let value = (column19_row15 @@ -1127,22 +1127,22 @@ fn eval_composition_polynomial_inner( - column20_row12 * (column19_row7 - column19_row23)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[140] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/booleanity_test. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (ecdsa_signature0_exponentiate_generator_bit_0 - 1)) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[141] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/bit_extraction_end. let value = (column20_row14) / domain17; - let total_sum = total_sum + *constraint_coefficients[142] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/zeros_tail. let value = (column20_row14) / domain16; - let total_sum = total_sum + *constraint_coefficients[143] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/slope. let value = (ecdsa_signature0_exponentiate_generator_bit_0 @@ -1150,7 +1150,7 @@ fn eval_composition_polynomial_inner( - column20_row30 * (column20_row6 - global_values.ecdsa_generator_points_x)) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[144] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x. let value = (column20_row30 * column20_row30 @@ -1158,56 +1158,56 @@ fn eval_composition_polynomial_inner( * (column20_row6 + global_values.ecdsa_generator_points_x + column20_row38)) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[145] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/y. let value = (ecdsa_signature0_exponentiate_generator_bit_0 * (column20_row22 + column20_row54) - column20_row30 * (column20_row6 - column20_row38)) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[146] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/add_points/x_diff_inv. let value = (column20_row1 * (column20_row6 - global_values.ecdsa_generator_points_x) - 1) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[147] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/x. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column20_row38 - column20_row6)) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[148] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_generator/copy_point/y. let value = (ecdsa_signature0_exponentiate_generator_bit_neg_0 * (column20_row54 - column20_row22)) * domain16 / domain6; - let total_sum = total_sum + *constraint_coefficients[149] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/booleanity_test. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (ecdsa_signature0_exponentiate_key_bit_0 - 1)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[150] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/bit_extraction_end. let value = (column20_row4) / domain14; - let total_sum = total_sum + *constraint_coefficients[151] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/zeros_tail. let value = (column20_row4) / domain13; - let total_sum = total_sum + *constraint_coefficients[152] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/slope. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column20_row8 - column19_row15) - column20_row2 * (column20_row0 - column19_row7)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[153] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x. let value = (column20_row2 * column20_row2 @@ -1215,101 +1215,101 @@ fn eval_composition_polynomial_inner( * (column20_row0 + column19_row7 + column20_row16)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[154] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/y. let value = (ecdsa_signature0_exponentiate_key_bit_0 * (column20_row8 + column20_row24) - column20_row2 * (column20_row0 - column20_row16)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[155] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/add_points/x_diff_inv. let value = (column20_row10 * (column20_row0 - column19_row7) - 1) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[156] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/x. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column20_row16 - column20_row0)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[157] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/exponentiate_key/copy_point/y. let value = (ecdsa_signature0_exponentiate_key_bit_neg_0 * (column20_row24 - column20_row8)) * domain13 / domain5; - let total_sum = total_sum + *constraint_coefficients[158] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/x. let value = (column20_row6 - global_values.ecdsa_sig_config.shift_point.x) / domain18; - let total_sum = total_sum + *constraint_coefficients[159] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_gen/y. let value = (column20_row22 + global_values.ecdsa_sig_config.shift_point.y) / domain18; - let total_sum = total_sum + *constraint_coefficients[160] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/x. let value = (column20_row0 - global_values.ecdsa_sig_config.shift_point.x) / domain15; - let total_sum = total_sum + *constraint_coefficients[161] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/init_key/y. let value = (column20_row8 - global_values.ecdsa_sig_config.shift_point.y) / domain15; - let total_sum = total_sum + *constraint_coefficients[162] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/slope. let value = (column20_row8182 - (column20_row4088 + column20_row8190 * (column20_row8166 - column20_row4080))) / domain18; - let total_sum = total_sum + *constraint_coefficients[163] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x. let value = (column20_row8190 * column20_row8190 - (column20_row8166 + column20_row4080 + column19_row4103)) / domain18; - let total_sum = total_sum + *constraint_coefficients[164] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/y. let value = (column20_row8182 + column19_row4111 - column20_row8190 * (column20_row8166 - column19_row4103)) / domain18; - let total_sum = total_sum + *constraint_coefficients[165] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/add_results/x_diff_inv. let value = (column20_row8161 * (column20_row8166 - column20_row4080) - 1) / domain18; - let total_sum = total_sum + *constraint_coefficients[166] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/slope. let value = (column20_row8184 + global_values.ecdsa_sig_config.shift_point.y - column20_row4082 * (column20_row8176 - global_values.ecdsa_sig_config.shift_point.x)) / domain18; - let total_sum = total_sum + *constraint_coefficients[167] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x. let value = (column20_row4082 * column20_row4082 - (column20_row8176 + global_values.ecdsa_sig_config.shift_point.x + column20_row4)) / domain18; - let total_sum = total_sum + *constraint_coefficients[168] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/extract_r/x_diff_inv. let value = (column20_row8178 * (column20_row8176 - global_values.ecdsa_sig_config.shift_point.x) - 1) / domain18; - let total_sum = total_sum + *constraint_coefficients[169] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/z_nonzero. let value = (column20_row14 * column20_row4090 - 1) / domain18; - let total_sum = total_sum + *constraint_coefficients[170] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/r_and_w_nonzero. let value = (column20_row4 * column20_row4092 - 1) / domain15; - let total_sum = total_sum + *constraint_coefficients[171] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/x_squared. let value = (column20_row8186 - column19_row7 * column19_row7) / domain18; - let total_sum = total_sum + *constraint_coefficients[172] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/signature0/q_on_curve/on_curve. let value = (column19_row15 * column19_row15 @@ -1317,35 +1317,35 @@ fn eval_composition_polynomial_inner( + global_values.ecdsa_sig_config.alpha * column19_row7 + global_values.ecdsa_sig_config.beta)) / domain18; - let total_sum = total_sum + *constraint_coefficients[173] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/init_addr. let value = (column17_row22 - global_values.initial_ecdsa_addr) / domain20; - let total_sum = total_sum + *constraint_coefficients[174] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_addr. let value = (column17_row4118 - (column17_row22 + 1)) / domain18; - let total_sum = total_sum + *constraint_coefficients[175] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_addr. let value = (column17_row8214 - (column17_row4118 + 1)) * domain24 / domain18; - let total_sum = total_sum + *constraint_coefficients[176] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/message_value0. let value = (column17_row4119 - column20_row14) / domain18; - let total_sum = total_sum + *constraint_coefficients[177] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Constraint: ecdsa/pubkey_value0. let value = (column17_row23 - column19_row7) / domain18; - let total_sum = total_sum + *constraint_coefficients[178] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; total_sum } fn eval_oods_polynomial_inner( - column_values: Span, - oods_values: Span, - constraint_coefficients: Span, + mut column_values: Span, + mut oods_values: Span, + mut constraint_coefficients: Span, point: felt252, oods_point: felt252, trace_generator: felt252, @@ -1434,642 +1434,642 @@ fn eval_oods_polynomial_inner( let pow80 = pow53 * pow79; // pow(trace_generator, 455). // Fetch columns. - let column0 = *column_values[0]; - let column1 = *column_values[1]; - let column2 = *column_values[2]; - let column3 = *column_values[3]; - let column4 = *column_values[4]; - let column5 = *column_values[5]; - let column6 = *column_values[6]; - let column7 = *column_values[7]; - let column8 = *column_values[8]; - let column9 = *column_values[9]; - let column10 = *column_values[10]; - let column11 = *column_values[11]; - let column12 = *column_values[12]; - let column13 = *column_values[13]; - let column14 = *column_values[14]; - let column15 = *column_values[15]; - let column16 = *column_values[16]; - let column17 = *column_values[17]; - let column18 = *column_values[18]; - let column19 = *column_values[19]; - let column20 = *column_values[20]; - let column21 = *column_values[21]; + let column0 = *column_values.pop_front().unwrap(); + let column1 = *column_values.pop_front().unwrap(); + let column2 = *column_values.pop_front().unwrap(); + let column3 = *column_values.pop_front().unwrap(); + let column4 = *column_values.pop_front().unwrap(); + let column5 = *column_values.pop_front().unwrap(); + let column6 = *column_values.pop_front().unwrap(); + let column7 = *column_values.pop_front().unwrap(); + let column8 = *column_values.pop_front().unwrap(); + let column9 = *column_values.pop_front().unwrap(); + let column10 = *column_values.pop_front().unwrap(); + let column11 = *column_values.pop_front().unwrap(); + let column12 = *column_values.pop_front().unwrap(); + let column13 = *column_values.pop_front().unwrap(); + let column14 = *column_values.pop_front().unwrap(); + let column15 = *column_values.pop_front().unwrap(); + let column16 = *column_values.pop_front().unwrap(); + let column17 = *column_values.pop_front().unwrap(); + let column18 = *column_values.pop_front().unwrap(); + let column19 = *column_values.pop_front().unwrap(); + let column20 = *column_values.pop_front().unwrap(); + let column21 = *column_values.pop_front().unwrap(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; - let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[0] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[1]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[1] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[2]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[2] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[3]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[3] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[4]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[4] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[5]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[5] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[6]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[6] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[7]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[7] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[8]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[8] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[9]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[9] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[10]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[10] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[11]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[11] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[12]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[12] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[13]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[13] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[14]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[14] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column0 - *oods_values[15]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[15] * value; + let value = (column0 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[16] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[17]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[17] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[18]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[18] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[19]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[19] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column1 - *oods_values[20]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[20] * value; + let value = (column1 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[21]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[21] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[22]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[22] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[23]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[23] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column2 - *oods_values[24]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[24] * value; + let value = (column2 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[25]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[25] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[26]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[26] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[27]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[27] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[28]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[28] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[29]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[29] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[30]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[30] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[31]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[31] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[32]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[32] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column3 - *oods_values[33]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[33] * value; + let value = (column3 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[34]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[34] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[35]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[35] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[36]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[36] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[37]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[37] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column4 - *oods_values[38]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[38] * value; + let value = (column4 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[39]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[39] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[40]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[40] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[41]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[41] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column5 - *oods_values[42]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[42] * value; + let value = (column5 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[43]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[43] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[44]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[44] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[45]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[45] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[46]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[46] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[47]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[47] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[48]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[48] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[49]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[49] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[50]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[50] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column6 - *oods_values[51]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[51] * value; + let value = (column6 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[52]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[52] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[53]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[53] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[54]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[54] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[55]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[55] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column7 - *oods_values[56]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[56] * value; + let value = (column7 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[57]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[57] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[58]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[58] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[59]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[59] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column8 - *oods_values[60]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[60] * value; + let value = (column8 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[61]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[61] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[62]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[62] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[63]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[63] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[64]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[64] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[65]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[65] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[66]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[66] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[67]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[67] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[68]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[68] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column9 - *oods_values[69]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[69] * value; + let value = (column9 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[70]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[70] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[71]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[71] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[72]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[72] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[73]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[73] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column10 - *oods_values[74]) / (point - pow74 * oods_point); - let total_sum = total_sum + *constraint_coefficients[74] * value; + let value = (column10 - *oods_values.pop_front().unwrap()) / (point - pow74 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[75]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[75] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[76]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[76] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[77]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[77] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column11 - *oods_values[78]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[78] * value; + let value = (column11 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[79]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[79] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[80]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[80] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[81]) / (point - pow53 * oods_point); - let total_sum = total_sum + *constraint_coefficients[81] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow53 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[82]) / (point - pow54 * oods_point); - let total_sum = total_sum + *constraint_coefficients[82] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow54 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[83]) / (point - pow55 * oods_point); - let total_sum = total_sum + *constraint_coefficients[83] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow55 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[84]) / (point - pow56 * oods_point); - let total_sum = total_sum + *constraint_coefficients[84] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow56 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[85]) / (point - pow57 * oods_point); - let total_sum = total_sum + *constraint_coefficients[85] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow57 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[86]) / (point - pow60 * oods_point); - let total_sum = total_sum + *constraint_coefficients[86] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow60 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column12 - *oods_values[87]) / (point - pow73 * oods_point); - let total_sum = total_sum + *constraint_coefficients[87] * value; + let value = (column12 - *oods_values.pop_front().unwrap()) / (point - pow73 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[88]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[88] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column13 - *oods_values[89]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[89] * value; + let value = (column13 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[90]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[90] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column14 - *oods_values[91]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[91] * value; + let value = (column14 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column15 - *oods_values[92]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[92] * value; + let value = (column15 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column15 - *oods_values[93]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[93] * value; + let value = (column15 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column16 - *oods_values[94]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[94] * value; + let value = (column16 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column16 - *oods_values[95]) / (point - pow72 * oods_point); - let total_sum = total_sum + *constraint_coefficients[95] * value; + let value = (column16 - *oods_values.pop_front().unwrap()) / (point - pow72 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[96]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[96] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[97]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[97] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[98]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[98] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[99]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[99] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[100]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[100] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[101]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[101] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[102]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[102] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[103]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[103] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[104]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[104] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[105]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[105] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[106]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[106] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[107]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[107] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[108]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[108] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[109]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[109] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[110]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[110] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[111]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[111] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[112]) / (point - pow35 * oods_point); - let total_sum = total_sum + *constraint_coefficients[112] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow35 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[113]) / (point - pow40 * oods_point); - let total_sum = total_sum + *constraint_coefficients[113] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow40 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[114]) / (point - pow41 * oods_point); - let total_sum = total_sum + *constraint_coefficients[114] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow41 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[115]) / (point - pow45 * oods_point); - let total_sum = total_sum + *constraint_coefficients[115] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow45 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[116]) / (point - pow46 * oods_point); - let total_sum = total_sum + *constraint_coefficients[116] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow46 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[117]) / (point - pow49 * oods_point); - let total_sum = total_sum + *constraint_coefficients[117] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow49 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[118]) / (point - pow50 * oods_point); - let total_sum = total_sum + *constraint_coefficients[118] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow50 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[119]) / (point - pow52 * oods_point); - let total_sum = total_sum + *constraint_coefficients[119] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow52 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[120]) / (point - pow58 * oods_point); - let total_sum = total_sum + *constraint_coefficients[120] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow58 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[121]) / (point - pow59 * oods_point); - let total_sum = total_sum + *constraint_coefficients[121] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow59 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[122]) / (point - pow79 * oods_point); - let total_sum = total_sum + *constraint_coefficients[122] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow79 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[123]) / (point - pow78 * oods_point); - let total_sum = total_sum + *constraint_coefficients[123] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow78 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[124]) / (point - pow77 * oods_point); - let total_sum = total_sum + *constraint_coefficients[124] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow77 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[125]) / (point - pow76 * oods_point); - let total_sum = total_sum + *constraint_coefficients[125] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow76 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[126]) / (point - pow75 * oods_point); - let total_sum = total_sum + *constraint_coefficients[126] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow75 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[127]) / (point - pow80 * oods_point); - let total_sum = total_sum + *constraint_coefficients[127] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow80 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[128]) / (point - pow69 * oods_point); - let total_sum = total_sum + *constraint_coefficients[128] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow69 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[129]) / (point - pow70 * oods_point); - let total_sum = total_sum + *constraint_coefficients[129] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow70 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column17 - *oods_values[130]) / (point - pow68 * oods_point); - let total_sum = total_sum + *constraint_coefficients[130] * value; + let value = (column17 - *oods_values.pop_front().unwrap()) / (point - pow68 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column18 - *oods_values[131]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[131] * value; + let value = (column18 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column18 - *oods_values[132]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[132] * value; + let value = (column18 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column18 - *oods_values[133]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[133] * value; + let value = (column18 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column18 - *oods_values[134]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[134] * value; + let value = (column18 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[135]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[135] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[136]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[136] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[137]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[137] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[138]) / (point - pow6 * oods_point); - let total_sum = total_sum + *constraint_coefficients[138] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow6 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[139]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[139] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[140]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[140] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[141]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[141] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[142]) / (point - pow11 * oods_point); - let total_sum = total_sum + *constraint_coefficients[142] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow11 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[143]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[143] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[144]) / (point - pow14 * oods_point); - let total_sum = total_sum + *constraint_coefficients[144] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow14 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[145]) / (point - pow17 * oods_point); - let total_sum = total_sum + *constraint_coefficients[145] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow17 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[146]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[146] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[147]) / (point - pow19 * oods_point); - let total_sum = total_sum + *constraint_coefficients[147] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow19 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[148]) / (point - pow21 * oods_point); - let total_sum = total_sum + *constraint_coefficients[148] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow21 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[149]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[149] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[150]) / (point - pow26 * oods_point); - let total_sum = total_sum + *constraint_coefficients[150] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow26 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[151]) / (point - pow28 * oods_point); - let total_sum = total_sum + *constraint_coefficients[151] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow28 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[152]) / (point - pow29 * oods_point); - let total_sum = total_sum + *constraint_coefficients[152] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow29 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[153]) / (point - pow31 * oods_point); - let total_sum = total_sum + *constraint_coefficients[153] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow31 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[154]) / (point - pow36 * oods_point); - let total_sum = total_sum + *constraint_coefficients[154] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow36 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[155]) / (point - pow39 * oods_point); - let total_sum = total_sum + *constraint_coefficients[155] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow39 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[156]) / (point - pow42 * oods_point); - let total_sum = total_sum + *constraint_coefficients[156] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow42 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[157]) / (point - pow44 * oods_point); - let total_sum = total_sum + *constraint_coefficients[157] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow44 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[158]) / (point - pow47 * oods_point); - let total_sum = total_sum + *constraint_coefficients[158] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow47 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[159]) / (point - pow48 * oods_point); - let total_sum = total_sum + *constraint_coefficients[159] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow48 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[160]) / (point - pow66 * oods_point); - let total_sum = total_sum + *constraint_coefficients[160] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow66 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column19 - *oods_values[161]) / (point - pow67 * oods_point); - let total_sum = total_sum + *constraint_coefficients[161] * value; + let value = (column19 - *oods_values.pop_front().unwrap()) / (point - pow67 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[162]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[162] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[163]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[163] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[164]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[164] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[165]) / (point - pow7 * oods_point); - let total_sum = total_sum + *constraint_coefficients[165] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow7 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[166]) / (point - pow10 * oods_point); - let total_sum = total_sum + *constraint_coefficients[166] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow10 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[167]) / (point - pow12 * oods_point); - let total_sum = total_sum + *constraint_coefficients[167] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow12 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[168]) / (point - pow15 * oods_point); - let total_sum = total_sum + *constraint_coefficients[168] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow15 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[169]) / (point - pow18 * oods_point); - let total_sum = total_sum + *constraint_coefficients[169] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow18 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[170]) / (point - pow20 * oods_point); - let total_sum = total_sum + *constraint_coefficients[170] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow20 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[171]) / (point - pow22 * oods_point); - let total_sum = total_sum + *constraint_coefficients[171] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow22 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[172]) / (point - pow23 * oods_point); - let total_sum = total_sum + *constraint_coefficients[172] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow23 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[173]) / (point - pow24 * oods_point); - let total_sum = total_sum + *constraint_coefficients[173] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow24 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[174]) / (point - pow25 * oods_point); - let total_sum = total_sum + *constraint_coefficients[174] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow25 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[175]) / (point - pow27 * oods_point); - let total_sum = total_sum + *constraint_coefficients[175] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow27 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[176]) / (point - pow30 * oods_point); - let total_sum = total_sum + *constraint_coefficients[176] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow30 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[177]) / (point - pow34 * oods_point); - let total_sum = total_sum + *constraint_coefficients[177] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow34 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[178]) / (point - pow37 * oods_point); - let total_sum = total_sum + *constraint_coefficients[178] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow37 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[179]) / (point - pow38 * oods_point); - let total_sum = total_sum + *constraint_coefficients[179] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow38 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[180]) / (point - pow43 * oods_point); - let total_sum = total_sum + *constraint_coefficients[180] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow43 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[181]) / (point - pow51 * oods_point); - let total_sum = total_sum + *constraint_coefficients[181] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow51 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[182]) / (point - pow71 * oods_point); - let total_sum = total_sum + *constraint_coefficients[182] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow71 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[183]) / (point - pow2 * oods_point); - let total_sum = total_sum + *constraint_coefficients[183] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow2 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[184]) / (point - pow5 * oods_point); - let total_sum = total_sum + *constraint_coefficients[184] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow5 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[185]) / (point - pow13 * oods_point); - let total_sum = total_sum + *constraint_coefficients[185] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow13 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[186]) / (point - pow16 * oods_point); - let total_sum = total_sum + *constraint_coefficients[186] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow16 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[187]) / (point - pow61 * oods_point); - let total_sum = total_sum + *constraint_coefficients[187] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow61 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[188]) / (point - pow1 * oods_point); - let total_sum = total_sum + *constraint_coefficients[188] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow1 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[189]) / (point - pow9 * oods_point); - let total_sum = total_sum + *constraint_coefficients[189] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow9 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[190]) / (point - pow32 * oods_point); - let total_sum = total_sum + *constraint_coefficients[190] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow32 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[191]) / (point - pow33 * oods_point); - let total_sum = total_sum + *constraint_coefficients[191] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow33 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[192]) / (point - pow62 * oods_point); - let total_sum = total_sum + *constraint_coefficients[192] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow62 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[193]) / (point - pow63 * oods_point); - let total_sum = total_sum + *constraint_coefficients[193] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow63 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[194]) / (point - pow64 * oods_point); - let total_sum = total_sum + *constraint_coefficients[194] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow64 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column20 - *oods_values[195]) / (point - pow65 * oods_point); - let total_sum = total_sum + *constraint_coefficients[195] * value; + let value = (column20 - *oods_values.pop_front().unwrap()) / (point - pow65 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[196]) / (point - pow0 * oods_point); - let total_sum = total_sum + *constraint_coefficients[196] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow0 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[197]) / (point - pow3 * oods_point); - let total_sum = total_sum + *constraint_coefficients[197] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow3 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[198]) / (point - pow4 * oods_point); - let total_sum = total_sum + *constraint_coefficients[198] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow4 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (column21 - *oods_values[199]) / (point - pow8 * oods_point); - let total_sum = total_sum + *constraint_coefficients[199] * value; + let value = (column21 - *oods_values.pop_front().unwrap()) / (point - pow8 * oods_point); + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[200]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[200] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[201]) + let value = (*column_values.pop_front().unwrap() - *oods_values.pop_front().unwrap()) / (point - oods_point_to_deg); - let total_sum = total_sum + *constraint_coefficients[201] * value; + let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; assert(202 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum From 612c1f2fb971f630da5e2e28f84a16b9f0933d60 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 10:24:20 +0100 Subject: [PATCH 20/29] deployed contract update --- README.md | 2 +- deployed_contracts.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 43210c5c8..c8a149065 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ cargo run --release --bin snfoundry_proof_serializer < examples/proofs/recursive ```bash cd examples/starknet -./call_contract.sh 0x069df5a99fa42c37c946c58da0953d721b928078e740fef14da44e0f8c01f0f6 calldata +./1-verify-proof.sh 0x487810706cc0dfdba0c82403d98e9d32dc36793ed2b731231e5ea19f00c5861 calldata ``` [List of deployed Verifier Contracts](deployed_contracts.md) diff --git a/deployed_contracts.md b/deployed_contracts.md index e443ed9b5..4b32ea9f0 100644 --- a/deployed_contracts.md +++ b/deployed_contracts.md @@ -7,7 +7,7 @@ | | **Mainnet** | **starknet** | | | **Mainnet** | **starknet_with_keccak** | | | **Sepolia Testnet** | **dex** | -|[0x069df5a99fa42c37c946c58da0953d721b928078e740fef14da44e0f8c01f0f6](https://sepolia.starkscan.co/contract/0x069df5a99fa42c37c946c58da0953d721b928078e740fef14da44e0f8c01f0f6) | **Sepolia Testnet** | **recursive** | +|[0x487810706cc0dfdba0c82403d98e9d32dc36793ed2b731231e5ea19f00c5861](https://sepolia.starkscan.co/contract/0x487810706cc0dfdba0c82403d98e9d32dc36793ed2b731231e5ea19f00c5861) | **Sepolia Testnet** | **recursive** | | | **Sepolia Testnet** | **recursive_with_poseidon** | | | **Sepolia Testnet** | **small** | | | **Sepolia Testnet** | **starknet** | From bdbe904d5710c76a050b8969513ef8b475973788 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 12:08:19 +0100 Subject: [PATCH 21/29] proof_verification_tests only on main --- .github/workflows/proof_verification_tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index 6b2782b81..85047f0dd 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -2,11 +2,11 @@ name: Continuous Integration - proof verification tests on: push: - # branches: - # - main + branches: + - main pull_request: - # branches: - # - main + branches: + - main jobs: verify-proof: From fef117a073ba75272442869378898e83000fc921 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 14:00:39 +0100 Subject: [PATCH 22/29] turn off starknet_with_keccak in ci --- .github/workflows/proof_verification_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index 85047f0dd..cd3eb4dcb 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet", "starknet_with_keccak"] + layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet"] steps: - name: Checkout repository uses: actions/checkout@v3 From 98b4a3a2e9fdfe06d9fa4e7546a34a6de1d57f8d Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 22 Mar 2024 14:16:01 +0100 Subject: [PATCH 23/29] Revert "proof_verification_tests only on main" This reverts commit bdbe904d5710c76a050b8969513ef8b475973788. --- .github/workflows/proof_verification_tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index cd3eb4dcb..837dbae0b 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -2,11 +2,11 @@ name: Continuous Integration - proof verification tests on: push: - branches: - - main + # branches: + # - main pull_request: - branches: - - main + # branches: + # - main jobs: verify-proof: From d1bcde751d9deca2c74c7ec27117cca1ac964f5f Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 25 Mar 2024 12:54:17 +0100 Subject: [PATCH 24/29] keccak periodic columns renamed --- src/air/layouts/starknet_with_keccak.cairo | 27 +++++++++++----------- src/air/periodic_columns.cairo | 14 +++++------ 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/air/layouts/starknet_with_keccak.cairo b/src/air/layouts/starknet_with_keccak.cairo index 7bc994480..b83ad85b8 100644 --- a/src/air/layouts/starknet_with_keccak.cairo +++ b/src/air/layouts/starknet_with_keccak.cairo @@ -21,13 +21,12 @@ use cairo_verifier::{ }, air::{AIRComposition, AIROods}, diluted::get_diluted_product, periodic_columns::{ - eval_pedersen_x, eval_pedersen_y, eval_ecdsa_x, eval_ecdsa_y, - eval_keccak_keccak_keccak_round_key0, eval_keccak_keccak_keccak_round_key1, - eval_keccak_keccak_keccak_round_key3, eval_keccak_keccak_keccak_round_key7, - eval_keccak_keccak_keccak_round_key15, eval_keccak_keccak_keccak_round_key31, - eval_keccak_keccak_keccak_round_key63, eval_poseidon_poseidon_full_round_key0, - eval_poseidon_poseidon_full_round_key1, eval_poseidon_poseidon_full_round_key2, - eval_poseidon_poseidon_partial_round_key0, eval_poseidon_poseidon_partial_round_key1 + eval_pedersen_x, eval_pedersen_y, eval_ecdsa_x, eval_ecdsa_y, eval_keccak_round_key0, + eval_keccak_round_key1, eval_keccak_round_key3, eval_keccak_round_key7, + eval_keccak_round_key15, eval_keccak_round_key31, eval_keccak_round_key63, + eval_poseidon_poseidon_full_round_key0, eval_poseidon_poseidon_full_round_key1, + eval_poseidon_poseidon_full_round_key2, eval_poseidon_poseidon_partial_round_key0, + eval_poseidon_poseidon_partial_round_key1 }, public_input::{PublicInput, get_public_memory_product_ratio} }, @@ -80,13 +79,13 @@ impl StarknetWithKeccakAIRCompositionImpl of AIRComposition felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key0(point: felt252) -> felt252 { +fn eval_keccak_round_key0(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x25257ecfcf301b18da64254e59b151a549668b8c150b39f71eb3e3508224fbb); let res = res * point + (0x13342c1639906e1ef17847fdf16d032ea663fdc4fed28da92f88381ebfa626b); @@ -1615,7 +1615,7 @@ fn eval_keccak_keccak_keccak_round_key0(point: felt252) -> felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key1(point: felt252) -> felt252 { +fn eval_keccak_round_key1(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x46c20a61e3dd5f8e8d4085bfcf8e52c9c50152285742b9ba783a4edb6608353); let res = res * point + (0x62db2649e22e5c49b68354e9a3801a9b695f7d1c8d03854b1edfa0e322ef902); @@ -1656,7 +1656,7 @@ fn eval_keccak_keccak_keccak_round_key1(point: felt252) -> felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key3(point: felt252) -> felt252 { +fn eval_keccak_round_key3(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x4a025b231a318123295e4fc2ad69f9552eec69c64066fac264b1cfcdd7d3158); let res = res * point + (0x5460b40a6b82eea400c5f65223403b791182933281ab2654f3762718ea7272a); @@ -1697,7 +1697,7 @@ fn eval_keccak_keccak_keccak_round_key3(point: felt252) -> felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key7(point: felt252) -> felt252 { +fn eval_keccak_round_key7(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x279b1137fbe58a227ed345e6b3136ea36aa5eabb7ebaac5f226c318ef599e60); let res = res * point + (0x63355b4be0dccf93a1fa0f44f29a9ddd83c010b942d979a530cecd6c74ba8c8); @@ -1738,7 +1738,7 @@ fn eval_keccak_keccak_keccak_round_key7(point: felt252) -> felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key15(point: felt252) -> felt252 { +fn eval_keccak_round_key15(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x24ec7e1a7b8bcb5b138102f4131d7fa12dd5fc5278251892aa929a46b50dec4); let res = res * point + (0x6fab9476126a16ec91fb0071a673f7c8b65b1dbd3d04502cbc915a3db9e8a1f); @@ -1779,7 +1779,7 @@ fn eval_keccak_keccak_keccak_round_key15(point: felt252) -> felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key31(point: felt252) -> felt252 { +fn eval_keccak_round_key31(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x5852cb7312b6299275e11e7bf04e6a604038b1398d93ed46cdfa41cb9503116); let res = res * point + (0x3645c0d194b9983bc9c138a6e57651551a16c071ad1f5b0fc37946aa5b6a2cf); @@ -1820,7 +1820,7 @@ fn eval_keccak_keccak_keccak_round_key31(point: felt252) -> felt252 { // A periodic column of N values yields these values on the subgroup of size N. // To simulate a periodic column with 2**k repetitions, one should evaluate at point**(2**k) // instead. -fn eval_keccak_keccak_keccak_round_key63(point: felt252) -> felt252 { +fn eval_keccak_round_key63(point: felt252) -> felt252 { let res = 0; let res = res * point + (0x13c65642d180be37bf6db1ca47e2884a87a9c17aaa35744910c1b0fccc4c50f); let res = res * point + (0x4dff8ed2557436c17e52a86eb24e65fcef37d2d5d0df503f27351b9fb114deb); From acbaaae1432ca9b80dc2878b92595da0542e6d8b Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 25 Mar 2024 13:14:37 +0100 Subject: [PATCH 25/29] Revert "turn off starknet_with_keccak in ci" This reverts commit fef117a073ba75272442869378898e83000fc921. --- .github/workflows/proof_verification_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index 9dd73c061..f676f62e5 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet"] + layout: ["dex", "recursive", "recursive_with_poseidon", "small", "starknet", "starknet_with_keccak"] steps: - name: Checkout repository uses: actions/checkout@v3 From 044341bd531fc4d35b7d6b7e410fedd2a8c1901f Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 25 Mar 2024 13:15:14 +0100 Subject: [PATCH 26/29] Reapply "proof_verification_tests only on main" This reverts commit 98b4a3a2e9fdfe06d9fa4e7546a34a6de1d57f8d. --- .github/workflows/proof_verification_tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/proof_verification_tests.yml b/.github/workflows/proof_verification_tests.yml index f676f62e5..9c48ce1fd 100644 --- a/.github/workflows/proof_verification_tests.yml +++ b/.github/workflows/proof_verification_tests.yml @@ -2,11 +2,11 @@ name: Continuous Integration - proof verification tests on: push: - # branches: - # - main + branches: + - main pull_request: - # branches: - # - main + branches: + - main jobs: verify-proof: From 8d355310c70fdd366d46738c2288c68186bdaf67 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 25 Mar 2024 14:20:09 +0100 Subject: [PATCH 27/29] README layout types fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e6071cc56..fb986e42a 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ By default, the verifier is configured for recursive layout and keccak hash for python configure.py -l recursive -s keccak ``` -layout types: [dex, recursive, recursive_with_poseidon, small, starknet] +layout types: [dex, recursive, recursive_with_poseidon, small, starknet, starknet_with_keccak] hash types: [keccak, blake2s] ## Creating a Proof From f5da1182cdfd000e5a4c8f4096bb444faa7a1187 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 26 Mar 2024 20:20:17 +0100 Subject: [PATCH 28/29] README badges --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index fb986e42a..c833cabaf 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ ![Cairo Verifier](https://github.com/HerodotusDev/cairo-verifier/assets/46165861/8692dfc1-f267-4c7e-9af0-4ceaeec84207) +[![Continuous Integration - tests](https://github.com/HerodotusDev/cairo-verifier/actions/workflows/tests.yml/badge.svg)](https://github.com/HerodotusDev/cairo-verifier/actions/workflows/tests.yml) + +[![Continuous Integration - proof verification tests](https://github.com/HerodotusDev/cairo-verifier/actions/workflows/proof_verification_tests.yml/badge.svg)](https://github.com/HerodotusDev/cairo-verifier/actions/workflows/proof_verification_tests.yml) + ## Building the Verifier To build the Cairo Verifier, follow these steps: From 0f826413ba88a7f3314f9e44c8b13247b5b7f35a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 27 Mar 2024 14:36:09 +0100 Subject: [PATCH 29/29] version bump & rpc fixed --- .tool-versions | 2 +- examples/starknet/Scarb.toml | 2 +- fact_registry/Scarb.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.tool-versions b/.tool-versions index 827977941..de9f4ab17 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ scarb nightly-2024-03-16 -starknet-foundry 0.20.0 +starknet-foundry 0.20.1 diff --git a/examples/starknet/Scarb.toml b/examples/starknet/Scarb.toml index 28020e3e1..57c04d648 100644 --- a/examples/starknet/Scarb.toml +++ b/examples/starknet/Scarb.toml @@ -7,7 +7,7 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.20.0" } +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.20.1" } [[target.starknet-contract]] casm = true \ No newline at end of file diff --git a/fact_registry/Scarb.toml b/fact_registry/Scarb.toml index b0c4da433..6be550025 100644 --- a/fact_registry/Scarb.toml +++ b/fact_registry/Scarb.toml @@ -7,7 +7,7 @@ edition = "2023_10" [dependencies] cairo_verifier = { path = ".." } -snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.20.0" } +snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.20.1" } [[target.starknet-contract]] casm = true \ No newline at end of file