diff --git a/src/air/layouts/dex/autogenerated.cairo b/src/air/layouts/dex/autogenerated.cairo index f82dfccc..3e979d01 100644 --- a/src/air/layouts/dex/autogenerated.cairo +++ b/src/air/layouts/dex/autogenerated.cairo @@ -1,7 +1,7 @@ use cairo_verifier::{ air::layouts::dex::{ global_values::GlobalValues, - constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE} + constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE}, }, common::math::{Felt252Div, pow}, }; @@ -11,7 +11,7 @@ fn eval_composition_polynomial_inner( mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, - global_values: GlobalValues + global_values: GlobalValues, ) -> felt252 { // Compute powers. let pow0 = pow(point, global_values.trace_length / 8192); @@ -30,11 +30,11 @@ fn eval_composition_polynomial_inner( let pow13 = pow(trace_generator, global_values.trace_length - 4); let pow14 = pow(trace_generator, global_values.trace_length - 2); let pow15 = pow(trace_generator, global_values.trace_length - 16); - let pow16 = pow(trace_generator, 251 * global_values.trace_length / 256); + let pow16 = pow(trace_generator, (251 * global_values.trace_length) / 256); let pow17 = pow(trace_generator, global_values.trace_length / 2); - let pow18 = pow(trace_generator, 63 * global_values.trace_length / 64); - let pow19 = pow(trace_generator, 255 * global_values.trace_length / 256); - let pow20 = pow(trace_generator, 15 * global_values.trace_length / 16); + let pow18 = pow(trace_generator, (63 * global_values.trace_length) / 64); + let pow19 = pow(trace_generator, (255 * global_values.trace_length) / 256); + let pow20 = pow(trace_generator, (15 * global_values.trace_length) / 16); // Compute domains. let domain0 = pow10 - 1; @@ -64,206 +64,212 @@ fn eval_composition_polynomial_inner( let domain24 = point - pow11; // Fetch mask variables. - 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(); + let [ + column0_row0, + column0_row1, + column0_row2, + column0_row3, + column0_row4, + column0_row5, + column0_row6, + column0_row7, + column0_row8, + column0_row9, + column0_row10, + column0_row11, + column0_row12, + column0_row13, + column0_row14, + column0_row15, + column1_row0, + column1_row1, + column1_row255, + column1_row256, + column1_row511, + column2_row0, + column2_row1, + column2_row255, + column2_row256, + column3_row0, + column3_row1, + column3_row192, + column3_row193, + column3_row196, + column3_row197, + column3_row251, + column3_row252, + column3_row256, + column4_row0, + column4_row1, + column4_row255, + column4_row256, + column4_row511, + column5_row0, + column5_row1, + column5_row255, + column5_row256, + column6_row0, + column6_row1, + column6_row192, + column6_row193, + column6_row196, + column6_row197, + column6_row251, + column6_row252, + column6_row256, + column7_row0, + column7_row1, + column7_row255, + column7_row256, + column7_row511, + column8_row0, + column8_row1, + column8_row255, + column8_row256, + column9_row0, + column9_row1, + column9_row192, + column9_row193, + column9_row196, + column9_row197, + column9_row251, + column9_row252, + column9_row256, + column10_row0, + column10_row1, + column10_row255, + column10_row256, + column10_row511, + column11_row0, + column11_row1, + column11_row255, + column11_row256, + column12_row0, + column12_row1, + column12_row192, + column12_row193, + column12_row196, + column12_row197, + column12_row251, + column12_row252, + column12_row256, + column13_row0, + column13_row255, + column14_row0, + column14_row255, + column15_row0, + column15_row255, + column16_row0, + column16_row255, + column17_row0, + column17_row1, + column17_row2, + column17_row3, + column17_row4, + column17_row5, + column17_row6, + column17_row7, + column17_row8, + column17_row9, + column17_row12, + column17_row13, + column17_row16, + column17_row22, + column17_row23, + column17_row38, + column17_row39, + column17_row70, + column17_row71, + column17_row102, + column17_row103, + column17_row134, + column17_row135, + column17_row167, + column17_row199, + column17_row230, + column17_row263, + column17_row295, + column17_row327, + column17_row391, + column17_row423, + column17_row455, + column17_row4118, + column17_row4119, + column17_row8214, + column18_row0, + column18_row1, + column18_row2, + column18_row3, + column19_row0, + column19_row1, + column19_row2, + column19_row3, + column19_row4, + column19_row5, + column19_row6, + column19_row7, + column19_row8, + column19_row9, + column19_row11, + column19_row12, + column19_row13, + column19_row15, + column19_row17, + column19_row23, + column19_row25, + column19_row28, + column19_row31, + column19_row44, + column19_row60, + column19_row76, + column19_row92, + column19_row108, + column19_row124, + column19_row4103, + column19_row4111, + column20_row0, + column20_row1, + column20_row2, + column20_row4, + column20_row6, + column20_row8, + column20_row10, + column20_row12, + column20_row14, + column20_row16, + column20_row17, + column20_row20, + column20_row22, + column20_row24, + column20_row30, + column20_row38, + column20_row46, + column20_row54, + column20_row81, + column20_row145, + column20_row209, + column20_row4080, + column20_row4082, + column20_row4088, + column20_row4090, + column20_row4092, + column20_row8161, + column20_row8166, + column20_row8176, + column20_row8178, + column20_row8182, + column20_row8184, + column20_row8186, + column20_row8190, + column21_inter1_row0, + column21_inter1_row1, + column21_inter1_row2, + column21_inter1_row5 + ] = + (*mask_values + .multi_pop_front::<200>() + .unwrap()) + .unbox(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -1434,28 +1440,34 @@ fn eval_oods_polynomial_inner( let pow80 = pow53 * pow79; // pow(trace_generator, 455). // Fetch columns. - 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 [ + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15, + column16, + column17, + column18, + column19, + column20, + column21 + ] = + (*column_values + .multi_pop_front::<22>() + .unwrap()) + .unbox(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; @@ -2071,6 +2083,6 @@ fn eval_oods_polynomial_inner( / (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - assert(202 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); + assert(202 == MASK_SIZE + CONSTRAINT_DEGREE, 'Autogenerated assert failed'); total_sum } diff --git a/src/air/layouts/recursive/autogenerated.cairo b/src/air/layouts/recursive/autogenerated.cairo index ec28e36f..f5a64956 100644 --- a/src/air/layouts/recursive/autogenerated.cairo +++ b/src/air/layouts/recursive/autogenerated.cairo @@ -1,7 +1,7 @@ use cairo_verifier::{ air::layouts::recursive::{ global_values::GlobalValues, - constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE} + constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE}, }, common::math::{Felt252Div, pow}, }; @@ -11,7 +11,7 @@ fn eval_composition_polynomial_inner( mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, - global_values: GlobalValues + global_values: GlobalValues, ) -> felt252 { // Compute powers. let pow0 = pow(point, global_values.trace_length / 2048); @@ -29,7 +29,7 @@ fn eval_composition_polynomial_inner( let pow12 = pow(trace_generator, global_values.trace_length - 2); let pow13 = pow(trace_generator, global_values.trace_length - 16); let pow14 = pow(trace_generator, global_values.trace_length / 2); - let pow15 = pow(trace_generator, 255 * global_values.trace_length / 256); + let pow15 = pow(trace_generator, (255 * global_values.trace_length) / 256); let pow16 = pow(trace_generator, global_values.trace_length / 64); let pow17 = pow16 * pow16; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). let pow18 = pow16 @@ -56,7 +56,7 @@ fn eval_composition_polynomial_inner( * pow28; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). let pow30 = pow16 * pow29; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). - let pow31 = pow(trace_generator, 3 * global_values.trace_length / 4); + let pow31 = pow(trace_generator, (3 * global_values.trace_length) / 4); let pow32 = pow27 * pow31; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). let pow33 = pow18 @@ -101,139 +101,145 @@ fn eval_composition_polynomial_inner( let domain20 = point - pow8; // Fetch mask variables. - 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(); + let [ + column0_row0, + column0_row1, + column0_row2, + column0_row3, + column0_row4, + column0_row5, + column0_row6, + column0_row7, + column0_row8, + column0_row9, + column0_row10, + column0_row11, + column0_row12, + column0_row13, + column0_row14, + column0_row15, + column1_row0, + column1_row1, + column1_row2, + column1_row4, + column1_row6, + column1_row8, + column1_row10, + column1_row12, + column1_row14, + column1_row16, + column1_row18, + column1_row20, + column1_row22, + column1_row24, + column1_row26, + column1_row28, + column1_row30, + column1_row32, + column1_row33, + column1_row64, + column1_row65, + column1_row88, + column1_row90, + column1_row92, + column1_row94, + column1_row96, + column1_row97, + column1_row120, + column1_row122, + column1_row124, + column1_row126, + column2_row0, + column2_row1, + column3_row0, + column3_row1, + column3_row2, + column3_row3, + column3_row4, + column3_row5, + column3_row8, + column3_row9, + column3_row10, + column3_row11, + column3_row12, + column3_row13, + column3_row16, + column3_row26, + column3_row27, + column3_row42, + column3_row43, + column3_row58, + column3_row74, + column3_row75, + column3_row91, + column3_row122, + column3_row123, + column3_row154, + column3_row202, + column3_row522, + column3_row523, + column3_row1034, + column3_row1035, + column3_row2058, + column4_row0, + column4_row1, + column4_row2, + column4_row3, + column5_row0, + column5_row1, + column5_row2, + column5_row3, + column5_row4, + column5_row5, + column5_row6, + column5_row7, + column5_row8, + column5_row12, + column5_row28, + column5_row44, + column5_row60, + column5_row76, + column5_row92, + column5_row108, + column5_row124, + column5_row1021, + column5_row1023, + column5_row1025, + column5_row1027, + column5_row2045, + column6_row0, + column6_row1, + column6_row2, + column6_row3, + column6_row4, + column6_row5, + column6_row7, + column6_row9, + column6_row11, + column6_row13, + column6_row17, + column6_row25, + column6_row768, + column6_row772, + column6_row784, + column6_row788, + column6_row1004, + column6_row1008, + column6_row1022, + column6_row1024, + column7_inter1_row0, + column7_inter1_row1, + column8_inter1_row0, + column8_inter1_row1, + column9_inter1_row0, + column9_inter1_row1, + column9_inter1_row2, + column9_inter1_row5 + ] = + (*mask_values + .multi_pop_front::<133>() + .unwrap()) + .unbox(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -919,16 +925,11 @@ fn eval_oods_polynomial_inner( let pow71 = pow39 * pow69; // pow(trace_generator, 154). // Fetch columns. - 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 [column0, column1, column2, column3, column4, column5, column6, column7, column8, column9] = + (*column_values + .multi_pop_front::<10>() + .unwrap()) + .unbox(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; @@ -1343,6 +1344,6 @@ fn eval_oods_polynomial_inner( / (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - assert(135 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); + assert(135 == MASK_SIZE + CONSTRAINT_DEGREE, 'Autogenerated assert failed'); total_sum } diff --git a/src/air/layouts/recursive_with_poseidon/autogenerated.cairo b/src/air/layouts/recursive_with_poseidon/autogenerated.cairo index 442ab141..9a63cf5f 100644 --- a/src/air/layouts/recursive_with_poseidon/autogenerated.cairo +++ b/src/air/layouts/recursive_with_poseidon/autogenerated.cairo @@ -1,7 +1,7 @@ use cairo_verifier::{ air::layouts::recursive_with_poseidon::{ global_values::GlobalValues, - constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE} + constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE}, }, common::math::{Felt252Div, pow}, }; @@ -11,7 +11,7 @@ fn eval_composition_polynomial_inner( mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, - global_values: GlobalValues + global_values: GlobalValues, ) -> felt252 { // Compute powers. let pow0 = pow(point, global_values.trace_length / 4096); @@ -34,7 +34,7 @@ fn eval_composition_polynomial_inner( let pow17 = pow(trace_generator, global_values.trace_length - 2); let pow18 = pow(trace_generator, global_values.trace_length - 16); let pow19 = pow(trace_generator, global_values.trace_length / 2); - let pow20 = pow(trace_generator, 255 * global_values.trace_length / 256); + let pow20 = pow(trace_generator, (255 * global_values.trace_length) / 256); let pow21 = pow(trace_generator, global_values.trace_length / 64); let pow22 = pow21 * pow21; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). let pow23 = pow21 @@ -155,198 +155,204 @@ fn eval_composition_polynomial_inner( let domain30 = point - pow13; // Fetch mask variables. - 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(); + let [ + column0_row0, + column0_row1, + column0_row2, + column0_row3, + column0_row4, + column0_row5, + column0_row6, + column0_row7, + column0_row8, + column0_row9, + column0_row10, + column0_row11, + column0_row12, + column0_row13, + column0_row14, + column0_row15, + column1_row0, + column1_row1, + column1_row2, + column1_row3, + column1_row4, + column1_row5, + column1_row8, + column1_row9, + column1_row10, + column1_row11, + column1_row12, + column1_row13, + column1_row16, + column1_row42, + column1_row43, + column1_row74, + column1_row75, + column1_row106, + column1_row138, + column1_row139, + column1_row171, + column1_row202, + column1_row203, + column1_row234, + column1_row235, + column1_row266, + column1_row267, + column1_row298, + column1_row394, + column1_row458, + column1_row459, + column1_row714, + column1_row715, + column1_row778, + column1_row779, + column1_row970, + column1_row971, + column1_row1034, + column1_row1035, + column1_row2058, + column1_row2059, + column1_row4106, + column2_row0, + column2_row1, + column2_row2, + column2_row3, + column3_row0, + column3_row1, + column3_row2, + column3_row3, + column3_row4, + column3_row8, + column3_row12, + column3_row16, + column3_row20, + column3_row24, + column3_row28, + column3_row32, + column3_row36, + column3_row40, + column3_row44, + column3_row48, + column3_row52, + column3_row56, + column3_row60, + column3_row64, + column3_row66, + column3_row128, + column3_row130, + column3_row176, + column3_row180, + column3_row184, + column3_row188, + column3_row192, + column3_row194, + column3_row240, + column3_row244, + column3_row248, + column3_row252, + column4_row0, + column4_row1, + column4_row2, + column4_row3, + column4_row4, + column4_row5, + column4_row6, + column4_row7, + column4_row8, + column4_row9, + column4_row11, + column4_row12, + column4_row13, + column4_row44, + column4_row76, + column4_row108, + column4_row140, + column4_row172, + column4_row204, + column4_row236, + column4_row1539, + column4_row1547, + column4_row1571, + column4_row1579, + column4_row2011, + column4_row2019, + column4_row2041, + column4_row2045, + column4_row2047, + column4_row2049, + column4_row2051, + column4_row2053, + column4_row4089, + column5_row0, + column5_row1, + column5_row2, + column5_row4, + column5_row6, + column5_row8, + column5_row9, + column5_row10, + column5_row12, + column5_row14, + column5_row16, + column5_row17, + column5_row22, + column5_row24, + column5_row25, + column5_row30, + column5_row33, + column5_row38, + column5_row41, + column5_row46, + column5_row49, + column5_row54, + column5_row57, + column5_row65, + column5_row73, + column5_row81, + column5_row89, + column5_row97, + column5_row105, + column5_row137, + column5_row169, + column5_row201, + column5_row393, + column5_row409, + column5_row425, + column5_row457, + column5_row473, + column5_row489, + column5_row521, + column5_row553, + column5_row585, + column5_row609, + column5_row625, + column5_row641, + column5_row657, + column5_row673, + column5_row689, + column5_row905, + column5_row921, + column5_row937, + column5_row969, + column5_row982, + column5_row985, + column5_row998, + column5_row1001, + column5_row1014, + column6_inter1_row0, + column6_inter1_row1, + column6_inter1_row2, + column6_inter1_row3, + column7_inter1_row0, + column7_inter1_row1, + column7_inter1_row2, + column7_inter1_row5 + ] = + (*mask_values + .multi_pop_front::<192>() + .unwrap()) + .unbox(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); @@ -1346,14 +1352,10 @@ fn eval_oods_polynomial_inner( let pow133 = pow1 * pow21; // pow(trace_generator, 4106). // Fetch columns. - 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 [column0, column1, column2, column3, column4, column5, column6, column7] = (*column_values + .multi_pop_front::<8>() + .unwrap()) + .unbox(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; @@ -1945,6 +1947,6 @@ fn eval_oods_polynomial_inner( / (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - assert(194 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); + assert(194 == MASK_SIZE + CONSTRAINT_DEGREE, 'Autogenerated assert failed'); total_sum } diff --git a/src/air/layouts/small/autogenerated.cairo b/src/air/layouts/small/autogenerated.cairo index 6af69013..d0c08a99 100644 --- a/src/air/layouts/small/autogenerated.cairo +++ b/src/air/layouts/small/autogenerated.cairo @@ -1,7 +1,7 @@ use cairo_verifier::{ air::layouts::small::{ global_values::GlobalValues, - constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE} + constants::{CONSTRAINT_DEGREE, NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, MASK_SIZE}, }, common::math::{Felt252Div, pow}, }; @@ -11,7 +11,7 @@ fn eval_composition_polynomial_inner( mut constraint_coefficients: Span, point: felt252, trace_generator: felt252, - global_values: GlobalValues + global_values: GlobalValues, ) -> felt252 { // Compute powers. let pow0 = pow(point, global_values.trace_length / 8192); @@ -29,11 +29,11 @@ fn eval_composition_polynomial_inner( let pow12 = pow(trace_generator, global_values.trace_length - 1); let pow13 = pow(trace_generator, global_values.trace_length - 2); let pow14 = pow(trace_generator, global_values.trace_length - 16); - let pow15 = pow(trace_generator, 251 * global_values.trace_length / 256); + let pow15 = pow(trace_generator, (251 * global_values.trace_length) / 256); let pow16 = pow(trace_generator, global_values.trace_length / 2); - let pow17 = pow(trace_generator, 63 * global_values.trace_length / 64); - let pow18 = pow(trace_generator, 255 * global_values.trace_length / 256); - let pow19 = pow(trace_generator, 15 * global_values.trace_length / 16); + let pow17 = pow(trace_generator, (63 * global_values.trace_length) / 64); + let pow18 = pow(trace_generator, (255 * global_values.trace_length) / 256); + let pow19 = pow(trace_generator, (15 * global_values.trace_length) / 16); // Compute domains. let domain0 = pow9 - 1; @@ -62,207 +62,213 @@ fn eval_composition_polynomial_inner( let domain23 = point - pow10; // Fetch mask variables. - 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(); + let [ + column0_row0, + column0_row1, + column0_row4, + column0_row8, + column0_row12, + column0_row28, + column0_row44, + column0_row60, + column0_row76, + column0_row92, + column0_row108, + column0_row124, + column1_row0, + column1_row1, + column1_row2, + column1_row3, + column1_row4, + column1_row5, + column1_row6, + column1_row7, + column1_row8, + column1_row9, + column1_row10, + column1_row11, + column1_row12, + column1_row13, + column1_row14, + column1_row15, + column2_row0, + column2_row1, + column3_row0, + column3_row1, + column3_row255, + column3_row256, + column3_row511, + column4_row0, + column4_row1, + column4_row255, + column4_row256, + column5_row0, + column5_row1, + column5_row192, + column5_row193, + column5_row196, + column5_row197, + column5_row251, + column5_row252, + column5_row256, + column6_row0, + column6_row1, + column6_row255, + column6_row256, + column6_row511, + column7_row0, + column7_row1, + column7_row255, + column7_row256, + column8_row0, + column8_row1, + column8_row192, + column8_row193, + column8_row196, + column8_row197, + column8_row251, + column8_row252, + column8_row256, + column9_row0, + column9_row1, + column9_row255, + column9_row256, + column9_row511, + column10_row0, + column10_row1, + column10_row255, + column10_row256, + column11_row0, + column11_row1, + column11_row192, + column11_row193, + column11_row196, + column11_row197, + column11_row251, + column11_row252, + column11_row256, + column12_row0, + column12_row1, + column12_row255, + column12_row256, + column12_row511, + column13_row0, + column13_row1, + column13_row255, + column13_row256, + column14_row0, + column14_row1, + column14_row192, + column14_row193, + column14_row196, + column14_row197, + column14_row251, + column14_row252, + column14_row256, + column15_row0, + column15_row255, + column16_row0, + column16_row255, + column17_row0, + column17_row255, + column18_row0, + column18_row255, + column19_row0, + column19_row1, + column19_row2, + column19_row3, + column19_row4, + column19_row5, + column19_row6, + column19_row7, + column19_row8, + column19_row9, + column19_row12, + column19_row13, + column19_row16, + column19_row22, + column19_row23, + column19_row38, + column19_row39, + column19_row70, + column19_row71, + column19_row102, + column19_row103, + column19_row134, + column19_row135, + column19_row167, + column19_row199, + column19_row230, + column19_row263, + column19_row295, + column19_row327, + column19_row391, + column19_row423, + column19_row455, + column19_row4118, + column19_row4119, + column19_row8214, + column20_row0, + column20_row1, + column20_row2, + column20_row3, + column21_row0, + column21_row1, + column21_row2, + column21_row3, + column21_row4, + column21_row5, + column21_row6, + column21_row7, + column21_row8, + column21_row9, + column21_row10, + column21_row11, + column21_row12, + column21_row13, + column21_row14, + column21_row15, + column21_row16, + column21_row17, + column21_row21, + column21_row22, + column21_row23, + column21_row24, + column21_row25, + column21_row30, + column21_row31, + column21_row39, + column21_row47, + column21_row55, + column21_row4081, + column21_row4083, + column21_row4089, + column21_row4091, + column21_row4093, + column21_row4102, + column21_row4110, + column21_row8167, + column21_row8177, + column21_row8179, + column21_row8183, + column21_row8185, + column21_row8187, + column21_row8191, + column22_row0, + column22_row16, + column22_row80, + column22_row144, + column22_row208, + column22_row8160, + column23_inter1_row0, + column23_inter1_row1, + column24_inter1_row0, + column24_inter1_row2 + ] = + (*mask_values + .multi_pop_front::<201>() + .unwrap()) + .unbox(); // Compute intermediate values. let cpu_decode_opcode_range_check_bit_0 = column1_row0 - (column1_row1 + column1_row1); @@ -1433,31 +1439,37 @@ fn eval_oods_polynomial_inner( let pow80 = pow51 * pow73; // pow(trace_generator, 327). // Fetch columns. - 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(); + let [ + column0, + column1, + column2, + column3, + column4, + column5, + column6, + column7, + column8, + column9, + column10, + column11, + column12, + column13, + column14, + column15, + column16, + column17, + column18, + column19, + column20, + column21, + column22, + column23, + column24 + ] = + (*column_values + .multi_pop_front::<25>() + .unwrap()) + .unbox(); // Sum the OODS constraints on the trace polynomials. let total_sum = 0; @@ -2076,6 +2088,6 @@ fn eval_oods_polynomial_inner( / (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients.pop_front().unwrap() * value; - assert(203 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); + assert(203 == MASK_SIZE + CONSTRAINT_DEGREE, 'Autogenerated assert failed'); total_sum }