diff --git a/compiler/noirc_evaluator/src/ssa/opt/expand_signed_checks.rs b/compiler/noirc_evaluator/src/ssa/opt/expand_signed_checks.rs index 56166770899..2fe50d2f1d6 100644 --- a/compiler/noirc_evaluator/src/ssa/opt/expand_signed_checks.rs +++ b/compiler/noirc_evaluator/src/ssa/opt/expand_signed_checks.rs @@ -95,6 +95,7 @@ impl Context<'_, '_, '_> { lhs, rhs, BinaryOp::Add { unchecked: false }, + "add", bit_size, ); self.insert_cast(truncated, self.context.dfg.type_of_value(lhs).unwrap_numeric()) @@ -111,6 +112,7 @@ impl Context<'_, '_, '_> { lhs, rhs, BinaryOp::Sub { unchecked: false }, + "subtract", bit_size, ); self.insert_cast(truncated, self.context.dfg.type_of_value(lhs).unwrap_numeric()) @@ -128,6 +130,7 @@ impl Context<'_, '_, '_> { lhs, rhs, BinaryOp::Mul { unchecked: false }, + "multiply", bit_size, ); self.insert_cast(truncated, self.context.dfg.type_of_value(lhs).unwrap_numeric()) @@ -151,9 +154,9 @@ impl Context<'_, '_, '_> { lhs: ValueId, rhs: ValueId, operator: BinaryOp, + operation: &str, bit_size: u32, ) { - let is_sub = matches!(operator, BinaryOp::Sub { .. }); let half_width = self.numeric_constant( FieldElement::from(2_i128.pow(bit_size - 1)), NumericType::unsigned(bit_size), @@ -163,13 +166,13 @@ impl Context<'_, '_, '_> { let rhs_as_unsigned = self.insert_safe_cast(rhs, NumericType::unsigned(bit_size)); let lhs_sign = self.insert_binary(lhs_as_unsigned, BinaryOp::Lt, half_width); let mut rhs_sign = self.insert_binary(rhs_as_unsigned, BinaryOp::Lt, half_width); - let message = if is_sub { + if matches!(operator, BinaryOp::Sub { .. }) { // lhs - rhs = lhs + (-rhs) rhs_sign = self.insert_not(rhs_sign); - "attempt to subtract with overflow".to_string() - } else { - "attempt to add with overflow".to_string() - }; + } + + let message = format!("attempt to {operation} with overflow"); + // same_sign is true if both operands have the same sign let same_sign = self.insert_binary(lhs_sign, BinaryOp::Eq, rhs_sign); match operator { @@ -196,11 +199,7 @@ impl Context<'_, '_, '_> { let product_field = self.insert_binary(lhs_abs, BinaryOp::Mul { unchecked: true }, rhs_abs); // It must not already overflow the bit_size - self.insert_range_check( - product_field, - bit_size, - Some("attempt to multiply with overflow".to_string()), - ); + self.insert_range_check(product_field, bit_size, Some(message.clone())); let product = self.insert_safe_cast(product_field, NumericType::unsigned(bit_size)); // Then we check the signed product fits in a signed integer of bit_size-bits @@ -585,7 +584,7 @@ mod tests { v32 = cast v31 as u32 v33 = unchecked_add u32 2147483648, v32 v34 = lt v30, v33 - constrain v34 == u1 1, "attempt to add with overflow" + constrain v34 == u1 1, "attempt to multiply with overflow" v36 = cast v4 as i32 return v36 } diff --git a/tooling/ast_fuzzer/src/compare/interpreted.rs b/tooling/ast_fuzzer/src/compare/interpreted.rs index 2d2b292c44f..60c67378ea9 100644 --- a/tooling/ast_fuzzer/src/compare/interpreted.rs +++ b/tooling/ast_fuzzer/src/compare/interpreted.rs @@ -193,7 +193,7 @@ impl Comparable for ssa::interpreter::errors::InterpreterError { { BinaryOp::Add { unchecked: false } => msg == "attempt to add with overflow", BinaryOp::Sub { unchecked: false } => msg == "attempt to subtract with overflow", - + BinaryOp::Mul { unchecked: false } => msg == "attempt to multiply with overflow", _ => false, }, ( diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 16a15095aa2..726686f1552 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -48,7 +48,7 @@ expression: artifact "return value indices : [_1]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32856 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32854), size_address: Relative(2), offset_address: Relative(3) }, Mov { destination: Relative(1), source: Direct(32854) }, Call { location: 13 }, Call { location: 33 }, Mov { destination: Direct(32855), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32855 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32843), bit_size: Field, value: 13 }, Const { destination: Direct(32844), bit_size: Field, value: 15 }, Const { destination: Direct(32845), bit_size: Field, value: 17 }, Const { destination: Direct(32846), bit_size: Field, value: 19 }, Const { destination: Direct(32847), bit_size: Field, value: 21 }, Const { destination: Direct(32848), bit_size: Field, value: 23 }, Const { destination: Direct(32849), bit_size: Field, value: 25 }, Const { destination: Direct(32850), bit_size: Field, value: 27 }, Const { destination: Direct(32851), bit_size: Field, value: 29 }, Const { destination: Direct(32852), bit_size: Field, value: 33 }, Const { destination: Direct(32853), bit_size: Integer(U32), value: 2147483648 }, Return, Call { location: 43 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 49 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 48 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 43 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(2), source: Direct(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32838) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 68 }, Call { location: 301 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(2) }, Mov { destination: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 304 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(6) }, JumpIf { condition: Relative(1), location: 81 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 87 }, Call { location: 301 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(8), source: Direct(32841) }, Mov { destination: Relative(9), source: Direct(32844) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 351 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(7) }, JumpIf { condition: Relative(1), location: 101 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 107 }, Call { location: 301 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 7 }, Mov { destination: Relative(7), source: Direct(0) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Direct(32841) }, Mov { destination: Relative(10), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 399 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(8) }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 124 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, Mov { destination: Relative(11), source: Direct(32846) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(8) }, Call { location: 519 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(10) }, JumpIf { condition: Relative(6), location: 137 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 143 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Relative(1) }, Mov { destination: Relative(12), source: Direct(32841) }, Mov { destination: Relative(13), source: Direct(32847) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 566 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(11) }, JumpIf { condition: Relative(6), location: 157 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 163 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Direct(32835) }, Mov { destination: Relative(14), source: Direct(32848) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 614 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(12) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(11), location: 179 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(6) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 185 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(1) }, Mov { destination: Relative(15), source: Direct(32835) }, Mov { destination: Relative(16), source: Direct(32841) }, Mov { destination: Relative(17), source: Direct(32849) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 716 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(14) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 18 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(12) }, JumpIf { condition: Relative(13), location: 202 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(6) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 208 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 772 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(15) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(13), location: 222 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 228 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Direct(32841) }, Mov { destination: Relative(17), source: Direct(32851) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 876 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(15) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 244 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(6) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 250 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(6), bit_size: Field, value: 32 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(6) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 934 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(14), source: Relative(17) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(6) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 267 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 17 }, Mov { destination: Relative(17), source: Direct(0) }, Mov { destination: Relative(18), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(16) }, Call { location: 1041 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(18) }, JumpIf { condition: Relative(6), location: 280 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Direct(32841) }, Mov { destination: Relative(19), source: Direct(32852) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 399 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(17) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(6) }, Mov { destination: Relative(18), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1041 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(17) }, JumpIf { condition: Relative(1), location: 300 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 43 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32836) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 314 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Direct(32843) }, Mov { destination: Relative(3), source: Direct(32837) }, Jump { location: 319 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 324 }, Jump { location: 322 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(4) }, JumpIf { condition: Relative(5), location: 340 }, Jump { location: 330 }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(2), rhs: Direct(32846) }, JumpIf { condition: Relative(9), location: 334 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32838), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 346 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32841), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 346 }, BinaryIntOp { destination: Relative(7), op: Or, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 319 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 361 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32844) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 366 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 371 }, Jump { location: 369 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 388 }, Jump { location: 377 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32847) }, JumpIf { condition: Relative(10), location: 381 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, Mov { destination: Relative(7), source: Relative(8) }, Jump { location: 394 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 394 }, BinaryIntOp { destination: Relative(8), op: Or, bit_size: U1, lhs: Relative(9), rhs: Relative(7) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 366 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 420 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32845) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(3), rhs: Direct(32848) }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 427 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 432 }, Jump { location: 430 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(4) }, Load { destination: Relative(10), source_pointer: Relative(12) }, JumpIf { condition: Relative(5), location: 497 }, Jump { location: 437 }, JumpIf { condition: Relative(8), location: 485 }, Jump { location: 439 }, JumpIf { condition: Relative(9), location: 473 }, Jump { location: 441 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(3), rhs: Direct(32852) }, JumpIf { condition: Relative(13), location: 445 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, JumpIf { condition: Relative(14), location: 451 }, Jump { location: 453 }, Mov { destination: Relative(15), source: Relative(21) }, Jump { location: 455 }, Mov { destination: Relative(15), source: Relative(10) }, Jump { location: 455 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, JumpIf { condition: Relative(16), location: 461 }, Jump { location: 463 }, Mov { destination: Relative(17), source: Relative(21) }, Jump { location: 465 }, Mov { destination: Relative(17), source: Relative(2) }, Jump { location: 465 }, BinaryIntOp { destination: Relative(13), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Xor, bit_size: U1, lhs: Relative(14), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 469 }, Jump { location: 471 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 483 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(2) }, Mov { destination: Relative(17), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1073 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 483 }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 495 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(2) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1090 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 495 }, Mov { destination: Relative(7), source: Relative(11) }, Jump { location: 507 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(2) }, Mov { destination: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1107 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(7), source: Relative(11) }, Jump { location: 507 }, Load { destination: Relative(10), source_pointer: Relative(6) }, Mov { destination: Direct(32771), source: Relative(10) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 4 }, Call { location: 1149 }, Mov { destination: Relative(11), source: Direct(32773) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(4) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(6), source: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 427 }, Call { location: 43 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 529 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Direct(32843) }, Mov { destination: Relative(3), source: Direct(32837) }, Jump { location: 534 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 539 }, Jump { location: 537 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(4) }, JumpIf { condition: Relative(5), location: 555 }, Jump { location: 545 }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(2), rhs: Direct(32846) }, JumpIf { condition: Relative(9), location: 549 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32838), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 561 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32841), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 561 }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 534 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 576 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32844) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 581 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 586 }, Jump { location: 584 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 603 }, Jump { location: 592 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32847) }, JumpIf { condition: Relative(10), location: 596 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, Mov { destination: Relative(7), source: Relative(8) }, Jump { location: 609 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 609 }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(7) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 581 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 624 }, Call { location: 301 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(3), rhs: Direct(32845) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(3), rhs: Direct(32848) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 631 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 636 }, Jump { location: 634 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(9), source_pointer: Relative(11) }, Load { destination: Relative(10), source_pointer: Relative(5) }, JumpIf { condition: Relative(2), location: 702 }, Jump { location: 642 }, JumpIf { condition: Relative(7), location: 690 }, Jump { location: 644 }, JumpIf { condition: Relative(8), location: 678 }, Jump { location: 646 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(3), rhs: Direct(32852) }, JumpIf { condition: Relative(13), location: 650 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, JumpIf { condition: Relative(14), location: 656 }, Jump { location: 658 }, Mov { destination: Relative(15), source: Relative(21) }, Jump { location: 660 }, Mov { destination: Relative(15), source: Relative(9) }, Jump { location: 660 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, JumpIf { condition: Relative(16), location: 666 }, Jump { location: 668 }, Mov { destination: Relative(17), source: Relative(21) }, Jump { location: 670 }, Mov { destination: Relative(17), source: Relative(10) }, Jump { location: 670 }, BinaryIntOp { destination: Relative(13), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Xor, bit_size: U1, lhs: Relative(14), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 674 }, Jump { location: 676 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 688 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(10) }, Mov { destination: Relative(17), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1073 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 688 }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 700 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(10) }, Mov { destination: Relative(16), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1090 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 700 }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 712 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(10) }, Mov { destination: Relative(15), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1107 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 712 }, Store { destination_pointer: Relative(5), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(6) }, Jump { location: 631 }, Call { location: 43 }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 726 }, Call { location: 301 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(4), rhs: Direct(32849) }, Mov { destination: Relative(5), source: Direct(32837) }, Jump { location: 731 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 736 }, Jump { location: 734 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(5) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(6) }, JumpIf { condition: Relative(2), location: 757 }, Jump { location: 742 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(4), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 746 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(3) }, Mov { destination: Relative(14), source: Relative(9) }, Mov { destination: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1171 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 768 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(3) }, Mov { destination: Relative(14), source: Relative(9) }, Mov { destination: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1200 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 768 }, Store { destination_pointer: Relative(6), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 731 }, Call { location: 43 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(4), source_pointer: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 784 }, Call { location: 301 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(2), rhs: Direct(32845) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(2), rhs: Direct(32848) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, Mov { destination: Relative(3), source: Direct(32840) }, Jump { location: 791 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 796 }, Jump { location: 794 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, Load { destination: Relative(9), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(3) }, Load { destination: Relative(10), source_pointer: Relative(12) }, JumpIf { condition: Relative(4), location: 862 }, Jump { location: 802 }, JumpIf { condition: Relative(7), location: 850 }, Jump { location: 804 }, JumpIf { condition: Relative(8), location: 838 }, Jump { location: 806 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(2), rhs: Direct(32852) }, JumpIf { condition: Relative(13), location: 810 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, JumpIf { condition: Relative(14), location: 816 }, Jump { location: 818 }, Mov { destination: Relative(15), source: Relative(21) }, Jump { location: 820 }, Mov { destination: Relative(15), source: Relative(10) }, Jump { location: 820 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, JumpIf { condition: Relative(16), location: 826 }, Jump { location: 828 }, Mov { destination: Relative(17), source: Relative(21) }, Jump { location: 830 }, Mov { destination: Relative(17), source: Relative(9) }, Jump { location: 830 }, BinaryIntOp { destination: Relative(13), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Xor, bit_size: U1, lhs: Relative(14), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 834 }, Jump { location: 836 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 848 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(9) }, Mov { destination: Relative(17), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1073 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 848 }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 860 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(9) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1090 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 860 }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 872 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(9) }, Mov { destination: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1107 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 872 }, Store { destination_pointer: Relative(5), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 791 }, Call { location: 43 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 888 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32849) }, Mov { destination: Relative(4), source: Direct(32840) }, Jump { location: 893 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 898 }, Jump { location: 896 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, Load { destination: Relative(8), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(9), source_pointer: Relative(11) }, JumpIf { condition: Relative(5), location: 919 }, Jump { location: 904 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 908 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(8) }, Mov { destination: Relative(15), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1171 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 930 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(8) }, Mov { destination: Relative(15), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1200 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 930 }, Store { destination_pointer: Relative(6), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 893 }, Call { location: 43 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 941 }, Call { location: 301 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(3) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 951 }, Jump { location: 953 }, Mov { destination: Relative(7), source: Relative(13) }, Jump { location: 955 }, Mov { destination: Relative(7), source: Relative(3) }, Jump { location: 955 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Direct(32841) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Direct(32841) }, JumpIf { condition: Relative(8), location: 961 }, Jump { location: 963 }, Mov { destination: Relative(9), source: Relative(13) }, Jump { location: 965 }, Mov { destination: Relative(9), source: Direct(32841) }, Jump { location: 965 }, BinaryIntOp { destination: Relative(5), op: Div, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Xor, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 969 }, Jump { location: 971 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(11), rhs: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 980 }, Jump { location: 982 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 984 }, Mov { destination: Relative(8), source: Relative(6) }, Jump { location: 984 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Direct(32841) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Direct(32841) }, JumpIf { condition: Relative(9), location: 990 }, Jump { location: 992 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 994 }, Mov { destination: Relative(10), source: Direct(32841) }, Jump { location: 994 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 998 }, Jump { location: 1000 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 1008 }, Jump { location: 1010 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 1012 }, Mov { destination: Relative(8), source: Relative(6) }, Jump { location: 1012 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Direct(32841) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Direct(32841) }, JumpIf { condition: Relative(9), location: 1018 }, Jump { location: 1020 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 1022 }, Mov { destination: Relative(10), source: Direct(32841) }, Jump { location: 1022 }, BinaryIntOp { destination: Relative(1), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 1026 }, Jump { location: 1028 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Relative(1) }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Mov { destination: Relative(1), source: Relative(6) }, Return, Call { location: 43 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1051 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32837) }, Jump { location: 1055 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 1060 }, Jump { location: 1058 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 1055 }, Call { location: 43 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 1088 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(4) }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 1105 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(4) }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(8), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(2), rhs: Relative(8) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(9), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(8), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(8), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(1), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(7) }, Cast { destination: Relative(2), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(4), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(8), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(4), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(6), op: LessThanEquals, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(6), location: 1140 }, Call { location: 1232 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Direct(32853), rhs: Relative(4) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 1147 }, Call { location: 1229 }, Cast { destination: Relative(1), source: Relative(3), bit_size: Integer(U32) }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 1153 }, Jump { location: 1155 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 1170 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1167 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1160 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 1170 }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 1186 }, Call { location: 1229 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Mov { destination: Relative(3), source: Relative(2) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 1198 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 1215 }, Call { location: 1229 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Mov { destination: Relative(3), source: Relative(2) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 1227 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(3) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32856 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32854), size_address: Relative(2), offset_address: Relative(3) }, Mov { destination: Relative(1), source: Direct(32854) }, Call { location: 13 }, Call { location: 33 }, Mov { destination: Direct(32855), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32855 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32843), bit_size: Field, value: 13 }, Const { destination: Direct(32844), bit_size: Field, value: 15 }, Const { destination: Direct(32845), bit_size: Field, value: 17 }, Const { destination: Direct(32846), bit_size: Field, value: 19 }, Const { destination: Direct(32847), bit_size: Field, value: 21 }, Const { destination: Direct(32848), bit_size: Field, value: 23 }, Const { destination: Direct(32849), bit_size: Field, value: 25 }, Const { destination: Direct(32850), bit_size: Field, value: 27 }, Const { destination: Direct(32851), bit_size: Field, value: 29 }, Const { destination: Direct(32852), bit_size: Field, value: 33 }, Const { destination: Direct(32853), bit_size: Integer(U32), value: 2147483648 }, Return, Call { location: 43 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 49 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 48 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 43 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(2), source: Direct(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32838) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 68 }, Call { location: 301 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(2) }, Mov { destination: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 304 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(6) }, JumpIf { condition: Relative(1), location: 81 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 87 }, Call { location: 301 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(8), source: Direct(32841) }, Mov { destination: Relative(9), source: Direct(32844) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 351 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(7) }, JumpIf { condition: Relative(1), location: 101 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 107 }, Call { location: 301 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 7 }, Mov { destination: Relative(7), source: Direct(0) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Direct(32841) }, Mov { destination: Relative(10), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 399 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(8) }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 124 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, Mov { destination: Relative(11), source: Direct(32846) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(8) }, Call { location: 519 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(10) }, JumpIf { condition: Relative(6), location: 137 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 143 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Relative(1) }, Mov { destination: Relative(12), source: Direct(32841) }, Mov { destination: Relative(13), source: Direct(32847) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 566 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(11) }, JumpIf { condition: Relative(6), location: 157 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 163 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Direct(32835) }, Mov { destination: Relative(14), source: Direct(32848) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 614 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(12) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(11), location: 179 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(6) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 185 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(1) }, Mov { destination: Relative(15), source: Direct(32835) }, Mov { destination: Relative(16), source: Direct(32841) }, Mov { destination: Relative(17), source: Direct(32849) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 716 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(14) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 18 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(12) }, JumpIf { condition: Relative(13), location: 202 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(6) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 208 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 772 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(15) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(13), location: 222 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 228 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Direct(32841) }, Mov { destination: Relative(17), source: Direct(32851) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 876 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(15) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 244 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(6) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 250 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, Const { destination: Relative(6), bit_size: Field, value: 32 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(6) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 934 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(14), source: Relative(17) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(6) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 267 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 17 }, Mov { destination: Relative(17), source: Direct(0) }, Mov { destination: Relative(18), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(16) }, Call { location: 1041 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(18) }, JumpIf { condition: Relative(6), location: 280 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Direct(32841) }, Mov { destination: Relative(19), source: Direct(32852) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 399 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(17) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(6) }, Mov { destination: Relative(18), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1041 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(17) }, JumpIf { condition: Relative(1), location: 300 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 43 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32836) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 314 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Direct(32843) }, Mov { destination: Relative(3), source: Direct(32837) }, Jump { location: 319 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 324 }, Jump { location: 322 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(4) }, JumpIf { condition: Relative(5), location: 340 }, Jump { location: 330 }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(2), rhs: Direct(32846) }, JumpIf { condition: Relative(9), location: 334 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32838), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 346 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32841), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 346 }, BinaryIntOp { destination: Relative(7), op: Or, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 319 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 361 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32844) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 366 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 371 }, Jump { location: 369 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 388 }, Jump { location: 377 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32847) }, JumpIf { condition: Relative(10), location: 381 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, Mov { destination: Relative(7), source: Relative(8) }, Jump { location: 394 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 394 }, BinaryIntOp { destination: Relative(8), op: Or, bit_size: U1, lhs: Relative(9), rhs: Relative(7) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 366 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 420 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32845) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(3), rhs: Direct(32848) }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 427 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 432 }, Jump { location: 430 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(4) }, Load { destination: Relative(10), source_pointer: Relative(12) }, JumpIf { condition: Relative(5), location: 497 }, Jump { location: 437 }, JumpIf { condition: Relative(8), location: 485 }, Jump { location: 439 }, JumpIf { condition: Relative(9), location: 473 }, Jump { location: 441 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(3), rhs: Direct(32852) }, JumpIf { condition: Relative(13), location: 445 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, JumpIf { condition: Relative(14), location: 451 }, Jump { location: 453 }, Mov { destination: Relative(15), source: Relative(21) }, Jump { location: 455 }, Mov { destination: Relative(15), source: Relative(10) }, Jump { location: 455 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, JumpIf { condition: Relative(16), location: 461 }, Jump { location: 463 }, Mov { destination: Relative(17), source: Relative(21) }, Jump { location: 465 }, Mov { destination: Relative(17), source: Relative(2) }, Jump { location: 465 }, BinaryIntOp { destination: Relative(13), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Xor, bit_size: U1, lhs: Relative(14), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 469 }, Jump { location: 471 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 483 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(2) }, Mov { destination: Relative(17), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1073 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 483 }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 495 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(2) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1090 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 495 }, Mov { destination: Relative(7), source: Relative(11) }, Jump { location: 507 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(2) }, Mov { destination: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1107 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(7), source: Relative(11) }, Jump { location: 507 }, Load { destination: Relative(10), source_pointer: Relative(6) }, Mov { destination: Direct(32771), source: Relative(10) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 4 }, Call { location: 1149 }, Mov { destination: Relative(11), source: Direct(32773) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(4) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(6), source: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 427 }, Call { location: 43 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 529 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Direct(32843) }, Mov { destination: Relative(3), source: Direct(32837) }, Jump { location: 534 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 539 }, Jump { location: 537 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(4) }, JumpIf { condition: Relative(5), location: 555 }, Jump { location: 545 }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(2), rhs: Direct(32846) }, JumpIf { condition: Relative(9), location: 549 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32838), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 561 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Direct(32841), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Mov { destination: Relative(6), source: Relative(9) }, Jump { location: 561 }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 534 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, Load { destination: Relative(6), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 576 }, Call { location: 301 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32844) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 581 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 586 }, Jump { location: 584 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 603 }, Jump { location: 592 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32847) }, JumpIf { condition: Relative(10), location: 596 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, Mov { destination: Relative(7), source: Relative(8) }, Jump { location: 609 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 609 }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(7) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 581 }, Call { location: 43 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 624 }, Call { location: 301 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(3), rhs: Direct(32845) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(3), rhs: Direct(32848) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32837) }, Jump { location: 631 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 636 }, Jump { location: 634 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(9), source_pointer: Relative(11) }, Load { destination: Relative(10), source_pointer: Relative(5) }, JumpIf { condition: Relative(2), location: 702 }, Jump { location: 642 }, JumpIf { condition: Relative(7), location: 690 }, Jump { location: 644 }, JumpIf { condition: Relative(8), location: 678 }, Jump { location: 646 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(3), rhs: Direct(32852) }, JumpIf { condition: Relative(13), location: 650 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, JumpIf { condition: Relative(14), location: 656 }, Jump { location: 658 }, Mov { destination: Relative(15), source: Relative(21) }, Jump { location: 660 }, Mov { destination: Relative(15), source: Relative(9) }, Jump { location: 660 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, JumpIf { condition: Relative(16), location: 666 }, Jump { location: 668 }, Mov { destination: Relative(17), source: Relative(21) }, Jump { location: 670 }, Mov { destination: Relative(17), source: Relative(10) }, Jump { location: 670 }, BinaryIntOp { destination: Relative(13), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Xor, bit_size: U1, lhs: Relative(14), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 674 }, Jump { location: 676 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 688 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(10) }, Mov { destination: Relative(17), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1073 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 688 }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 700 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(10) }, Mov { destination: Relative(16), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1090 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 700 }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 712 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(10) }, Mov { destination: Relative(15), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1107 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 712 }, Store { destination_pointer: Relative(5), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(6) }, Jump { location: 631 }, Call { location: 43 }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 726 }, Call { location: 301 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(4), rhs: Direct(32849) }, Mov { destination: Relative(5), source: Direct(32837) }, Jump { location: 731 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 736 }, Jump { location: 734 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(5) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(6) }, JumpIf { condition: Relative(2), location: 757 }, Jump { location: 742 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(4), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 746 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(3) }, Mov { destination: Relative(14), source: Relative(9) }, Mov { destination: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1171 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 768 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(3) }, Mov { destination: Relative(14), source: Relative(9) }, Mov { destination: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1200 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 768 }, Store { destination_pointer: Relative(6), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 731 }, Call { location: 43 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(4), source_pointer: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 784 }, Call { location: 301 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(2), rhs: Direct(32845) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(2), rhs: Direct(32848) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, Mov { destination: Relative(3), source: Direct(32840) }, Jump { location: 791 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(6), location: 796 }, Jump { location: 794 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, Load { destination: Relative(9), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(3) }, Load { destination: Relative(10), source_pointer: Relative(12) }, JumpIf { condition: Relative(4), location: 862 }, Jump { location: 802 }, JumpIf { condition: Relative(7), location: 850 }, Jump { location: 804 }, JumpIf { condition: Relative(8), location: 838 }, Jump { location: 806 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(2), rhs: Direct(32852) }, JumpIf { condition: Relative(13), location: 810 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, JumpIf { condition: Relative(14), location: 816 }, Jump { location: 818 }, Mov { destination: Relative(15), source: Relative(21) }, Jump { location: 820 }, Mov { destination: Relative(15), source: Relative(10) }, Jump { location: 820 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, JumpIf { condition: Relative(16), location: 826 }, Jump { location: 828 }, Mov { destination: Relative(17), source: Relative(21) }, Jump { location: 830 }, Mov { destination: Relative(17), source: Relative(9) }, Jump { location: 830 }, BinaryIntOp { destination: Relative(13), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Xor, bit_size: U1, lhs: Relative(14), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 834 }, Jump { location: 836 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 848 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(9) }, Mov { destination: Relative(17), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1073 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(12), source: Relative(13) }, Jump { location: 848 }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 860 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(9) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1090 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(12) }, Jump { location: 860 }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 872 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(9) }, Mov { destination: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1107 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(6), source: Relative(11) }, Jump { location: 872 }, Store { destination_pointer: Relative(5), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 791 }, Call { location: 43 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 888 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32849) }, Mov { destination: Relative(4), source: Direct(32840) }, Jump { location: 893 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(7), location: 898 }, Jump { location: 896 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, Load { destination: Relative(8), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(9), source_pointer: Relative(11) }, JumpIf { condition: Relative(5), location: 919 }, Jump { location: 904 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 908 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(8) }, Mov { destination: Relative(15), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1171 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 930 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(8) }, Mov { destination: Relative(15), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1200 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(13) }, Mov { destination: Relative(7), source: Relative(10) }, Jump { location: 930 }, Store { destination_pointer: Relative(6), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 893 }, Call { location: 43 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 941 }, Call { location: 301 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(3) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 951 }, Jump { location: 953 }, Mov { destination: Relative(7), source: Relative(13) }, Jump { location: 955 }, Mov { destination: Relative(7), source: Relative(3) }, Jump { location: 955 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Direct(32841) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Direct(32841) }, JumpIf { condition: Relative(8), location: 961 }, Jump { location: 963 }, Mov { destination: Relative(9), source: Relative(13) }, Jump { location: 965 }, Mov { destination: Relative(9), source: Direct(32841) }, Jump { location: 965 }, BinaryIntOp { destination: Relative(5), op: Div, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Xor, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 969 }, Jump { location: 971 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(11), rhs: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 980 }, Jump { location: 982 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 984 }, Mov { destination: Relative(8), source: Relative(6) }, Jump { location: 984 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Direct(32841) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Direct(32841) }, JumpIf { condition: Relative(9), location: 990 }, Jump { location: 992 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 994 }, Mov { destination: Relative(10), source: Direct(32841) }, Jump { location: 994 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 998 }, Jump { location: 1000 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 1008 }, Jump { location: 1010 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 1012 }, Mov { destination: Relative(8), source: Relative(6) }, Jump { location: 1012 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Direct(32841) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Relative(13), rhs: Direct(32841) }, JumpIf { condition: Relative(9), location: 1018 }, Jump { location: 1020 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 1022 }, Mov { destination: Relative(10), source: Direct(32841) }, Jump { location: 1022 }, BinaryIntOp { destination: Relative(1), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 1026 }, Jump { location: 1028 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(12), rhs: Relative(1) }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Mov { destination: Relative(1), source: Relative(6) }, Return, Call { location: 43 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1051 }, Call { location: 301 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32837) }, Jump { location: 1055 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 1060 }, Jump { location: 1058 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 1055 }, Call { location: 43 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 1088 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(4) }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 1105 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(4) }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(8), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(2), rhs: Relative(8) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(9), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(8), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(8), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(1), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(7) }, Cast { destination: Relative(2), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(4), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(8), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(4), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(6), op: LessThanEquals, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(6), location: 1140 }, Call { location: 1232 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Direct(32853), rhs: Relative(4) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 1147 }, Call { location: 1232 }, Cast { destination: Relative(1), source: Relative(3), bit_size: Integer(U32) }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 1153 }, Jump { location: 1155 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 1170 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1167 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1160 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 1170 }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 1186 }, Call { location: 1229 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Mov { destination: Relative(3), source: Relative(2) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 1198 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Call { location: 43 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 1215 }, Call { location: 1229 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Mov { destination: Relative(3), source: Relative(2) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Direct(32853) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 1227 }, Call { location: 1229 }, Mov { destination: Relative(1), source: Relative(3) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "tdvdbhw3Eobhe5ljHTSLZBXpWwmCQHGUQIAgG4q9wMLwvS+L5FujACtH6UFOXI+l4cfunmL/zNjfLr89/Pr1j18en3//9Oflw0/fLr++PD49Pf7xy9Onj/dfHj89j59+uxz+Ry6XD+nukusquoqt0lbplw9ydynHLHWUPEpaRVbJq5RV6iq6iq3SVumz6ErRlaIrRVeKrhRdKbpSdKXoStGVYiOljJJWkVXyKmWVuoquYquMlDpKn6Udq6RVZJW8SlmlrqKr2CorpY0Uvbv0Y5W0iqySVymr1FV0FVtlpNgofZZ0HLumXWXXvGvZte6qu9qubdeR10ZNx65pV9k171p2rbvqrrZr23Xnyc6TnSc7T3ae7DzZeTLyulfbte3aV83HrmlX2TXv6v15OCpQYKCBvuG9upCAgAxILp6cHAoMNNA3vP0XEhCQgSeLowIFBhroG74kFhIQkAHJvjhSdigw0EDf8GWykICADDy5OCpQYKCBvuFLZyEBARmQ3EhuJPtCStXRQN/w5bSQgIAMCqhAgSero4G+IL7CFhIQkEEBFSgw0ADJvtaSORIQkEEBFSgw4MnN0Td81S0kICCDAipQYIBkIdnXX+qOBARkUEAFCgw04FeLsaxkXi8mEhCQQQEVKDDQAMmV5Eqyr0FJjgwKqECBgQb6hq/BhQRIVpKVZCVZSVaSlWRfgzIWrPgaXEhAQAYFVKDAQAMk+xqU7EhAQAYFVKDAQAOePJan+BpcSEBABgVUoMBAAzs5+7KS6lBgwF+sjr7hy2ohAQEZFFCBJ5uDHF8y0hy8WHixr5QF2/B1MYf7ulgQkIHndEcFCmzDV0E+HAkIyED3hs2en2gb8/5q3p9lUAAbX9n4ysZXjmFl35VjqBxD5Rgqu6PkzKb12Y0XGy82DrhxDGdn+vDZmRN9o3EMvTOzOARkUEAFfouXHX3D+3AhgbK3cHbdxD6GxU/vuTgSEJBBARUoMNBA30gkJ5ITyYlk78NcHRUoMNBA3/DT+0ICnqyODAogx1s0m8Nf7PvunblQNmbX+ahCYCGwEOjn3twdCgw00Dfm7f9EAgIyKIDkSnIluZJcSVaSlWQlWUlWkpVkJVlJVpKVZCPZ2Hdj3/1Mu6DAQAN9w/t5gVGNUY1RjVGNUZ1Rnfei8150RnVG9T2qHgdIQEAGBRhoqyXqbFpHOkACAjIooALd8M4syZGAAH/O8gdC78yFChQYaKBvePcuePJ8hiTHT56lOHhx4cXezwsC6h7u3btgoAHPqf5geoAEBHiOH0Pv1QUDbcM7c26Yd+ZCBv5iP2Lefgt9w9h4Y+ONjTeOobHvxjE0jqFxDI3daeT4yXPO3nhx48WNA944ht51c7hfuxcK4Bj6WbQ0h4EG+oJ6Zy54TncUUIGCvrZQvQ8XEvBn6sOhwIA/WSdH3/A+XEhAQAYFVODJ4jDQNjI53nXrJ8pPDLAZmc0oBBYCC4HeYxPeY3V+fpGAgAwKqECBgQb6hpKsJCvJSrKSrCQryUqykqwkG8lGspFsJBvJRrKx78a+z49SJhIQkAEHfH6o4uiM6ozqjOqM6ozqMYr3ou/3wg4BGRRQgYIY1cDeC0vkJHJmZ85PmhroG3Sm0ZlGZxqdaXSm0ZkmCgywGXSm0ZlGZxqdaXSm0ZlW2ObCNheGF/ad7jW61+heo3utHiABkivJleRKTiWnkqPkKDlKjpKj5ChbqOQoObP91FFABQoM+HBz9I3ZkBMJCMiggAo8uTkMtI1OzmzI+RPlJ/7i7migL7RjB7bDQAN9w8+QejgSEJBBARUoMNBA3xCShWQhWUgWkoVkIVlIFpKF5ExyJjmTnEnOJGeSM/ue2Xe/vi8kICCDAupGZVRlVGVUZVRlVI1RvBeV90IZpYxSRimjlFEao9gLZS+MHCOHzmyzMyf6xuzMiQR2ZzY6s9GZjc5sTYGBBnbPt85h6eR0Nr7zYjqz+9V8IYG97/2oQIGBBva+93SABARkQHIiOZGcyBFyhBwhR8gRcoQcIUfYwkxOJifvJ7KeFRhoYD+R9XKABATsh6xeCvDP4g+HAgMN9A1v2oUEBGRQAMmV5EpyJbmSrCQryUqykqwkK8lKspKsJCvJRrLfHsxdNgEcDSPZSDaSjWQj2UhuJDe2ubHNjW1uJDeSG8mN5EZyI7mT3EnuJHeSO8md5E5yJ7mT3Hfy+IrmWPs8lEISv82hEqohDVmohWKOdIRSKOZIMUeKOVLMkWKOFHOkmCPFHBJzSMwhMYfEHBJzSMwhMYfEHLKfPoc64kOKoRSSUA6VUA1pyEIxR4mUEiklUnxNapnSkIVaqCNfmFspJKHI84Wn/h3DoTHCV5zqlIRyyK+A68u6GtKQb1WfuiZ35Etvy1PSVA1pyEIt1JEvs60UklAOxRwt5mgxR4s55l3QfM/nnfpSDpVQDWnIQi3Ut+b3n1spJKEcKiF/Ql3qaD5tLqWQhHKohGpIQxaKOVLMITGHxBwSc0jMITGHxBwSc0jMITGHxBw55sgxR445csyRY44cc+SYI8ccOebIMUeJOUrMUWKOEnOUmKPEHCXmKDGHXxpUpnKohGpIQxZqoY5m7y6lUMzRYo4Wc7SYY/ZunrJQC3U0v7xfSiEJ5VAJ1VDM0ZljfrVY65SEcqiEakhDFmqhjuZ91lLMkWKOFHOkmGPebJUpDVmohTqa92BLKSShHCqhmGPeiZXv3+8u/FuTX768PDz4PzV59Y9Pfvp2+Xz/8vD85fLh+evT093lP/dPX+eL/vx8/zzrl/uX8dvRUQ/Pv406An9/fHpwfb+7jj7eHtr9w7c5eNzIxPD6/vFWGd/kxHjvvh3g7XcmYfQRCeNNvjVB8qmEbJFQ2q0Jmk4l9NiLfJw6DrlcE+pxa8K5vcjRUOM8XG5N6Kfei+L/2GMllHP98Dqh6KkEPSLBjlsT+pm1nep1L8bXFrcmlHMJ/ri9EyzdmtDPnGHGJYaOGteYcmPCuHU6k5DyEQm535qg585y6XqOkjNnmPEVHgmjJa/vZn5vwPiij4YaX/W1MwGH/n2Afx//9vmlXs8v+ubK/GHEzQdy3CXn6+Xi3Ebk1q/nSTu3H+/aih/tx3gQI+HoJ97PsZpiE8at9JmAfn0vDjsT0GIX0quzwz/Zgn7dAn0jwL+5fntp+3eFe2nXc5fdI45CTucuu+9aFj86OdTEXgye6IVSyxEBtZ4JyPnvA/w74BuPwg8jbj85vG9l/3g/bo+4/eRQcok7mFPXvHy9Bxo8sTZz6exEHvcybwT4d3D/4tosLV1v5OTWhHbm9iNfL9y5nznJlSNx3S3jY9EzAbGyyrhonAmw4xrw1onevwT5F9/K6wlm8NSzSbXr3ey556PXCf3UuhxfNpDwuhnq+2+Hjx431K8X9vsD0jXgVTf9g4DrzfDx+o04twVv7YK2Hz6XtP/7ZPP+y/4RNw7jE6+/9sLP42/3Hx9f/vKfmb571svj/a9PD/uvv399/vjqt1/++5nf8J+hPr98+vjw29eXB0+6/o+o8cdP4/PMfjfuuo6f/dPp8YNxOSjN/5L8t5LlbvxRfv7um/M/", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_0.snap index 49da860585d..47170cbda0a 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_0.snap @@ -48,7 +48,7 @@ expression: artifact "return value indices : [_1]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32843), size_address: Relative(2), offset_address: Relative(3) }, Mov { destination: Relative(1), source: Direct(32843) }, Call { location: 13 }, Call { location: 22 }, Mov { destination: Direct(32844), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32840), bit_size: Field, value: 17 }, Const { destination: Direct(32841), bit_size: Field, value: 33 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 2147483648 }, Return, Call { location: 32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 38 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 37 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 59 }, Call { location: 510 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Direct(32840) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 513 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(9) }, Load { destination: Relative(7), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 76 }, Call { location: 510 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(10) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(14) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32839) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(16) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, JumpIf { condition: Relative(9), location: 100 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, JumpIf { condition: Relative(10), location: 103 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, JumpIf { condition: Relative(13), location: 106 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 112 }, Call { location: 510 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Direct(32837) }, Load { destination: Relative(10), source_pointer: Relative(4) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 123 }, Call { location: 510 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(10) }, Mov { destination: Relative(1), source: Direct(32836) }, Jump { location: 127 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 496 }, Jump { location: 130 }, Load { destination: Relative(6), source_pointer: Relative(2) }, JumpIf { condition: Relative(6), location: 134 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 140 }, Call { location: 510 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Direct(32835) }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 151 }, Call { location: 510 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Direct(32836) }, Jump { location: 155 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 474 }, Jump { location: 158 }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, JumpIf { condition: Relative(8), location: 164 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 170 }, Call { location: 510 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Direct(32835) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 181 }, Call { location: 510 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Mov { destination: Relative(1), source: Direct(32836) }, Jump { location: 185 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(8), location: 443 }, Jump { location: 188 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 18 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, JumpIf { condition: Relative(9), location: 194 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 200 }, Call { location: 510 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 211 }, Call { location: 510 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Mov { destination: Relative(1), source: Direct(32838) }, Jump { location: 215 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(8), location: 421 }, Jump { location: 218 }, Load { destination: Relative(8), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 223 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 229 }, Call { location: 510 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 240 }, Call { location: 510 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Direct(32838) }, Jump { location: 244 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 390 }, Jump { location: 247 }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 253 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Load { destination: Relative(1), source_pointer: Relative(4) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 259 }, Call { location: 510 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(7) }, JumpIf { condition: Relative(6), location: 267 }, Jump { location: 269 }, Mov { destination: Relative(8), source: Relative(16) }, Jump { location: 271 }, Mov { destination: Relative(8), source: Relative(7) }, Jump { location: 271 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(9), location: 277 }, Jump { location: 279 }, Mov { destination: Relative(10), source: Relative(16) }, Jump { location: 281 }, Mov { destination: Relative(10), source: Relative(3) }, Jump { location: 281 }, BinaryIntOp { destination: Relative(1), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, JumpIf { condition: Relative(13), location: 285 }, Jump { location: 287 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(11) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 293 }, Jump { location: 295 }, Mov { destination: Relative(8), source: Relative(16) }, Jump { location: 297 }, Mov { destination: Relative(8), source: Relative(11) }, Jump { location: 297 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(9), location: 303 }, Jump { location: 305 }, Mov { destination: Relative(10), source: Relative(16) }, Jump { location: 307 }, Mov { destination: Relative(10), source: Relative(3) }, Jump { location: 307 }, BinaryIntOp { destination: Relative(6), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(13), location: 311 }, Jump { location: 313 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(12) }, JumpIf { condition: Relative(8), location: 319 }, Jump { location: 321 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 323 }, Mov { destination: Relative(9), source: Relative(12) }, Jump { location: 323 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(10), location: 329 }, Jump { location: 331 }, Mov { destination: Relative(11), source: Relative(16) }, Jump { location: 333 }, Mov { destination: Relative(11), source: Relative(3) }, Jump { location: 333 }, BinaryIntOp { destination: Relative(7), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(8), rhs: Relative(10) }, JumpIf { condition: Relative(13), location: 337 }, Jump { location: 339 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(7) }, Mov { destination: Relative(8), source: Direct(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 356 }, Call { location: 510 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(8) }, Mov { destination: Relative(11), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 674 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(10) }, JumpIf { condition: Relative(1), location: 369 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(4) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Direct(32841) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 513 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(9) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 7 }, Mov { destination: Relative(7), source: Direct(0) }, Mov { destination: Relative(8), source: Relative(1) }, Mov { destination: Relative(9), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 674 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(8) }, JumpIf { condition: Relative(3), location: 389 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Load { destination: Relative(6), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(1) }, Load { destination: Relative(8), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(10), source: Relative(9) }, Cast { destination: Relative(9), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(6), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, JumpIf { condition: Relative(9), location: 408 }, Call { location: 706 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, Mov { destination: Relative(8), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(13) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(13) }, JumpIf { condition: Relative(6), location: 417 }, Call { location: 706 }, Store { destination_pointer: Relative(2), source: Relative(8) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(6) }, Jump { location: 244 }, Load { destination: Relative(8), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(1) }, Load { destination: Relative(9), source_pointer: Relative(13) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(9) }, Mov { destination: Relative(13), source: Relative(10) }, Cast { destination: Relative(10), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(14), source: Relative(8), bit_size: Integer(U32) }, Cast { destination: Relative(8), source: Relative(9), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 439 }, Call { location: 706 }, Store { destination_pointer: Relative(6), source: Relative(13) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(8) }, Jump { location: 215 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(1) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Mov { destination: Relative(13), source: Relative(10) }, Cast { destination: Relative(10), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(14), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(9), source: Relative(8), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 461 }, Call { location: 706 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(3) }, Mov { destination: Relative(9), source: Relative(8) }, Cast { destination: Relative(8), source: Relative(9), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(14) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(14) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(14) }, JumpIf { condition: Relative(8), location: 470 }, Call { location: 706 }, Store { destination_pointer: Relative(6), source: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(8) }, Jump { location: 185 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Mov { destination: Relative(10), source: Relative(9) }, Cast { destination: Relative(9), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(8), bit_size: Integer(U32) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(9), location: 492 }, Call { location: 706 }, Store { destination_pointer: Relative(2), source: Relative(10) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(6) }, Jump { location: 155 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(2) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(14) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(13) }, Not { destination: Relative(6), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, Store { destination_pointer: Relative(2), source: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(6) }, Jump { location: 127 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 32 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 534 }, Call { location: 510 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32840) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Field }, Const { destination: Relative(9), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(9), rhs: Relative(8) }, Const { destination: Relative(11), bit_size: Field, value: 23 }, BinaryFieldOp { destination: Relative(12), op: Equals, lhs: Relative(3), rhs: Relative(11) }, Const { destination: Relative(11), bit_size: Field, value: 27 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(3), rhs: Relative(11) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 546 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32839) }, JumpIf { condition: Relative(7), location: 551 }, Jump { location: 549 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, Load { destination: Relative(11), source_pointer: Relative(15) }, Cast { destination: Relative(14), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(15), source: Relative(11), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 625 }, Jump { location: 562 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, Mov { destination: Relative(20), source: Relative(15) }, JumpIf { condition: Relative(12), location: 612 }, Jump { location: 566 }, JumpIf { condition: Relative(13), location: 600 }, Jump { location: 568 }, BinaryFieldOp { destination: Relative(16), op: Equals, lhs: Relative(3), rhs: Direct(32841) }, JumpIf { condition: Relative(16), location: 572 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(22), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(22), rhs: Relative(11) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Sub, bit_size: U32, lhs: Relative(23), rhs: Relative(11) }, JumpIf { condition: Relative(17), location: 578 }, Jump { location: 580 }, Mov { destination: Relative(18), source: Relative(24) }, Jump { location: 582 }, Mov { destination: Relative(18), source: Relative(11) }, Jump { location: 582 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Sub, bit_size: U32, lhs: Relative(23), rhs: Relative(2) }, JumpIf { condition: Relative(19), location: 588 }, Jump { location: 590 }, Mov { destination: Relative(20), source: Relative(24) }, Jump { location: 592 }, Mov { destination: Relative(20), source: Relative(2) }, Jump { location: 592 }, BinaryIntOp { destination: Relative(16), op: Div, bit_size: U32, lhs: Relative(18), rhs: Relative(20) }, BinaryIntOp { destination: Relative(21), op: Xor, bit_size: U1, lhs: Relative(17), rhs: Relative(19) }, JumpIf { condition: Relative(21), location: 596 }, Jump { location: 598 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(22), rhs: Relative(16) }, Mov { destination: Relative(15), source: Relative(16) }, Jump { location: 610 }, Cast { destination: Relative(11), source: Relative(20), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U1, lhs: Relative(18), rhs: Relative(19) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(18) }, BinaryIntOp { destination: Relative(17), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(16) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(16) }, JumpIf { condition: Relative(11), location: 608 }, Call { location: 706 }, Mov { destination: Relative(15), source: Relative(20) }, Jump { location: 610 }, Mov { destination: Relative(14), source: Relative(15) }, Jump { location: 623 }, Mov { destination: Relative(11), source: Relative(15) }, Cast { destination: Relative(15), source: Relative(11), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U1, lhs: Relative(16), rhs: Relative(17) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(16) }, BinaryIntOp { destination: Relative(16), op: Mul, bit_size: U1, lhs: Relative(15), rhs: Relative(18) }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U1, lhs: Relative(16), rhs: Relative(18) }, JumpIf { condition: Relative(15), location: 621 }, Call { location: 706 }, Mov { destination: Relative(14), source: Relative(11) }, Jump { location: 623 }, Mov { destination: Relative(7), source: Relative(14) }, Jump { location: 662 }, BinaryIntOp { destination: Relative(16), op: Mul, bit_size: U32, lhs: Relative(11), rhs: Relative(2) }, Cast { destination: Relative(17), source: Relative(16), bit_size: Integer(U64) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Integer(U32) }, Cast { destination: Relative(16), source: Relative(18), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(15), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(18), source: Relative(17), bit_size: U1 }, Cast { destination: Relative(19), source: Relative(11), bit_size: Field }, Cast { destination: Relative(11), source: Relative(17), bit_size: Field }, BinaryFieldOp { destination: Relative(17), op: Mul, lhs: Relative(11), rhs: Relative(19) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(9), rhs: Relative(19) }, Cast { destination: Relative(19), source: Relative(18), bit_size: Field }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(19), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(17), rhs: Relative(18) }, Not { destination: Relative(17), source: Relative(15), bit_size: U1 }, Cast { destination: Relative(18), source: Relative(15), bit_size: Field }, BinaryFieldOp { destination: Relative(15), op: Mul, lhs: Relative(18), rhs: Relative(8) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Field }, BinaryFieldOp { destination: Relative(17), op: Mul, lhs: Relative(18), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(18), op: Add, lhs: Relative(15), rhs: Relative(17) }, BinaryFieldOp { destination: Relative(15), op: Mul, lhs: Relative(11), rhs: Relative(18) }, Cast { destination: Relative(11), source: Relative(15), bit_size: Field }, Const { destination: Relative(17), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(18), op: LessThanEquals, lhs: Relative(11), rhs: Relative(17) }, JumpIf { condition: Relative(18), location: 652 }, Call { location: 709 }, Cast { destination: Relative(11), source: Relative(15), bit_size: Integer(U32) }, Not { destination: Relative(15), source: Relative(14), bit_size: U1 }, Cast { destination: Relative(14), source: Relative(15), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Direct(32842), rhs: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(15) }, JumpIf { condition: Relative(14), location: 659 }, Call { location: 706 }, Cast { destination: Relative(11), source: Relative(16), bit_size: Integer(U32) }, Mov { destination: Relative(7), source: Relative(11) }, Jump { location: 662 }, Load { destination: Relative(11), source_pointer: Relative(6) }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 4 }, Call { location: 712 }, Mov { destination: Relative(14), source: Direct(32773) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(4) }, Store { destination_pointer: Relative(16), source: Relative(7) }, Store { destination_pointer: Relative(6), source: Relative(14) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 546 }, Call { location: 32 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32837) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 684 }, Call { location: 510 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32836) }, Jump { location: 688 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, JumpIf { condition: Relative(5), location: 693 }, Jump { location: 691 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 688 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 716 }, Jump { location: 718 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 733 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 730 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 723 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 733 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32843), size_address: Relative(2), offset_address: Relative(3) }, Mov { destination: Relative(1), source: Direct(32843) }, Call { location: 13 }, Call { location: 22 }, Mov { destination: Direct(32844), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32840), bit_size: Field, value: 17 }, Const { destination: Direct(32841), bit_size: Field, value: 33 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 2147483648 }, Return, Call { location: 32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 38 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 37 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 59 }, Call { location: 510 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Direct(32840) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 513 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(9) }, Load { destination: Relative(7), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 76 }, Call { location: 510 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(10) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(14) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32839) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(16) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, JumpIf { condition: Relative(9), location: 100 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, JumpIf { condition: Relative(10), location: 103 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, JumpIf { condition: Relative(13), location: 106 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 112 }, Call { location: 510 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Direct(32837) }, Load { destination: Relative(10), source_pointer: Relative(4) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 123 }, Call { location: 510 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(10) }, Mov { destination: Relative(1), source: Direct(32836) }, Jump { location: 127 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 496 }, Jump { location: 130 }, Load { destination: Relative(6), source_pointer: Relative(2) }, JumpIf { condition: Relative(6), location: 134 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 140 }, Call { location: 510 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Direct(32835) }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 151 }, Call { location: 510 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Direct(32836) }, Jump { location: 155 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 474 }, Jump { location: 158 }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, JumpIf { condition: Relative(8), location: 164 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 170 }, Call { location: 510 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Direct(32835) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 181 }, Call { location: 510 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Mov { destination: Relative(1), source: Direct(32836) }, Jump { location: 185 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(8), location: 443 }, Jump { location: 188 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 18 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, JumpIf { condition: Relative(9), location: 194 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 200 }, Call { location: 510 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 211 }, Call { location: 510 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Mov { destination: Relative(1), source: Direct(32838) }, Jump { location: 215 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(8), location: 421 }, Jump { location: 218 }, Load { destination: Relative(8), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 223 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 229 }, Call { location: 510 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 240 }, Call { location: 510 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Direct(32838) }, Jump { location: 244 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 390 }, Jump { location: 247 }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 253 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Load { destination: Relative(1), source_pointer: Relative(4) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 259 }, Call { location: 510 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(7) }, JumpIf { condition: Relative(6), location: 267 }, Jump { location: 269 }, Mov { destination: Relative(8), source: Relative(16) }, Jump { location: 271 }, Mov { destination: Relative(8), source: Relative(7) }, Jump { location: 271 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(9), location: 277 }, Jump { location: 279 }, Mov { destination: Relative(10), source: Relative(16) }, Jump { location: 281 }, Mov { destination: Relative(10), source: Relative(3) }, Jump { location: 281 }, BinaryIntOp { destination: Relative(1), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, JumpIf { condition: Relative(13), location: 285 }, Jump { location: 287 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(11) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 293 }, Jump { location: 295 }, Mov { destination: Relative(8), source: Relative(16) }, Jump { location: 297 }, Mov { destination: Relative(8), source: Relative(11) }, Jump { location: 297 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(9), location: 303 }, Jump { location: 305 }, Mov { destination: Relative(10), source: Relative(16) }, Jump { location: 307 }, Mov { destination: Relative(10), source: Relative(3) }, Jump { location: 307 }, BinaryIntOp { destination: Relative(6), op: Div, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(13), location: 311 }, Jump { location: 313 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(12) }, JumpIf { condition: Relative(8), location: 319 }, Jump { location: 321 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 323 }, Mov { destination: Relative(9), source: Relative(12) }, Jump { location: 323 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(10), location: 329 }, Jump { location: 331 }, Mov { destination: Relative(11), source: Relative(16) }, Jump { location: 333 }, Mov { destination: Relative(11), source: Relative(3) }, Jump { location: 333 }, BinaryIntOp { destination: Relative(7), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(8), rhs: Relative(10) }, JumpIf { condition: Relative(13), location: 337 }, Jump { location: 339 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(7) }, Mov { destination: Relative(8), source: Direct(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 356 }, Call { location: 510 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(8) }, Mov { destination: Relative(11), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 674 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(10) }, JumpIf { condition: Relative(1), location: 369 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(4) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Direct(32841) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 513 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(9) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 7 }, Mov { destination: Relative(7), source: Direct(0) }, Mov { destination: Relative(8), source: Relative(1) }, Mov { destination: Relative(9), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 674 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(8) }, JumpIf { condition: Relative(3), location: 389 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Load { destination: Relative(6), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(1) }, Load { destination: Relative(8), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(10), source: Relative(9) }, Cast { destination: Relative(9), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(6), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, JumpIf { condition: Relative(9), location: 408 }, Call { location: 706 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, Mov { destination: Relative(8), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(13) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(13) }, JumpIf { condition: Relative(6), location: 417 }, Call { location: 706 }, Store { destination_pointer: Relative(2), source: Relative(8) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(6) }, Jump { location: 244 }, Load { destination: Relative(8), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(1) }, Load { destination: Relative(9), source_pointer: Relative(13) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(9) }, Mov { destination: Relative(13), source: Relative(10) }, Cast { destination: Relative(10), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(14), source: Relative(8), bit_size: Integer(U32) }, Cast { destination: Relative(8), source: Relative(9), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 439 }, Call { location: 706 }, Store { destination_pointer: Relative(6), source: Relative(13) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(8) }, Jump { location: 215 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(1) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Mov { destination: Relative(13), source: Relative(10) }, Cast { destination: Relative(10), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(14), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(9), source: Relative(8), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 461 }, Call { location: 706 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(3) }, Mov { destination: Relative(9), source: Relative(8) }, Cast { destination: Relative(8), source: Relative(9), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(14) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(14) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(14) }, JumpIf { condition: Relative(8), location: 470 }, Call { location: 706 }, Store { destination_pointer: Relative(6), source: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(8) }, Jump { location: 185 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Mov { destination: Relative(10), source: Relative(9) }, Cast { destination: Relative(9), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(8), bit_size: Integer(U32) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(9), location: 492 }, Call { location: 706 }, Store { destination_pointer: Relative(2), source: Relative(10) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(6) }, Jump { location: 155 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(9) }, Load { destination: Relative(8), source_pointer: Relative(2) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(14) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(13) }, Not { destination: Relative(6), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(6) }, Store { destination_pointer: Relative(2), source: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(6) }, Jump { location: 127 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 32 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 534 }, Call { location: 510 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32840) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Field }, Const { destination: Relative(9), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(9), rhs: Relative(8) }, Const { destination: Relative(11), bit_size: Field, value: 23 }, BinaryFieldOp { destination: Relative(12), op: Equals, lhs: Relative(3), rhs: Relative(11) }, Const { destination: Relative(11), bit_size: Field, value: 27 }, BinaryFieldOp { destination: Relative(13), op: Equals, lhs: Relative(3), rhs: Relative(11) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 546 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32839) }, JumpIf { condition: Relative(7), location: 551 }, Jump { location: 549 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, Load { destination: Relative(11), source_pointer: Relative(15) }, Cast { destination: Relative(14), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(15), source: Relative(11), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(16), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 625 }, Jump { location: 562 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, Mov { destination: Relative(20), source: Relative(15) }, JumpIf { condition: Relative(12), location: 612 }, Jump { location: 566 }, JumpIf { condition: Relative(13), location: 600 }, Jump { location: 568 }, BinaryFieldOp { destination: Relative(16), op: Equals, lhs: Relative(3), rhs: Direct(32841) }, JumpIf { condition: Relative(16), location: 572 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(22), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(22), rhs: Relative(11) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Sub, bit_size: U32, lhs: Relative(23), rhs: Relative(11) }, JumpIf { condition: Relative(17), location: 578 }, Jump { location: 580 }, Mov { destination: Relative(18), source: Relative(24) }, Jump { location: 582 }, Mov { destination: Relative(18), source: Relative(11) }, Jump { location: 582 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Sub, bit_size: U32, lhs: Relative(23), rhs: Relative(2) }, JumpIf { condition: Relative(19), location: 588 }, Jump { location: 590 }, Mov { destination: Relative(20), source: Relative(24) }, Jump { location: 592 }, Mov { destination: Relative(20), source: Relative(2) }, Jump { location: 592 }, BinaryIntOp { destination: Relative(16), op: Div, bit_size: U32, lhs: Relative(18), rhs: Relative(20) }, BinaryIntOp { destination: Relative(21), op: Xor, bit_size: U1, lhs: Relative(17), rhs: Relative(19) }, JumpIf { condition: Relative(21), location: 596 }, Jump { location: 598 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(22), rhs: Relative(16) }, Mov { destination: Relative(15), source: Relative(16) }, Jump { location: 610 }, Cast { destination: Relative(11), source: Relative(20), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U1, lhs: Relative(18), rhs: Relative(19) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(18) }, BinaryIntOp { destination: Relative(17), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(16) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(16) }, JumpIf { condition: Relative(11), location: 608 }, Call { location: 706 }, Mov { destination: Relative(15), source: Relative(20) }, Jump { location: 610 }, Mov { destination: Relative(14), source: Relative(15) }, Jump { location: 623 }, Mov { destination: Relative(11), source: Relative(15) }, Cast { destination: Relative(15), source: Relative(11), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U1, lhs: Relative(16), rhs: Relative(17) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(16) }, BinaryIntOp { destination: Relative(16), op: Mul, bit_size: U1, lhs: Relative(15), rhs: Relative(18) }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U1, lhs: Relative(16), rhs: Relative(18) }, JumpIf { condition: Relative(15), location: 621 }, Call { location: 706 }, Mov { destination: Relative(14), source: Relative(11) }, Jump { location: 623 }, Mov { destination: Relative(7), source: Relative(14) }, Jump { location: 662 }, BinaryIntOp { destination: Relative(16), op: Mul, bit_size: U32, lhs: Relative(11), rhs: Relative(2) }, Cast { destination: Relative(17), source: Relative(16), bit_size: Integer(U64) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Integer(U32) }, Cast { destination: Relative(16), source: Relative(18), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(15), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(15), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Direct(32842) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(18), source: Relative(17), bit_size: U1 }, Cast { destination: Relative(19), source: Relative(11), bit_size: Field }, Cast { destination: Relative(11), source: Relative(17), bit_size: Field }, BinaryFieldOp { destination: Relative(17), op: Mul, lhs: Relative(11), rhs: Relative(19) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(9), rhs: Relative(19) }, Cast { destination: Relative(19), source: Relative(18), bit_size: Field }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(19), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(17), rhs: Relative(18) }, Not { destination: Relative(17), source: Relative(15), bit_size: U1 }, Cast { destination: Relative(18), source: Relative(15), bit_size: Field }, BinaryFieldOp { destination: Relative(15), op: Mul, lhs: Relative(18), rhs: Relative(8) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Field }, BinaryFieldOp { destination: Relative(17), op: Mul, lhs: Relative(18), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(18), op: Add, lhs: Relative(15), rhs: Relative(17) }, BinaryFieldOp { destination: Relative(15), op: Mul, lhs: Relative(11), rhs: Relative(18) }, Cast { destination: Relative(11), source: Relative(15), bit_size: Field }, Const { destination: Relative(17), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(18), op: LessThanEquals, lhs: Relative(11), rhs: Relative(17) }, JumpIf { condition: Relative(18), location: 652 }, Call { location: 709 }, Cast { destination: Relative(11), source: Relative(15), bit_size: Integer(U32) }, Not { destination: Relative(15), source: Relative(14), bit_size: U1 }, Cast { destination: Relative(14), source: Relative(15), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Direct(32842), rhs: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Relative(15) }, JumpIf { condition: Relative(14), location: 659 }, Call { location: 709 }, Cast { destination: Relative(11), source: Relative(16), bit_size: Integer(U32) }, Mov { destination: Relative(7), source: Relative(11) }, Jump { location: 662 }, Load { destination: Relative(11), source_pointer: Relative(6) }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 4 }, Call { location: 712 }, Mov { destination: Relative(14), source: Direct(32773) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(4) }, Store { destination_pointer: Relative(16), source: Relative(7) }, Store { destination_pointer: Relative(6), source: Relative(14) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 546 }, Call { location: 32 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32837) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 684 }, Call { location: 510 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32836) }, Jump { location: 688 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, JumpIf { condition: Relative(5), location: 693 }, Jump { location: 691 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 688 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 716 }, Jump { location: 718 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 733 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 730 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 723 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 733 }, Return]" ], "debug_symbols": "pdrfbtu4EoDxd/F1LkTO8M/0VRZFkbbpIkCQFtnkAAdF3v1wOPrsHGCl9co35S+b+FuLJmXJye/T94evb39+eXz+8fOv06c/fp++vjw+PT3++eXp57f718efz+O//j4t/k+W06d0d8oaQ4mhxtBi6KdPeQw2BxmD3J10iSHFkGOQGDSGEkONocXQY4hKiUqJSolKGRUdg8ZQYqgxtBh6DDaHusQwKmUMOQaJQWMoMdQYWgw9BptDG5U2hhRDjkFi0BhKDDWGFkOPwebQR8XGkGLIMUgMUelR6VHpLb7XY7A5WFQsnovFc7GomMZQYqgx+Eu1jLGvo8WYlgUkkIEABQVU0EAHlBPlRDlRTpSTl7OjgAq8LI4ObEVeQAIZCFBAR/xR6vBHFUcGAhQUUEEDHdgKX+sByr7eU3MIUODl7qiggQ5sha//QAIZ0PG1nszhG9Bn1dd7IIEMBCgooIIGOqDcKDfKvg+yv16+EwIKvOwz7/sh0EAHtsL3RSCBDOj4Hsj+CvouyD7Pvg8CCWQgQEEBFTTQwVrOywIS8HJzCFDg5e6ooIEObIXvi0ACGdDxNZ/N4efBMc/Z13wggQwEKCigggY6oCyUfV+In8h9XwQEeFkcBVTQQAe2Yr4HTCRAZ57t1eGP8umdZ3zHPOdPJJCBPx+fcD/3BwqooIEObIXvi4CXfXp9XwQEKCigggY6sBW+LwKUG+VGuVFulBvlRrlRbpQ75U65U+6UO+VOuVPulDvlTtkoG2WjbJSNslE2ykbZKNtalmUBCWQgQEEBFTTQAeVEOVFOlBPlRDlRTpQT5UQ5Uc6UM+VMOVPOlDPlTDlTzpQzZaEslIWyUBbKQlkoC2Wh7PtLx4YV31+BBDIQoKCAChrogPLcg9WRQAYCFBRQQQNeTg5bMa/FJhLIQICCAipogLLvQfXrTt+DgQQyEKCggAoa8LI4bIXvwUACGQhQUEAFDVC29cQovvVUHRkI8GBxFFBBAx1YQH3rBRLIQICCAipowMvVYSt86wUSyECAggIqWE/4OreeI69vf+obTZtDgALvzJ+poIEObIVvtEACGQhQQFkoC2Wh7BvN34XVN1pA4lJEfVsFCqjAO/OHO7AVvq0CCWQgQEEBFVAulAvlSnne5CyODAQoKKCCBjqwFfOSz1+veck3oXHlqa2AChrwTnLYCt9EgQQyEKCggAoaoNwpG2Wj7LvJL4nVd1Ogxl2AWgMdrLcVxfdOmUggAwEKStxNlHkrNNFW+C4oEwVU0EAHtsLfgAIJZCCAcqacKWfKvi9KcdgK3xeBBDIQoKAAL1eHl5ujA1vh+2L+jL8BBTIQUNeg74LS/Ybdf9gcGQgYT6MujgIqaGA8jZoctsKXekBAX//vcxk7Gk+18VT93aFmhwAFBVTQQAe2whd2IAHKnXKn3Cl3yp1yp9wpG2WjbJSNslE2ykbZ1nL1he3TUn1hBzIQoKCACtoKP+H7S1D9hB9QUEAFDXRgK3ypB0ospDqX8UQDHayLrc5lPJFABgIUUBbKLOPKMq4s46qUlbJSVspKWSkrZaWslJVyoVwoF8qFcqFcKBfKhXKhXCjXdaPVeXrvDgUFVNBAB+tmrHNfTCTAwxsPbzx8Ln5x2Iq5+CcSyECAggLozIXtH80ZPzzX8/zQrYAKfEX5IfupO2CBNld4d6zBNlf4hJf1/f3uxIebX15fHh78s80Pn3aOz0B/3b88PL+ePj2/PT3dnf5z//Q2f+ivX/fPc3y9fxnfHcv24fn7GEfwx+PTg+v97vLoZfuh5pc088FW7fzwcv3jW+HxPR94/Pgkra6BwXakkIVDSOMm+lDBEoVxV3ikIHoplGWrULcL4+pL18JgPxfk+oAu50ApG4G+dwylnI+hLrfOwrFXQtrlOXTdKqS0l+h2Tlg7krjutdgv+J3UP70Y106E9SNTqYmnMD75lc15qHsJ0XNC7Ehi3NizKgd1ayp3C8ZxjBt/OTCVHydC66GpPB/E+Fx8c2fkvVU57jDOCctHEtdN5X7h5qn8MBF25O1i/M7g/GKMG4bNedhbENY534+PGDbnYe9UuSTec8YnEfVQ4XyuHB9P9AMz+XEetByayXI+z437h62CpFtncq9w3UzuF26eyQ/zYEcuIMavQ3gK4xcim286snemTPX8co5fOm3Nw27BLlcxS9sq9L3DMCZi/Drn4GH0fj6MzQVx5VSOOTnyYiRZzgWxWwtVjmyMsRKXy6LcfDF0b1W2y6rcvpC5OmHLkVPldcfhHyJuPwm5nKdk8zok65Vvfb3enNh+90x2+7VMuvUKu+Sbr033znbjHElhsSOny6vOVMutJ6qyd5YZv0w7z0LSYzeNt52nxqPschD1yEFct552E9ftrb1ETqrnc105dMdl/XwcH68ByvWn/OX8trN8nIjrA+kS+HAN8S8ClxP+8nEejz2DrUOobfcipP/txdj7++fxxf23x5f/+zO2d0+9PN5/fXpYv/zx9vztw3df//uL7/BncL9efn57+P728uCly9/CjX/+aCnfNZHP/pdO40vJd9L8i+TfGy9PS+nzuz+V/wE=", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index cf1e31e283b..c6dbd5d3a5c 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/higher_order_functions/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -48,7 +48,7 @@ expression: artifact "return value indices : [_1]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 609 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 35 }, Call { location: 615 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Mov { destination: Relative(8), source: Direct(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 58 }, Call { location: 615 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, Const { destination: Relative(13), bit_size: Field, value: 4294967296 }, Const { destination: Relative(14), bit_size: Field, value: 2 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 69 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 567 }, Jump { location: 72 }, Load { destination: Relative(7), source_pointer: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 79 }, Call { location: 615 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(9) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Load { destination: Relative(9), source_pointer: Relative(13) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(18) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(18) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(14) }, Load { destination: Relative(17), source_pointer: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(20) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(20) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(18), rhs: Relative(19) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(11) }, Load { destination: Relative(18), source_pointer: Relative(19) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(22) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(22) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(21) }, JumpIf { condition: Relative(13), location: 103 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, JumpIf { condition: Relative(14), location: 106 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, JumpIf { condition: Relative(19), location: 109 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(3) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 115 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(15) }, Load { destination: Relative(14), source_pointer: Relative(7) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 126 }, Call { location: 615 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(14) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 130 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(10), location: 553 }, Jump { location: 133 }, Load { destination: Relative(10), source_pointer: Relative(3) }, JumpIf { condition: Relative(10), location: 137 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 143 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Load { destination: Relative(13), source_pointer: Relative(7) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 154 }, Call { location: 615 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 158 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(10), location: 531 }, Jump { location: 161 }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, JumpIf { condition: Relative(13), location: 167 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 173 }, Call { location: 615 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(5) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 184 }, Call { location: 615 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 188 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 500 }, Jump { location: 191 }, Load { destination: Relative(5), source_pointer: Relative(10) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 18 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(10) }, JumpIf { condition: Relative(13), location: 197 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 203 }, Call { location: 615 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Load { destination: Relative(13), source_pointer: Relative(7) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 214 }, Call { location: 615 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Mov { destination: Relative(2), source: Relative(16) }, Jump { location: 218 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(10), location: 478 }, Jump { location: 221 }, Load { destination: Relative(10), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 226 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(13) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 232 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(9) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 243 }, Call { location: 615 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Mov { destination: Relative(2), source: Relative(16) }, Jump { location: 247 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 447 }, Jump { location: 250 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(10), location: 256 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 262 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 270 }, Jump { location: 272 }, Mov { destination: Relative(12), source: Relative(22) }, Jump { location: 274 }, Mov { destination: Relative(12), source: Relative(9) }, Jump { location: 274 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(13), location: 280 }, Jump { location: 282 }, Mov { destination: Relative(14), source: Relative(22) }, Jump { location: 284 }, Mov { destination: Relative(14), source: Relative(4) }, Jump { location: 284 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, BinaryIntOp { destination: Relative(19), op: Xor, bit_size: U1, lhs: Relative(10), rhs: Relative(13) }, JumpIf { condition: Relative(19), location: 288 }, Jump { location: 290 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(3) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, JumpIf { condition: Relative(10), location: 296 }, Jump { location: 298 }, Mov { destination: Relative(12), source: Relative(22) }, Jump { location: 300 }, Mov { destination: Relative(12), source: Relative(17) }, Jump { location: 300 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(13), location: 306 }, Jump { location: 308 }, Mov { destination: Relative(14), source: Relative(22) }, Jump { location: 310 }, Mov { destination: Relative(14), source: Relative(4) }, Jump { location: 310 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, BinaryIntOp { destination: Relative(19), op: Xor, bit_size: U1, lhs: Relative(10), rhs: Relative(13) }, JumpIf { condition: Relative(19), location: 314 }, Jump { location: 316 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(12), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(18) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, JumpIf { condition: Relative(12), location: 322 }, Jump { location: 324 }, Mov { destination: Relative(13), source: Relative(22) }, Jump { location: 326 }, Mov { destination: Relative(13), source: Relative(18) }, Jump { location: 326 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(14), location: 332 }, Jump { location: 334 }, Mov { destination: Relative(17), source: Relative(22) }, Jump { location: 336 }, Mov { destination: Relative(17), source: Relative(4) }, Jump { location: 336 }, BinaryIntOp { destination: Relative(10), op: Div, bit_size: U32, lhs: Relative(13), rhs: Relative(17) }, BinaryIntOp { destination: Relative(19), op: Xor, bit_size: U1, lhs: Relative(12), rhs: Relative(14) }, JumpIf { condition: Relative(19), location: 340 }, Jump { location: 342 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, Mov { destination: Relative(4), source: Direct(1) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(12) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Mov { destination: Relative(13), source: Relative(12) }, Store { destination_pointer: Relative(13), source: Relative(3) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(9) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(10) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 359 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(15) }, Load { destination: Relative(10), source_pointer: Relative(4) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 370 }, Call { location: 615 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(10) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 374 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 434 }, Jump { location: 377 }, Load { destination: Relative(5), source_pointer: Relative(3) }, JumpIf { condition: Relative(5), location: 381 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 387 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 395 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(15) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 406 }, Call { location: 615 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 410 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 421 }, Jump { location: 413 }, Load { destination: Relative(2), source_pointer: Relative(3) }, JumpIf { condition: Relative(2), location: 417 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Const { destination: Relative(2), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(3) }, Return, Load { destination: Relative(5), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, Load { destination: Relative(8), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(9) }, Store { destination_pointer: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 410 }, Load { destination: Relative(5), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(2) }, Load { destination: Relative(9), source_pointer: Relative(12) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(12) }, Store { destination_pointer: Relative(3), source: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 374 }, Load { destination: Relative(5), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(10) }, Mov { destination: Relative(14), source: Relative(13) }, Cast { destination: Relative(13), source: Relative(14), bit_size: Integer(U32) }, Cast { destination: Relative(19), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(10), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(12) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(19) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(19), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(13), rhs: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(13), location: 465 }, Call { location: 618 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, Mov { destination: Relative(10), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(10), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(19) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(19) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(19) }, JumpIf { condition: Relative(5), location: 474 }, Call { location: 618 }, Store { destination_pointer: Relative(3), source: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 247 }, Load { destination: Relative(10), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(2) }, Load { destination: Relative(13), source_pointer: Relative(19) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(13) }, Mov { destination: Relative(19), source: Relative(14) }, Cast { destination: Relative(14), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(20), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(13), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(12) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(20), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U1, lhs: Relative(14), rhs: Relative(10) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(10) }, JumpIf { condition: Relative(14), location: 496 }, Call { location: 618 }, Store { destination_pointer: Relative(5), source: Relative(19) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(10) }, Jump { location: 218 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(5), source_pointer: Relative(14) }, Load { destination: Relative(13), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(5) }, Mov { destination: Relative(19), source: Relative(14) }, Cast { destination: Relative(14), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(20), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(5), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(20), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 518 }, Call { location: 618 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(4) }, Mov { destination: Relative(13), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(13), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(20) }, BinaryIntOp { destination: Relative(14), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(20) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(20) }, JumpIf { condition: Relative(5), location: 527 }, Call { location: 618 }, Store { destination_pointer: Relative(10), source: Relative(13) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 188 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(14) }, Load { destination: Relative(13), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Mov { destination: Relative(19), source: Relative(14) }, Cast { destination: Relative(14), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(20), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(10), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(20), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 549 }, Call { location: 618 }, Store { destination_pointer: Relative(3), source: Relative(19) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(10) }, Jump { location: 158 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(14) }, Load { destination: Relative(13), source_pointer: Relative(3) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(21) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(21) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(20) }, Not { destination: Relative(10), source: Relative(14), bit_size: U1 }, BinaryIntOp { destination: Relative(14), op: Mul, bit_size: U1, lhs: Relative(13), rhs: Relative(10) }, Store { destination_pointer: Relative(3), source: Relative(14) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(10) }, Jump { location: 130 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(2) }, Load { destination: Relative(7), source_pointer: Relative(17) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Cast { destination: Relative(17), source: Relative(10), bit_size: Integer(U64) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(18), bit_size: Integer(U64) }, Cast { destination: Relative(17), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U32, lhs: Relative(17), rhs: Relative(12) }, Not { destination: Relative(17), source: Relative(18), bit_size: U1 }, Cast { destination: Relative(19), source: Relative(7), bit_size: Field }, Cast { destination: Relative(7), source: Relative(18), bit_size: Field }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(7), rhs: Relative(19) }, BinaryFieldOp { destination: Relative(7), op: Sub, lhs: Relative(13), rhs: Relative(19) }, Cast { destination: Relative(19), source: Relative(17), bit_size: Field }, BinaryFieldOp { destination: Relative(20), op: Mul, lhs: Relative(19), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(18), rhs: Relative(20) }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(7), rhs: Relative(14) }, Cast { destination: Relative(7), source: Relative(18), bit_size: Field }, Const { destination: Relative(19), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(20), op: LessThanEquals, lhs: Relative(7), rhs: Relative(19) }, JumpIf { condition: Relative(20), location: 590 }, Call { location: 621 }, Cast { destination: Relative(7), source: Relative(18), bit_size: Integer(U32) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(18) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(17) }, JumpIf { condition: Relative(18), location: 596 }, Call { location: 618 }, Cast { destination: Relative(7), source: Relative(10), bit_size: Integer(U32) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Mov { destination: Direct(32771), source: Relative(10) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 4 }, Call { location: 624 }, Mov { destination: Relative(17), source: Direct(32773) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(2) }, Store { destination_pointer: Relative(19), source: Relative(7) }, Store { destination_pointer: Relative(9), source: Relative(17) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(7) }, Jump { location: 69 }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 614 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 628 }, Jump { location: 630 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 645 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 642 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 635 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 645 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 609 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 35 }, Call { location: 615 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Mov { destination: Relative(8), source: Direct(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 58 }, Call { location: 615 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2147483648 }, Const { destination: Relative(13), bit_size: Field, value: 4294967296 }, Const { destination: Relative(14), bit_size: Field, value: 2 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 69 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 567 }, Jump { location: 72 }, Load { destination: Relative(7), source_pointer: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 79 }, Call { location: 615 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(9) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Load { destination: Relative(9), source_pointer: Relative(13) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(18) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(18) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(14) }, Load { destination: Relative(17), source_pointer: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(20) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(20) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(18), rhs: Relative(19) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(11) }, Load { destination: Relative(18), source_pointer: Relative(19) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(22) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(22) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(21) }, JumpIf { condition: Relative(13), location: 103 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, JumpIf { condition: Relative(14), location: 106 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, JumpIf { condition: Relative(19), location: 109 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(3) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 115 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(15) }, Load { destination: Relative(14), source_pointer: Relative(7) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 126 }, Call { location: 615 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(14) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 130 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(10), location: 553 }, Jump { location: 133 }, Load { destination: Relative(10), source_pointer: Relative(3) }, JumpIf { condition: Relative(10), location: 137 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 143 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Load { destination: Relative(13), source_pointer: Relative(7) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 154 }, Call { location: 615 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 158 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(10), location: 531 }, Jump { location: 161 }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, JumpIf { condition: Relative(13), location: 167 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 173 }, Call { location: 615 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(5) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 184 }, Call { location: 615 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 188 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 500 }, Jump { location: 191 }, Load { destination: Relative(5), source_pointer: Relative(10) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 18 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(10) }, JumpIf { condition: Relative(13), location: 197 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 203 }, Call { location: 615 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Load { destination: Relative(13), source_pointer: Relative(7) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 214 }, Call { location: 615 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Mov { destination: Relative(2), source: Relative(16) }, Jump { location: 218 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(10), location: 478 }, Jump { location: 221 }, Load { destination: Relative(10), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 226 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(13) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 232 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(9) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 243 }, Call { location: 615 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Mov { destination: Relative(2), source: Relative(16) }, Jump { location: 247 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 447 }, Jump { location: 250 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(10), location: 256 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 262 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 270 }, Jump { location: 272 }, Mov { destination: Relative(12), source: Relative(22) }, Jump { location: 274 }, Mov { destination: Relative(12), source: Relative(9) }, Jump { location: 274 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(13), location: 280 }, Jump { location: 282 }, Mov { destination: Relative(14), source: Relative(22) }, Jump { location: 284 }, Mov { destination: Relative(14), source: Relative(4) }, Jump { location: 284 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, BinaryIntOp { destination: Relative(19), op: Xor, bit_size: U1, lhs: Relative(10), rhs: Relative(13) }, JumpIf { condition: Relative(19), location: 288 }, Jump { location: 290 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(3) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, JumpIf { condition: Relative(10), location: 296 }, Jump { location: 298 }, Mov { destination: Relative(12), source: Relative(22) }, Jump { location: 300 }, Mov { destination: Relative(12), source: Relative(17) }, Jump { location: 300 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(13), location: 306 }, Jump { location: 308 }, Mov { destination: Relative(14), source: Relative(22) }, Jump { location: 310 }, Mov { destination: Relative(14), source: Relative(4) }, Jump { location: 310 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, BinaryIntOp { destination: Relative(19), op: Xor, bit_size: U1, lhs: Relative(10), rhs: Relative(13) }, JumpIf { condition: Relative(19), location: 314 }, Jump { location: 316 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(12), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(18) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, JumpIf { condition: Relative(12), location: 322 }, Jump { location: 324 }, Mov { destination: Relative(13), source: Relative(22) }, Jump { location: 326 }, Mov { destination: Relative(13), source: Relative(18) }, Jump { location: 326 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(14), location: 332 }, Jump { location: 334 }, Mov { destination: Relative(17), source: Relative(22) }, Jump { location: 336 }, Mov { destination: Relative(17), source: Relative(4) }, Jump { location: 336 }, BinaryIntOp { destination: Relative(10), op: Div, bit_size: U32, lhs: Relative(13), rhs: Relative(17) }, BinaryIntOp { destination: Relative(19), op: Xor, bit_size: U1, lhs: Relative(12), rhs: Relative(14) }, JumpIf { condition: Relative(19), location: 340 }, Jump { location: 342 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Relative(10) }, Mov { destination: Relative(4), source: Direct(1) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(12) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Mov { destination: Relative(13), source: Relative(12) }, Store { destination_pointer: Relative(13), source: Relative(3) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(9) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(10) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 359 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(15) }, Load { destination: Relative(10), source_pointer: Relative(4) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 370 }, Call { location: 615 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(10) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 374 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 434 }, Jump { location: 377 }, Load { destination: Relative(5), source_pointer: Relative(3) }, JumpIf { condition: Relative(5), location: 381 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 387 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 395 }, Call { location: 615 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(15) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 406 }, Call { location: 615 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Mov { destination: Relative(2), source: Relative(8) }, Jump { location: 410 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 421 }, Jump { location: 413 }, Load { destination: Relative(2), source_pointer: Relative(3) }, JumpIf { condition: Relative(2), location: 417 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Const { destination: Relative(2), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(3) }, Return, Load { destination: Relative(5), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, Load { destination: Relative(8), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(9) }, Store { destination_pointer: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 410 }, Load { destination: Relative(5), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(2) }, Load { destination: Relative(9), source_pointer: Relative(12) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(12) }, Store { destination_pointer: Relative(3), source: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 374 }, Load { destination: Relative(5), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(10) }, Mov { destination: Relative(14), source: Relative(13) }, Cast { destination: Relative(13), source: Relative(14), bit_size: Integer(U32) }, Cast { destination: Relative(19), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(10), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(12) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(19) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(19), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(13), rhs: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(13), location: 465 }, Call { location: 618 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, Mov { destination: Relative(10), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(10), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(19) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(19) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(19) }, JumpIf { condition: Relative(5), location: 474 }, Call { location: 618 }, Store { destination_pointer: Relative(3), source: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 247 }, Load { destination: Relative(10), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(2) }, Load { destination: Relative(13), source_pointer: Relative(19) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(13) }, Mov { destination: Relative(19), source: Relative(14) }, Cast { destination: Relative(14), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(20), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(13), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(12) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(20), rhs: Relative(13) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U1, lhs: Relative(14), rhs: Relative(10) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(13), rhs: Relative(10) }, JumpIf { condition: Relative(14), location: 496 }, Call { location: 618 }, Store { destination_pointer: Relative(5), source: Relative(19) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(10) }, Jump { location: 218 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(5), source_pointer: Relative(14) }, Load { destination: Relative(13), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(5) }, Mov { destination: Relative(19), source: Relative(14) }, Cast { destination: Relative(14), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(20), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(5), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(20), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 518 }, Call { location: 618 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(4) }, Mov { destination: Relative(13), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(13), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(20) }, BinaryIntOp { destination: Relative(14), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(20) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(14), rhs: Relative(20) }, JumpIf { condition: Relative(5), location: 527 }, Call { location: 618 }, Store { destination_pointer: Relative(10), source: Relative(13) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(5) }, Jump { location: 188 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(14) }, Load { destination: Relative(13), source_pointer: Relative(3) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Mov { destination: Relative(19), source: Relative(14) }, Cast { destination: Relative(14), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(20), source: Relative(13), bit_size: Integer(U32) }, Cast { destination: Relative(13), source: Relative(10), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(20), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 549 }, Call { location: 618 }, Store { destination_pointer: Relative(3), source: Relative(19) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(10) }, Jump { location: 158 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(14) }, Load { destination: Relative(13), source_pointer: Relative(3) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(21) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(21) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(20) }, Not { destination: Relative(10), source: Relative(14), bit_size: U1 }, BinaryIntOp { destination: Relative(14), op: Mul, bit_size: U1, lhs: Relative(13), rhs: Relative(10) }, Store { destination_pointer: Relative(3), source: Relative(14) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(10) }, Jump { location: 130 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(2) }, Load { destination: Relative(7), source_pointer: Relative(17) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Cast { destination: Relative(17), source: Relative(10), bit_size: Integer(U64) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(18), bit_size: Integer(U64) }, Cast { destination: Relative(17), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U32, lhs: Relative(17), rhs: Relative(12) }, Not { destination: Relative(17), source: Relative(18), bit_size: U1 }, Cast { destination: Relative(19), source: Relative(7), bit_size: Field }, Cast { destination: Relative(7), source: Relative(18), bit_size: Field }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(7), rhs: Relative(19) }, BinaryFieldOp { destination: Relative(7), op: Sub, lhs: Relative(13), rhs: Relative(19) }, Cast { destination: Relative(19), source: Relative(17), bit_size: Field }, BinaryFieldOp { destination: Relative(20), op: Mul, lhs: Relative(19), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(18), rhs: Relative(20) }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(7), rhs: Relative(14) }, Cast { destination: Relative(7), source: Relative(18), bit_size: Field }, Const { destination: Relative(19), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(20), op: LessThanEquals, lhs: Relative(7), rhs: Relative(19) }, JumpIf { condition: Relative(20), location: 590 }, Call { location: 621 }, Cast { destination: Relative(7), source: Relative(18), bit_size: Integer(U32) }, Cast { destination: Relative(18), source: Relative(17), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(18) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(17) }, JumpIf { condition: Relative(18), location: 596 }, Call { location: 621 }, Cast { destination: Relative(7), source: Relative(10), bit_size: Integer(U32) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Mov { destination: Direct(32771), source: Relative(10) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 4 }, Call { location: 624 }, Mov { destination: Relative(17), source: Direct(32773) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(2) }, Store { destination_pointer: Relative(19), source: Relative(7) }, Store { destination_pointer: Relative(9), source: Relative(17) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, Mov { destination: Relative(2), source: Relative(7) }, Jump { location: 69 }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 614 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 628 }, Jump { location: 630 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 645 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 642 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 635 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 645 }, Return]" ], "debug_symbols": "tZrbbts4EED/xc95EDm8TX9lURRp6xYBgjRIkwUWRf59ORwe2wVWgitjXzonSXlMjTjiUMmvw9fj57fvnx6evv34efjw16/D55eHx8eH758ef3y5f3348dS/++uw2D8hHz7Eu0MoHqqH5kFHiIuH4CF6EA/Jg1uiW6Jboltit8jdQRYPwUP0IB6Sh+yheOiW3EPzoCOkxUPwED2Ih+Qheyge3JLcktyS3ZLdkrul9CAekofsoXioHpoHHaF4qH147aEP1x6Sh+yheKgemgcdoS0egofooVtC6DHNmGcsM7qpuam5SRf/oYYZ44xTpj4n9TnpVGmdsc2oHsNiOrv9SwAiIEACMlCACjRAJwTMAXPAHDAHzAFzwGyrMySDBugEW6MhGwQgAgIkIAMFqBMEj63MUAxsVDXIQAEq0ACdYOvUIQAREACzrdigBgWogNXQYqATbO06BCACAiQgA3iKjbK7XGzUqHwBEpCBAlSgATqhLkAAMFfMFbOVRbT7ZYXhUAEzW+atPAZYgTgEIAICJCADeKwaot1BK4doebZ6cEhABgpQgQaoQ7S6cAhABARIgJnVoAAV6GZZDHSC1YVDACIgQAIygMfWvAQDGzWe0QIkIAMFqEADdMJ4Vg8IAGbBPJ7ZySADBTBzNmiATrC6cAhABARIAB5b81IMbJSl19a8gwAJyIDNxxJuT2+HBuiEsgABiIAA3ZwsvVYXDgWoQAN0gtWFQwAiIADmirlirpgr5oq5YW6YG+aGuWFumBvmhrlhbpgVs2JWzIpZMStmxayYFbNOsywLEIAICJCADBSgAg3AHDAHzAFzwBwwB8wBc8AcMAfMEXPEHDFHzBFzxBwxR8wRc8QsmAWzYBbMglkwC2bBLJgFc8KcMFt9pWggQAIyUIAKNEAnWA06BADzqMFmkIAMFKACDdAJowYHmDkZREAAm7O1gaMGBxSgAg3QCaMGBwQAz6ivYmCjRrupE0Z9DbBRNrFRXwMESEAGClCBBphZrYddgABEQIAEZKAA1svaPbX6clCHZPWVo0EAIiBAAjJQgDoh4LHayWJgoxaDDBTARiWDNiHy6VYpeXToAiTAPMWgABUwTzPQ+elWKQ4BmHcwWV1kNShABaxPtxlaXQywunDonmIzHHVhHzrqYkAC5r6TrAqKfahVwQCrAgfz2CWP08MAARKQgQJUoAE6warAAXPBXDAXzFYFZRxyClCBBugEqwKHAERAgOQ7bLKdyGF2F8nqoth3rC4cAmCeaiBAAjJQgAo0QCdYXTgEALNiVsyK2erC2p5kdWGQl9kx5iUAERDAPM0gAwWoQAN0gtWFQwAiIADmgDlgDpitUooa6ATbZRwCEAEBEpCBAlTvcvM4bY9j7DwXZImAAAnonjqgABVogE6w2nEIQAQESADmhDlhTpjHWcbu1zjLDJhntJwTkIECmCcaNEAnWO04BCD68S0XARJgHjFogE6wSqn2WVYpDhEQIAEZKEAFGqATGuaGuWFumBvmhrlhbpgb5oZZMStmxayYFbNiVsxWOzUZtPEaI9uW0mOxWhoxzBhnlBnTjHlGM76/3x14x/Tp9eV4tFdMFy+d+quo5/uX49Pr4cPT2+Pj3eHv+8e38Z9+Pt8/jfh6/9J/2pfJ8elrj1347eHxaPR+dx69rA/VVOdgLXoann8fH9bH97cLZQo61j2GKEyhv2IIuwwaMPROec2QNgxLbRgWbSeDXC0Its/NNFTZI2inGfQT94pgKwmSzknIy1oS2rqh79JpGjquJWFTkJaTIOe1a1i2LsKannkRZdmzFi7TsG81ST3PoaVVg2wpmp4UWvcorrsZ2waRK+7GlYm4KIo/SGUKp6rove2qoW0pJJ0UonsU/cDGsuy4WlqbBuU6+oFOdqTyMhGp7Erl6SL6+87Vyohbq7K3oieFxj2K61K5bbg5lReJ0F1bVj7fjN4jruZha0FoY8/qp8rVPGw9K5fAvtkPn2WX4fSs7CfStiOTl3lIeVcm8+k517vANYPIrZncMlyXyW3DzZm8yIPuaYL6a26m0F90r2460m5tQbYNeu7ElrrWxCxbl6Ekor+m33kZNzZCl6nsOVntBuXWOWwatJ22rctlna829F+gnFK5XG58V+chyHLKw/rOaf3/jV1t/T/v5uVVlNUWIi+3zmHTcNXdzMutd3PrnHbqxbTFPVnov4c7z+DiMfkn13C+FYu0XYbLOaxlIdfNJ237zx3nD+rqmjxsG67Jw/VzWMtDCbfmYXvTq8t501t72NvLzfU51POut35Qulqhy55W7Mrr2MylnPsgWT3nxHJla93KzYqN7jzcflaSW4/wNdx89t18FXJqInobUva8S7mmj6lbhv471NNFhN+X9sf+1f2Xh5ff/jzs3VwvD/efH4/zy29vT18ufvr6zzM/4c/Lnl9+fDl+fXs5mun8N2b9n79KTHcl5Y/250D2Zd88Skj2ZRg/DXclysd3m8y/", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 1a138330f77..14e7f7a729c 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -28,10 +28,6 @@ expression: artifact ], "return_type": null, "error_types": { - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_0.snap index 1a138330f77..14e7f7a729c 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_0.snap @@ -28,10 +28,6 @@ expression: artifact ], "return_type": null, "error_types": { - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 1a138330f77..14e7f7a729c 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -28,10 +28,6 @@ expression: artifact ], "return_type": null, "error_types": { - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 5633c1f1fd9..67880dc361f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -28,10 +28,6 @@ expression: artifact ], "return_type": null, "error_types": { - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -54,7 +50,7 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32843 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32841), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32841) }, Mov { destination: Relative(2), source: Direct(32842) }, Call { location: 15 }, Call { location: 22 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32843 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 4294967295 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 12 }, Return, Call { location: 56 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 62 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 92 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 185 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 247 }, Mov { destination: Direct(0), source: Relative(0) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 61 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 56 }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 65 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 69 }, Jump { location: 68 }, Return, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 77 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, JumpIf { condition: Relative(8), location: 77 }, Call { location: 274 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(7), location: 85 }, BinaryIntOp { destination: Relative(10), op: Div, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 85 }, Call { location: 274 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 89 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(5) }, Jump { location: 65 }, Call { location: 56 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32839) }, Cast { destination: Relative(6), source: Relative(3), bit_size: Integer(U8) }, Cast { destination: Relative(2), source: Relative(6), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(2), bit_size: Field }, Const { destination: Relative(7), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(8), op: Sub, lhs: Relative(7), rhs: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 3 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 128 }, Const { destination: Relative(11), bit_size: Field, value: 3 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 127 }, Const { destination: Relative(13), bit_size: Field, value: 127 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 12 }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 107 }, BinaryIntOp { destination: Relative(15), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(15), location: 111 }, Jump { location: 110 }, Return, JumpIf { condition: Relative(5), location: 113 }, Jump { location: 182 }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(3) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(3) }, JumpIf { condition: Relative(16), location: 121 }, BinaryIntOp { destination: Relative(19), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Direct(32835) }, JumpIf { condition: Relative(18), location: 121 }, Call { location: 274 }, Cast { destination: Relative(16), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(17), op: Mul, bit_size: U8, lhs: Relative(9), rhs: Relative(16) }, Cast { destination: Relative(16), source: Relative(17), bit_size: Integer(U16) }, Cast { destination: Relative(18), source: Relative(16), bit_size: Integer(U8) }, Cast { destination: Relative(17), source: Relative(18), bit_size: Integer(U16) }, Cast { destination: Relative(16), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U8, lhs: Relative(16), rhs: Relative(10) }, Not { destination: Relative(16), source: Relative(18), bit_size: U1 }, Cast { destination: Relative(19), source: Relative(18), bit_size: Field }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(19), rhs: Relative(6) }, Cast { destination: Relative(19), source: Relative(16), bit_size: Field }, BinaryFieldOp { destination: Relative(20), op: Mul, lhs: Relative(19), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(19), op: Add, lhs: Relative(18), rhs: Relative(20) }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(11), rhs: Relative(19) }, Cast { destination: Relative(19), source: Relative(18), bit_size: Field }, Const { destination: Relative(20), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(21), op: LessThanEquals, lhs: Relative(19), rhs: Relative(20) }, JumpIf { condition: Relative(21), location: 140 }, Call { location: 274 }, Cast { destination: Relative(19), source: Relative(18), bit_size: Integer(U8) }, Cast { destination: Relative(18), source: Relative(16), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U8, lhs: Relative(10), rhs: Relative(18) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U8, lhs: Relative(19), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 146 }, Call { location: 277 }, Cast { destination: Relative(16), source: Relative(17), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(18), op: Mul, bit_size: U8, lhs: Relative(16), rhs: Relative(12) }, Cast { destination: Relative(16), source: Relative(18), bit_size: Integer(U16) }, Cast { destination: Relative(19), source: Relative(16), bit_size: Integer(U8) }, Cast { destination: Relative(18), source: Relative(19), bit_size: Integer(U16) }, Cast { destination: Relative(16), source: Relative(17), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U8, lhs: Relative(16), rhs: Relative(10) }, Not { destination: Relative(16), source: Relative(19), bit_size: U1 }, Cast { destination: Relative(20), source: Relative(17), bit_size: Field }, Cast { destination: Relative(17), source: Relative(19), bit_size: Field }, BinaryFieldOp { destination: Relative(19), op: Mul, lhs: Relative(17), rhs: Relative(20) }, BinaryFieldOp { destination: Relative(17), op: Sub, lhs: Relative(7), rhs: Relative(20) }, Cast { destination: Relative(20), source: Relative(16), bit_size: Field }, BinaryFieldOp { destination: Relative(21), op: Mul, lhs: Relative(20), rhs: Relative(17) }, BinaryFieldOp { destination: Relative(17), op: Add, lhs: Relative(19), rhs: Relative(21) }, BinaryFieldOp { destination: Relative(19), op: Mul, lhs: Relative(17), rhs: Relative(13) }, Cast { destination: Relative(17), source: Relative(19), bit_size: Field }, Const { destination: Relative(20), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(21), op: LessThanEquals, lhs: Relative(17), rhs: Relative(20) }, JumpIf { condition: Relative(21), location: 167 }, Call { location: 274 }, Cast { destination: Relative(17), source: Relative(19), bit_size: Integer(U8) }, Cast { destination: Relative(19), source: Relative(16), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U8, lhs: Relative(10), rhs: Relative(19) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U8, lhs: Relative(17), rhs: Relative(16) }, JumpIf { condition: Relative(19), location: 173 }, Call { location: 277 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U16, lhs: Relative(18), rhs: Relative(14) }, JumpIf { condition: Relative(16), location: 177 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Direct(32840) }, JumpIf { condition: Relative(16), location: 181 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Jump { location: 182 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(15) }, Jump { location: 107 }, Call { location: 56 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Mov { destination: Relative(3), source: Direct(32836) }, Jump { location: 204 }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 208 }, Jump { location: 207 }, Return, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 211 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 217 }, Jump { location: 214 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, Mov { destination: Relative(3), source: Relative(4) }, Jump { location: 204 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32839) }, Mov { destination: Relative(7), source: Direct(32836) }, Jump { location: 220 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(9), location: 226 }, Jump { location: 223 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 211 }, JumpIf { condition: Relative(6), location: 228 }, Call { location: 280 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, Load { destination: Relative(9), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 235 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, JumpIf { condition: Relative(8), location: 237 }, Call { location: 280 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(9), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 244 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(32838) }, Mov { destination: Relative(7), source: Relative(9) }, Jump { location: 220 }, Call { location: 56 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 252 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 255 }, Jump { location: 273 }, JumpIf { condition: Relative(6), location: 272 }, Jump { location: 257 }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 265 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32835) }, JumpIf { condition: Relative(8), location: 265 }, Call { location: 274 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 269 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(2) }, Jump { location: 252 }, Jump { location: 273 }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32843 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32841), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32841) }, Mov { destination: Relative(2), source: Direct(32842) }, Call { location: 15 }, Call { location: 22 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32843 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 4294967295 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 12 }, Return, Call { location: 56 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 62 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 92 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 185 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 247 }, Mov { destination: Direct(0), source: Relative(0) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 61 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 56 }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 65 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 69 }, Jump { location: 68 }, Return, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 77 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, JumpIf { condition: Relative(8), location: 77 }, Call { location: 274 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(7), location: 85 }, BinaryIntOp { destination: Relative(10), op: Div, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 85 }, Call { location: 274 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 89 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(5) }, Jump { location: 65 }, Call { location: 56 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32839) }, Cast { destination: Relative(6), source: Relative(3), bit_size: Integer(U8) }, Cast { destination: Relative(2), source: Relative(6), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(2), bit_size: Field }, Const { destination: Relative(7), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(8), op: Sub, lhs: Relative(7), rhs: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 3 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 128 }, Const { destination: Relative(11), bit_size: Field, value: 3 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 127 }, Const { destination: Relative(13), bit_size: Field, value: 127 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 12 }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 107 }, BinaryIntOp { destination: Relative(15), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(15), location: 111 }, Jump { location: 110 }, Return, JumpIf { condition: Relative(5), location: 113 }, Jump { location: 182 }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(3) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(3) }, JumpIf { condition: Relative(16), location: 121 }, BinaryIntOp { destination: Relative(19), op: Div, bit_size: U32, lhs: Relative(15), rhs: Relative(3) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Direct(32835) }, JumpIf { condition: Relative(18), location: 121 }, Call { location: 274 }, Cast { destination: Relative(16), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(17), op: Mul, bit_size: U8, lhs: Relative(9), rhs: Relative(16) }, Cast { destination: Relative(16), source: Relative(17), bit_size: Integer(U16) }, Cast { destination: Relative(18), source: Relative(16), bit_size: Integer(U8) }, Cast { destination: Relative(17), source: Relative(18), bit_size: Integer(U16) }, Cast { destination: Relative(16), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U8, lhs: Relative(16), rhs: Relative(10) }, Not { destination: Relative(16), source: Relative(18), bit_size: U1 }, Cast { destination: Relative(19), source: Relative(18), bit_size: Field }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(19), rhs: Relative(6) }, Cast { destination: Relative(19), source: Relative(16), bit_size: Field }, BinaryFieldOp { destination: Relative(20), op: Mul, lhs: Relative(19), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(19), op: Add, lhs: Relative(18), rhs: Relative(20) }, BinaryFieldOp { destination: Relative(18), op: Mul, lhs: Relative(11), rhs: Relative(19) }, Cast { destination: Relative(19), source: Relative(18), bit_size: Field }, Const { destination: Relative(20), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(21), op: LessThanEquals, lhs: Relative(19), rhs: Relative(20) }, JumpIf { condition: Relative(21), location: 140 }, Call { location: 274 }, Cast { destination: Relative(19), source: Relative(18), bit_size: Integer(U8) }, Cast { destination: Relative(18), source: Relative(16), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U8, lhs: Relative(10), rhs: Relative(18) }, BinaryIntOp { destination: Relative(18), op: LessThan, bit_size: U8, lhs: Relative(19), rhs: Relative(16) }, JumpIf { condition: Relative(18), location: 146 }, Call { location: 274 }, Cast { destination: Relative(16), source: Relative(17), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(18), op: Mul, bit_size: U8, lhs: Relative(16), rhs: Relative(12) }, Cast { destination: Relative(16), source: Relative(18), bit_size: Integer(U16) }, Cast { destination: Relative(19), source: Relative(16), bit_size: Integer(U8) }, Cast { destination: Relative(18), source: Relative(19), bit_size: Integer(U16) }, Cast { destination: Relative(16), source: Relative(17), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U8, lhs: Relative(16), rhs: Relative(10) }, Not { destination: Relative(16), source: Relative(19), bit_size: U1 }, Cast { destination: Relative(20), source: Relative(17), bit_size: Field }, Cast { destination: Relative(17), source: Relative(19), bit_size: Field }, BinaryFieldOp { destination: Relative(19), op: Mul, lhs: Relative(17), rhs: Relative(20) }, BinaryFieldOp { destination: Relative(17), op: Sub, lhs: Relative(7), rhs: Relative(20) }, Cast { destination: Relative(20), source: Relative(16), bit_size: Field }, BinaryFieldOp { destination: Relative(21), op: Mul, lhs: Relative(20), rhs: Relative(17) }, BinaryFieldOp { destination: Relative(17), op: Add, lhs: Relative(19), rhs: Relative(21) }, BinaryFieldOp { destination: Relative(19), op: Mul, lhs: Relative(17), rhs: Relative(13) }, Cast { destination: Relative(17), source: Relative(19), bit_size: Field }, Const { destination: Relative(20), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(21), op: LessThanEquals, lhs: Relative(17), rhs: Relative(20) }, JumpIf { condition: Relative(21), location: 167 }, Call { location: 274 }, Cast { destination: Relative(17), source: Relative(19), bit_size: Integer(U8) }, Cast { destination: Relative(19), source: Relative(16), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U8, lhs: Relative(10), rhs: Relative(19) }, BinaryIntOp { destination: Relative(19), op: LessThan, bit_size: U8, lhs: Relative(17), rhs: Relative(16) }, JumpIf { condition: Relative(19), location: 173 }, Call { location: 274 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U16, lhs: Relative(18), rhs: Relative(14) }, JumpIf { condition: Relative(16), location: 177 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Direct(32840) }, JumpIf { condition: Relative(16), location: 181 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Jump { location: 182 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(15) }, Jump { location: 107 }, Call { location: 56 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Mov { destination: Relative(3), source: Direct(32836) }, Jump { location: 204 }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 208 }, Jump { location: 207 }, Return, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 211 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 217 }, Jump { location: 214 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, Mov { destination: Relative(3), source: Relative(4) }, Jump { location: 204 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32839) }, Mov { destination: Relative(7), source: Direct(32836) }, Jump { location: 220 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(9), location: 226 }, Jump { location: 223 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 211 }, JumpIf { condition: Relative(6), location: 228 }, Call { location: 277 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(3) }, Load { destination: Relative(9), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 235 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, JumpIf { condition: Relative(8), location: 237 }, Call { location: 277 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(9), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 244 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(32838) }, Mov { destination: Relative(7), source: Relative(9) }, Jump { location: 220 }, Call { location: 56 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 252 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 255 }, Jump { location: 273 }, JumpIf { condition: Relative(6), location: 272 }, Jump { location: 257 }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 265 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(2), rhs: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32835) }, JumpIf { condition: Relative(8), location: 265 }, Call { location: 274 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 269 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(2) }, Jump { location: 252 }, Jump { location: 273 }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "pZdBbuMwDEXv4nUWkkhRUq8yKIq0dYsAQRqkyQCDIncfUtRP28UAA3WT9xKb37JE2/HH8rw+Xl4fdoeXt/fl7tfH8nja7fe714f929P2vHs76K8fS7CPRMtd3CyJHdkhjuKojtZBwREdablLCnKwIzvEURzV0TpYU0gRHclBDnZkhzg0hRXV0TpycERHcpCDO0RTskILZLOU4IiO5CAHO7JDHHrYoqiO1lGDIzqSgxzs0JSqEEdxVEfraFrQFDbzQZkHbe51ZlsZrM4Y7AeduhhtyciEIRkikAKpkDYkBUj0I8aUxiF6M3RhSIYIpEAwsN4YJr01ukQIkgnJhGRCMiGZkExIJiQzkhnJjGRGMiOZkcxItuaJbFIhbYi1kEuEJAhBGJIhAkFyRnJGsiBZkCxIFiQLkgXJgmRBsiBZkFyQXJBckGy9HLMJQzJEIJYsJhXShlhnuySIVRWTAqmQNqQFSIQkCEEYkiFIbkhuSG4jOYUAiRDLqSa2s14/KeqmFEzs7mM3Kmv+pFdK6q1u+1hj9029jfsvBWL3JTJpQ6yNXeLI6Xe5LgRhSIYIxI7OJhXShlgb92FYG7skCEbIOAvr1ZRN2hDrzCQmdgibDes6lzbEus4lQhKEIAyxwdtkWte5FEiFWHK9XjcLHh4P59O62rPjy9NEnzHH7Wk9nJe7w2W/3yy/t/tL3+n9uD10nrcn3aoLtR6elRr4stuvZtfNZ3X4d2mscRRrO9zK83/Xp1BQT3mmnm/HlzRRT5xGPdWZehZMHpeZ8+fGqG9toj7bU6PX51hn6qminmmiXnIe9SIz519SG/WFZKo+/6heCOsnPDN+qZg/mVq/krD+ZWr+S6Jb/cz6l3KrLzP1VXD9VJkZf61Yv9pm1q9l3D+azIy/RfRfozBRHwPhBGJgnhlBK7eAID8NoB+fw8xVoP9fBQkpztxH4+eDRP8VTyXoI/Q2hpKnEtptHih874Z7/bZ92p2+va1dLeu02z7u1/H15XJ4+rL1/OeILXjbO57entbny2m1pM9Xvqifv7JsJN7be4F+SYU3qcj91Q7+Fw==", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_0.snap index e8e4c8ff7b8..9d156e7b3e2 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_0.snap @@ -28,10 +28,6 @@ expression: artifact ], "return_type": null, "error_types": { - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -50,7 +46,7 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 15 }, Call { location: 17 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 4294967295 }, Return, Call { location: 207 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, JumpIf { condition: Relative(5), location: 26 }, BinaryIntOp { destination: Relative(8), op: Div, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 26 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 34 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, JumpIf { condition: Relative(8), location: 34 }, Call { location: 213 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(6), location: 39 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U8) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(9), op: Sub, lhs: Relative(8), rhs: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 3 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, Const { destination: Relative(14), bit_size: Field, value: 3 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 127 }, Const { destination: Relative(17), bit_size: Field, value: 127 }, Const { destination: Relative(18), bit_size: Integer(U16), value: 12 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 58 }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(20), location: 133 }, Jump { location: 61 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 108 }, Jump { location: 82 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 86 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(2), location: 89 }, Jump { location: 107 }, JumpIf { condition: Relative(6), location: 106 }, Jump { location: 91 }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 99 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32835) }, JumpIf { condition: Relative(8), location: 99 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 103 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(2) }, Jump { location: 86 }, Jump { location: 107 }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 115 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Mov { destination: Relative(5), source: Relative(10) }, Jump { location: 117 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 123 }, Jump { location: 120 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 130 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(19) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 117 }, JumpIf { condition: Relative(6), location: 135 }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, JumpIf { condition: Relative(21), location: 143 }, BinaryIntOp { destination: Relative(24), op: Div, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Direct(32835) }, JumpIf { condition: Relative(23), location: 143 }, Call { location: 213 }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(21) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U16) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(22), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(23), bit_size: U1 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(24), rhs: Relative(7) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(25), op: Mul, lhs: Relative(24), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(24), op: Add, lhs: Relative(23), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(14), rhs: Relative(24) }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(24), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 162 }, Call { location: 213 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(24), rhs: Relative(21) }, JumpIf { condition: Relative(23), location: 168 }, Call { location: 216 }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U8, lhs: Relative(21), rhs: Relative(16) }, Cast { destination: Relative(21), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(24), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(24), bit_size: U1 }, Cast { destination: Relative(25), source: Relative(22), bit_size: Field }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(22), op: Sub, lhs: Relative(8), rhs: Relative(25) }, Cast { destination: Relative(25), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(26), op: Mul, lhs: Relative(25), rhs: Relative(22) }, BinaryFieldOp { destination: Relative(22), op: Add, lhs: Relative(24), rhs: Relative(26) }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(17) }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(22), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 189 }, Call { location: 213 }, Cast { destination: Relative(22), source: Relative(24), bit_size: Integer(U8) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(24) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(22), rhs: Relative(21) }, JumpIf { condition: Relative(24), location: 195 }, Call { location: 216 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U16, lhs: Relative(23), rhs: Relative(18) }, JumpIf { condition: Relative(21), location: 199 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, JumpIf { condition: Relative(21), location: 203 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(20) }, Jump { location: 58 }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 212 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 15 }, Call { location: 17 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 4294967295 }, Return, Call { location: 207 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, JumpIf { condition: Relative(5), location: 26 }, BinaryIntOp { destination: Relative(8), op: Div, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 26 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 34 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, JumpIf { condition: Relative(8), location: 34 }, Call { location: 213 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(6), location: 39 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U8) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(9), op: Sub, lhs: Relative(8), rhs: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 3 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, Const { destination: Relative(14), bit_size: Field, value: 3 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 127 }, Const { destination: Relative(17), bit_size: Field, value: 127 }, Const { destination: Relative(18), bit_size: Integer(U16), value: 12 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 58 }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(20), location: 133 }, Jump { location: 61 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 108 }, Jump { location: 82 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 86 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(2), location: 89 }, Jump { location: 107 }, JumpIf { condition: Relative(6), location: 106 }, Jump { location: 91 }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 99 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32835) }, JumpIf { condition: Relative(8), location: 99 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 103 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(2) }, Jump { location: 86 }, Jump { location: 107 }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 115 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Mov { destination: Relative(5), source: Relative(10) }, Jump { location: 117 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 123 }, Jump { location: 120 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 130 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(19) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 117 }, JumpIf { condition: Relative(6), location: 135 }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, JumpIf { condition: Relative(21), location: 143 }, BinaryIntOp { destination: Relative(24), op: Div, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Direct(32835) }, JumpIf { condition: Relative(23), location: 143 }, Call { location: 213 }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(21) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U16) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(22), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(23), bit_size: U1 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(24), rhs: Relative(7) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(25), op: Mul, lhs: Relative(24), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(24), op: Add, lhs: Relative(23), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(14), rhs: Relative(24) }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(24), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 162 }, Call { location: 213 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(24), rhs: Relative(21) }, JumpIf { condition: Relative(23), location: 168 }, Call { location: 213 }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U8, lhs: Relative(21), rhs: Relative(16) }, Cast { destination: Relative(21), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(24), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(24), bit_size: U1 }, Cast { destination: Relative(25), source: Relative(22), bit_size: Field }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(22), op: Sub, lhs: Relative(8), rhs: Relative(25) }, Cast { destination: Relative(25), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(26), op: Mul, lhs: Relative(25), rhs: Relative(22) }, BinaryFieldOp { destination: Relative(22), op: Add, lhs: Relative(24), rhs: Relative(26) }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(17) }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(22), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 189 }, Call { location: 213 }, Cast { destination: Relative(22), source: Relative(24), bit_size: Integer(U8) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(24) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(22), rhs: Relative(21) }, JumpIf { condition: Relative(24), location: 195 }, Call { location: 213 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U16, lhs: Relative(23), rhs: Relative(18) }, JumpIf { condition: Relative(21), location: 199 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, JumpIf { condition: Relative(21), location: 203 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(20) }, Jump { location: 58 }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 212 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "pZfLbuJAEEX/xWsW/ayu5ldGUUSIEyFZgBwYaRTx71PlrkuShVl0NpwL9j3YptzA5/A6vlzfnw/Ht9PHsP3zObzMh2k6vD9Pp/3ucjgd5dXPwemD52EbNoOvC4Jr8A2hITakhtxAwzYKSgM31AXRNfiG0BAbxJIEuYEaSgM3iIU2Q3INYimC0CAWFqSGvCBLr24Gkj29FwZjNCZjNpKxGNlYG4szmq+Yr5ivmK+Yr5ivaF8uDev+ch4cjbo9b4aqPjmjGozRmIzZSMZiZKP65Rp45xA8QkCICFpiDdWCdwjaqhoCQkRICPLewUlYJsJr0CnQSVnmYAkZgbBPQWCEaiHCo598iBoIoSAwQrWgM9CCRwgIcRkIb6PgbRZ8ImMxsrE2Zmf0xmCMRvNl82XzZfNl82XzkfnIfGQ+Mh+Zj8xH5iPzkfl0+oJMi9fxa8EjBISIkBAyAiEUBEaAmWFmmBlmhplhZpgZZoaZYWaYK8wV5gpzhbnCrHMesgZCKAiMoGbSBckheISAoEK63TYDlrXnyzyOuqp9W+dk9Tvv5vF4GbbH6zRthr+76brs9HHeHRdedrNslWkfj69CEb4dplHTbfPVdutVuaBWlsO81/PPvl/vp5qsn2rt6GcfrZ899/Qjo5/iWv/B+QdXcP4xr/Xzep9ytj6R7+iXUK1fInX186/6FDE8lHzP9Uv3+aGw+vk9EDAFEzDFLgHjCnCljjOICQcQef0M4oNbKDgygw++T/F1G3pZf/qOgtL9KEruU1RcSvnScz0fRq24neSrPv7aQF0Gj1uqxq6TkJ8i9+vgUvq9omdhIMbCRusL68OFAeNQ1hfGh/1473NPv9z75Wf/SZ7t9of5x0/6m5rmw+5lGu3p2/W4/7b18u+MLfhLcJ5P+/H1Oo9q+va/QB7/6LouN+OT/iDUpzL3weenm779fw==", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index e8e4c8ff7b8..9d156e7b3e2 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/loop_invariant_regression/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -28,10 +28,6 @@ expression: artifact ], "return_type": null, "error_types": { - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -50,7 +46,7 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 15 }, Call { location: 17 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 4294967295 }, Return, Call { location: 207 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, JumpIf { condition: Relative(5), location: 26 }, BinaryIntOp { destination: Relative(8), op: Div, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 26 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 34 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, JumpIf { condition: Relative(8), location: 34 }, Call { location: 213 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(6), location: 39 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U8) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(9), op: Sub, lhs: Relative(8), rhs: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 3 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, Const { destination: Relative(14), bit_size: Field, value: 3 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 127 }, Const { destination: Relative(17), bit_size: Field, value: 127 }, Const { destination: Relative(18), bit_size: Integer(U16), value: 12 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 58 }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(20), location: 133 }, Jump { location: 61 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 108 }, Jump { location: 82 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 86 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(2), location: 89 }, Jump { location: 107 }, JumpIf { condition: Relative(6), location: 106 }, Jump { location: 91 }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 99 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32835) }, JumpIf { condition: Relative(8), location: 99 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 103 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(2) }, Jump { location: 86 }, Jump { location: 107 }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 115 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Mov { destination: Relative(5), source: Relative(10) }, Jump { location: 117 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 123 }, Jump { location: 120 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 130 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(19) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 117 }, JumpIf { condition: Relative(6), location: 135 }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, JumpIf { condition: Relative(21), location: 143 }, BinaryIntOp { destination: Relative(24), op: Div, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Direct(32835) }, JumpIf { condition: Relative(23), location: 143 }, Call { location: 213 }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(21) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U16) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(22), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(23), bit_size: U1 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(24), rhs: Relative(7) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(25), op: Mul, lhs: Relative(24), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(24), op: Add, lhs: Relative(23), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(14), rhs: Relative(24) }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(24), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 162 }, Call { location: 213 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(24), rhs: Relative(21) }, JumpIf { condition: Relative(23), location: 168 }, Call { location: 216 }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U8, lhs: Relative(21), rhs: Relative(16) }, Cast { destination: Relative(21), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(24), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(24), bit_size: U1 }, Cast { destination: Relative(25), source: Relative(22), bit_size: Field }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(22), op: Sub, lhs: Relative(8), rhs: Relative(25) }, Cast { destination: Relative(25), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(26), op: Mul, lhs: Relative(25), rhs: Relative(22) }, BinaryFieldOp { destination: Relative(22), op: Add, lhs: Relative(24), rhs: Relative(26) }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(17) }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(22), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 189 }, Call { location: 213 }, Cast { destination: Relative(22), source: Relative(24), bit_size: Integer(U8) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(24) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(22), rhs: Relative(21) }, JumpIf { condition: Relative(24), location: 195 }, Call { location: 216 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U16, lhs: Relative(23), rhs: Relative(18) }, JumpIf { condition: Relative(21), location: 199 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, JumpIf { condition: Relative(21), location: 203 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(20) }, Jump { location: 58 }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 212 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 15 }, Call { location: 17 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 4294967295 }, Return, Call { location: 207 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, JumpIf { condition: Relative(5), location: 26 }, BinaryIntOp { destination: Relative(8), op: Div, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 26 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 34 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, JumpIf { condition: Relative(8), location: 34 }, Call { location: 213 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 12 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(6), location: 39 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U8) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(9), op: Sub, lhs: Relative(8), rhs: Relative(7) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 3 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, Const { destination: Relative(14), bit_size: Field, value: 3 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 127 }, Const { destination: Relative(17), bit_size: Field, value: 127 }, Const { destination: Relative(18), bit_size: Integer(U16), value: 12 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 58 }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(20), location: 133 }, Jump { location: 61 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(5), location: 108 }, Jump { location: 82 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(3), source: Relative(10) }, Jump { location: 86 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, JumpIf { condition: Relative(2), location: 89 }, Jump { location: 107 }, JumpIf { condition: Relative(6), location: 106 }, Jump { location: 91 }, BinaryIntOp { destination: Relative(2), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 99 }, BinaryIntOp { destination: Relative(9), op: Div, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32835) }, JumpIf { condition: Relative(8), location: 99 }, Call { location: 213 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 103 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(2) }, Jump { location: 86 }, Jump { location: 107 }, Return, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 115 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Mov { destination: Relative(5), source: Relative(10) }, Jump { location: 117 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(7), location: 123 }, Jump { location: 120 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 79 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 130 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(19) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 117 }, JumpIf { condition: Relative(6), location: 135 }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Mul, bit_size: U32, lhs: Direct(32835), rhs: Relative(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, JumpIf { condition: Relative(21), location: 143 }, BinaryIntOp { destination: Relative(24), op: Div, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Direct(32835) }, JumpIf { condition: Relative(23), location: 143 }, Call { location: 213 }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(21) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U16) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(22), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(5), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(23), bit_size: U1 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(24), rhs: Relative(7) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(25), op: Mul, lhs: Relative(24), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(24), op: Add, lhs: Relative(23), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(23), op: Mul, lhs: Relative(14), rhs: Relative(24) }, Cast { destination: Relative(24), source: Relative(23), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(24), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 162 }, Call { location: 213 }, Cast { destination: Relative(24), source: Relative(23), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: LessThan, bit_size: U8, lhs: Relative(24), rhs: Relative(21) }, JumpIf { condition: Relative(23), location: 168 }, Call { location: 213 }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U8, lhs: Relative(21), rhs: Relative(16) }, Cast { destination: Relative(21), source: Relative(23), bit_size: Integer(U16) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, Cast { destination: Relative(23), source: Relative(24), bit_size: Integer(U16) }, Cast { destination: Relative(21), source: Relative(22), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(21), rhs: Relative(13) }, Not { destination: Relative(21), source: Relative(24), bit_size: U1 }, Cast { destination: Relative(25), source: Relative(22), bit_size: Field }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(25) }, BinaryFieldOp { destination: Relative(22), op: Sub, lhs: Relative(8), rhs: Relative(25) }, Cast { destination: Relative(25), source: Relative(21), bit_size: Field }, BinaryFieldOp { destination: Relative(26), op: Mul, lhs: Relative(25), rhs: Relative(22) }, BinaryFieldOp { destination: Relative(22), op: Add, lhs: Relative(24), rhs: Relative(26) }, BinaryFieldOp { destination: Relative(24), op: Mul, lhs: Relative(22), rhs: Relative(17) }, Cast { destination: Relative(22), source: Relative(24), bit_size: Field }, Const { destination: Relative(25), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(26), op: LessThanEquals, lhs: Relative(22), rhs: Relative(25) }, JumpIf { condition: Relative(26), location: 189 }, Call { location: 213 }, Cast { destination: Relative(22), source: Relative(24), bit_size: Integer(U8) }, Cast { destination: Relative(24), source: Relative(21), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U8, lhs: Relative(13), rhs: Relative(24) }, BinaryIntOp { destination: Relative(24), op: LessThan, bit_size: U8, lhs: Relative(22), rhs: Relative(21) }, JumpIf { condition: Relative(24), location: 195 }, Call { location: 213 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U16, lhs: Relative(23), rhs: Relative(18) }, JumpIf { condition: Relative(21), location: 199 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(4) }, JumpIf { condition: Relative(21), location: 203 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, Jump { location: 204 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(19) }, Mov { destination: Relative(3), source: Relative(20) }, Jump { location: 58 }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 212 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "pZfLbuJAEEX/xWsW/ayu5ldGUUSIEyFZgBwYaRTx71PlrkuShVl0NpwL9j3YptzA5/A6vlzfnw/Ht9PHsP3zObzMh2k6vD9Pp/3ucjgd5dXPwemD52EbNoOvC4Jr8A2hITakhtxAwzYKSgM31AXRNfiG0BAbxJIEuYEaSgM3iIU2Q3INYimC0CAWFqSGvCBLr24Gkj29FwZjNCZjNpKxGNlYG4szmq+Yr5ivmK+Yr5ivaF8uDev+ch4cjbo9b4aqPjmjGozRmIzZSMZiZKP65Rp45xA8QkCICFpiDdWCdwjaqhoCQkRICPLewUlYJsJr0CnQSVnmYAkZgbBPQWCEaiHCo598iBoIoSAwQrWgM9CCRwgIcRkIb6PgbRZ8ImMxsrE2Zmf0xmCMRvNl82XzZfNl82XzkfnIfGQ+Mh+Zj8xH5iPzkfl0+oJMi9fxa8EjBISIkBAyAiEUBEaAmWFmmBlmhplhZpgZZoaZYWaYK8wV5gpzhbnCrHMesgZCKAiMoGbSBckheISAoEK63TYDlrXnyzyOuqp9W+dk9Tvv5vF4GbbH6zRthr+76brs9HHeHRdedrNslWkfj69CEb4dplHTbfPVdutVuaBWlsO81/PPvl/vp5qsn2rt6GcfrZ899/Qjo5/iWv/B+QdXcP4xr/Xzep9ytj6R7+iXUK1fInX186/6FDE8lHzP9Uv3+aGw+vk9EDAFEzDFLgHjCnCljjOICQcQef0M4oNbKDgygw++T/F1G3pZf/qOgtL9KEruU1RcSvnScz0fRq24neSrPv7aQF0Gj1uqxq6TkJ8i9+vgUvq9omdhIMbCRusL68OFAeNQ1hfGh/1473NPv9z75Wf/SZ7t9of5x0/6m5rmw+5lGu3p2/W4/7b18u+MLfhLcJ5P+/H1Oo9q+va/QB7/6LouN+OT/iDUpzL3weenm779fw==", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index ebdf9f7b1c5..a600b363661 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -63,7 +63,7 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(2))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Direct(32838) }, Call { location: 17 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 224 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U32) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 34 }, Call { location: 230 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 13 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 39 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(10), location: 49 }, Call { location: 233 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 59 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, JumpIf { condition: Relative(10), location: 64 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(5), location: 77 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967289 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 82 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(1), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U32) }, Not { destination: Relative(5), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 91 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(7), location: 99 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U32) }, Not { destination: Relative(9), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 110 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967283 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 115 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(5), location: 123 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(10), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(10), rhs: Relative(9) }, Const { destination: Relative(10), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(9), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(2), bit_size: Field }, Cast { destination: Relative(11), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(12), op: Mul, lhs: Relative(11), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(7) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(7), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(12), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(9), rhs: Relative(7) }, Cast { destination: Relative(9), source: Relative(6), bit_size: Field }, Const { destination: Relative(11), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(12), op: LessThanEquals, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 151 }, Call { location: 236 }, Cast { destination: Relative(9), source: Relative(6), bit_size: Integer(U32) }, Not { destination: Relative(6), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 159 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U64), value: 40 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U64, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 164 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 170 }, Jump { location: 172 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 174 }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 174 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(11), location: 180 }, Jump { location: 182 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 184 }, Mov { destination: Relative(12), source: Relative(1) }, Jump { location: 184 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 188 }, Jump { location: 190 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(3), bit_size: Field }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(3), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(3), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(9), rhs: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(5), rhs: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(7) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 211 }, Call { location: 236 }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Not { destination: Relative(4), source: Relative(2), bit_size: U1 }, Cast { destination: Relative(2), source: Relative(4), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 218 }, Call { location: 230 }, Const { destination: Relative(2), bit_size: Integer(U64), value: 4294967288 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U64, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 223 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 229 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Direct(32838) }, Call { location: 17 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 224 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U32) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 34 }, Call { location: 230 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 13 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 39 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(10), location: 49 }, Call { location: 233 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 59 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, JumpIf { condition: Relative(10), location: 64 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(5), location: 77 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967289 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 82 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(1), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U32) }, Not { destination: Relative(5), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 91 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(7), location: 99 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U32) }, Not { destination: Relative(9), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 110 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967283 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 115 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(5), location: 123 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(10), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(10), rhs: Relative(9) }, Const { destination: Relative(10), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(9), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(2), bit_size: Field }, Cast { destination: Relative(11), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(12), op: Mul, lhs: Relative(11), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(7) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(7), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(12), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(9), rhs: Relative(7) }, Cast { destination: Relative(9), source: Relative(6), bit_size: Field }, Const { destination: Relative(11), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(12), op: LessThanEquals, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 151 }, Call { location: 236 }, Cast { destination: Relative(9), source: Relative(6), bit_size: Integer(U32) }, Not { destination: Relative(6), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 159 }, Call { location: 236 }, Const { destination: Relative(5), bit_size: Integer(U64), value: 40 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U64, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 164 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 170 }, Jump { location: 172 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 174 }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 174 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(11), location: 180 }, Jump { location: 182 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 184 }, Mov { destination: Relative(12), source: Relative(1) }, Jump { location: 184 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 188 }, Jump { location: 190 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(3), bit_size: Field }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(3), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(3), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(9), rhs: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(5), rhs: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(7) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 211 }, Call { location: 236 }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Not { destination: Relative(4), source: Relative(2), bit_size: U1 }, Cast { destination: Relative(2), source: Relative(4), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 218 }, Call { location: 236 }, Const { destination: Relative(2), bit_size: Integer(U64), value: 4294967288 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U64, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 223 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 229 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "pZbBbqswEEX/hTULj8djD/2VqqrSlFaRUBLR5ElPVf792VxuX7vohmxyTkrngAAHPrvX8eX6/nw4vp0+uofHz+5lPkzT4f15Ou13l8PpWP/62YX2IUP3IH0XAyBABBRIgAEZKIADqCgqioqioqhorcQKAzJQAAdqRfsuBUCACCiQAAMyUAAHaiX1nQVAgAgokAADMlAAB2rF+i4HQIAIKFArucKADBTAgWFBCYAAEVAAlYJKQaXUSqlwYFjgARCgVrxCgQQYkIECODAsGAJQK0NFBBRIgAEZKIAD7UqHvpMQKEKJFKUkilEypVCcwrK0sjQRSqQoJVFaOTbJlEJxyrDKcpcvIpRIaWVtkihGyZRCccqwynLnLyKUSGFZWVaWlWVlWVlWlhPLieXEcmI5sZxYTiwnlhPLiWVj2Vg2lo1lY9lYNpaNZWO5rRmpa0faqoEIJVKU0srWxCiZUihOGVZpKwkilEhRCsuF5cJyYbmwXFh2lp1lZ9lZdpadZWfZWXaWneW24iQ3EUqkKCVRjJIpheKUARJDoAglUpSSKEbJlEJxCsvCsrAsLAvLwrKwLCwLy8saLE2GVZY1uIhQWrncbn3Hx9PzZR7H9nT69ryqT7Hzbh6Pl+7heJ2mvvuzm67LP32cd8eFl91ct9afkPH4WlmDb4dpbHbr/0+H30frwl6H66r9GrdN88OW+Zw4n/OG+Xpp1/l63e6cL1vmi3K++H3znjbMa5R1XuOW66fK/avalvnC86cud85vOX9JePxJthx/MuN8DnfOb7l/7ev8m/p98yneOf9z/0/1225/mH+8Qd9aaT7sXqZx/fp2Pe6/bb38PXML38DP82k/vl7nsZW+vYbXz8cYUx/j8NReWdrXejRR7enWdv8P", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_0.snap index ebdf9f7b1c5..a600b363661 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_0.snap @@ -63,7 +63,7 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(2))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Direct(32838) }, Call { location: 17 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 224 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U32) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 34 }, Call { location: 230 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 13 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 39 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(10), location: 49 }, Call { location: 233 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 59 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, JumpIf { condition: Relative(10), location: 64 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(5), location: 77 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967289 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 82 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(1), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U32) }, Not { destination: Relative(5), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 91 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(7), location: 99 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U32) }, Not { destination: Relative(9), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 110 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967283 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 115 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(5), location: 123 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(10), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(10), rhs: Relative(9) }, Const { destination: Relative(10), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(9), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(2), bit_size: Field }, Cast { destination: Relative(11), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(12), op: Mul, lhs: Relative(11), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(7) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(7), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(12), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(9), rhs: Relative(7) }, Cast { destination: Relative(9), source: Relative(6), bit_size: Field }, Const { destination: Relative(11), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(12), op: LessThanEquals, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 151 }, Call { location: 236 }, Cast { destination: Relative(9), source: Relative(6), bit_size: Integer(U32) }, Not { destination: Relative(6), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 159 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U64), value: 40 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U64, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 164 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 170 }, Jump { location: 172 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 174 }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 174 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(11), location: 180 }, Jump { location: 182 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 184 }, Mov { destination: Relative(12), source: Relative(1) }, Jump { location: 184 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 188 }, Jump { location: 190 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(3), bit_size: Field }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(3), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(3), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(9), rhs: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(5), rhs: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(7) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 211 }, Call { location: 236 }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Not { destination: Relative(4), source: Relative(2), bit_size: U1 }, Cast { destination: Relative(2), source: Relative(4), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 218 }, Call { location: 230 }, Const { destination: Relative(2), bit_size: Integer(U64), value: 4294967288 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U64, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 223 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 229 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Direct(32838) }, Call { location: 17 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 224 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U32) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 34 }, Call { location: 230 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 13 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 39 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(10), location: 49 }, Call { location: 233 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 59 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, JumpIf { condition: Relative(10), location: 64 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(5), location: 77 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967289 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 82 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(1), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U32) }, Not { destination: Relative(5), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 91 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(7), location: 99 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U32) }, Not { destination: Relative(9), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 110 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967283 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 115 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(5), location: 123 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(10), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(10), rhs: Relative(9) }, Const { destination: Relative(10), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(9), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(2), bit_size: Field }, Cast { destination: Relative(11), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(12), op: Mul, lhs: Relative(11), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(7) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(7), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(12), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(9), rhs: Relative(7) }, Cast { destination: Relative(9), source: Relative(6), bit_size: Field }, Const { destination: Relative(11), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(12), op: LessThanEquals, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 151 }, Call { location: 236 }, Cast { destination: Relative(9), source: Relative(6), bit_size: Integer(U32) }, Not { destination: Relative(6), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 159 }, Call { location: 236 }, Const { destination: Relative(5), bit_size: Integer(U64), value: 40 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U64, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 164 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 170 }, Jump { location: 172 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 174 }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 174 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(11), location: 180 }, Jump { location: 182 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 184 }, Mov { destination: Relative(12), source: Relative(1) }, Jump { location: 184 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 188 }, Jump { location: 190 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(3), bit_size: Field }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(3), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(3), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(9), rhs: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(5), rhs: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(7) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 211 }, Call { location: 236 }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Not { destination: Relative(4), source: Relative(2), bit_size: U1 }, Cast { destination: Relative(2), source: Relative(4), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 218 }, Call { location: 236 }, Const { destination: Relative(2), bit_size: Integer(U64), value: 4294967288 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U64, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 223 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 229 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "pZbBbqswEEX/hTULj8djD/2VqqrSlFaRUBLR5ElPVf792VxuX7vohmxyTkrngAAHPrvX8eX6/nw4vp0+uofHz+5lPkzT4f15Ou13l8PpWP/62YX2IUP3IH0XAyBABBRIgAEZKIADqCgqioqioqhorcQKAzJQAAdqRfsuBUCACCiQAAMyUAAHaiX1nQVAgAgokAADMlAAB2rF+i4HQIAIKFArucKADBTAgWFBCYAAEVAAlYJKQaXUSqlwYFjgARCgVrxCgQQYkIECODAsGAJQK0NFBBRIgAEZKIAD7UqHvpMQKEKJFKUkilEypVCcwrK0sjQRSqQoJVFaOTbJlEJxyrDKcpcvIpRIaWVtkihGyZRCccqwynLnLyKUSGFZWVaWlWVlWVlWlhPLieXEcmI5sZxYTiwnlhPLiWVj2Vg2lo1lY9lYNpaNZWO5rRmpa0faqoEIJVKU0srWxCiZUihOGVZpKwkilEhRCsuF5cJyYbmwXFh2lp1lZ9lZdpadZWfZWXaWneW24iQ3EUqkKCVRjJIpheKUARJDoAglUpSSKEbJlEJxCsvCsrAsLAvLwrKwLCwLy8saLE2GVZY1uIhQWrncbn3Hx9PzZR7H9nT69ryqT7Hzbh6Pl+7heJ2mvvuzm67LP32cd8eFl91ct9afkPH4WlmDb4dpbHbr/0+H30frwl6H66r9GrdN88OW+Zw4n/OG+Xpp1/l63e6cL1vmi3K++H3znjbMa5R1XuOW66fK/avalvnC86cud85vOX9JePxJthx/MuN8DnfOb7l/7ev8m/p98yneOf9z/0/1225/mH+8Qd9aaT7sXqZx/fp2Pe6/bb38PXML38DP82k/vl7nsZW+vYbXz8cYUx/j8NReWdrXejRR7enWdv8P", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index ebdf9f7b1c5..a600b363661 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_arithmetic/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -63,7 +63,7 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(2))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Direct(32838) }, Call { location: 17 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 224 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U32) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 34 }, Call { location: 230 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 13 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 39 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(10), location: 49 }, Call { location: 233 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 59 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, JumpIf { condition: Relative(10), location: 64 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(5), location: 77 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967289 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 82 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(1), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U32) }, Not { destination: Relative(5), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 91 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(7), location: 99 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U32) }, Not { destination: Relative(9), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 110 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967283 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 115 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(5), location: 123 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(10), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(10), rhs: Relative(9) }, Const { destination: Relative(10), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(9), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(2), bit_size: Field }, Cast { destination: Relative(11), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(12), op: Mul, lhs: Relative(11), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(7) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(7), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(12), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(9), rhs: Relative(7) }, Cast { destination: Relative(9), source: Relative(6), bit_size: Field }, Const { destination: Relative(11), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(12), op: LessThanEquals, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 151 }, Call { location: 236 }, Cast { destination: Relative(9), source: Relative(6), bit_size: Integer(U32) }, Not { destination: Relative(6), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 159 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U64), value: 40 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U64, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 164 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 170 }, Jump { location: 172 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 174 }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 174 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(11), location: 180 }, Jump { location: 182 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 184 }, Mov { destination: Relative(12), source: Relative(1) }, Jump { location: 184 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 188 }, Jump { location: 190 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(3), bit_size: Field }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(3), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(3), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(9), rhs: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(5), rhs: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(7) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 211 }, Call { location: 236 }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Not { destination: Relative(4), source: Relative(2), bit_size: U1 }, Cast { destination: Relative(2), source: Relative(4), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 218 }, Call { location: 230 }, Const { destination: Relative(2), bit_size: Integer(U64), value: 4294967288 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U64, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 223 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 229 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Direct(32838) }, Call { location: 17 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 224 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(5), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Integer(U32) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U32) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 34 }, Call { location: 230 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 13 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 39 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(10), location: 49 }, Call { location: 233 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 59 }, Call { location: 230 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, JumpIf { condition: Relative(10), location: 64 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Integer(U32) }, Cast { destination: Relative(10), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(11), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(5), location: 77 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967289 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 82 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(1), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U32) }, Not { destination: Relative(5), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 91 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(7), location: 99 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(7), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U32) }, Not { destination: Relative(9), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(6) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 110 }, Call { location: 233 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967283 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 115 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(5), location: 123 }, Call { location: 233 }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U64) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(7), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, Not { destination: Relative(7), source: Relative(6), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(10), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(10), rhs: Relative(9) }, Const { destination: Relative(10), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(9), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(6), rhs: Relative(7) }, Not { destination: Relative(6), source: Relative(4), bit_size: U1 }, Cast { destination: Relative(7), source: Relative(2), bit_size: Field }, Cast { destination: Relative(11), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(12), op: Mul, lhs: Relative(11), rhs: Relative(7) }, BinaryFieldOp { destination: Relative(11), op: Sub, lhs: Relative(10), rhs: Relative(7) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Field }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(7), rhs: Relative(11) }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(12), rhs: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Mul, lhs: Relative(9), rhs: Relative(7) }, Cast { destination: Relative(9), source: Relative(6), bit_size: Field }, Const { destination: Relative(11), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(12), op: LessThanEquals, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 151 }, Call { location: 236 }, Cast { destination: Relative(9), source: Relative(6), bit_size: Integer(U32) }, Not { destination: Relative(6), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(6), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 159 }, Call { location: 236 }, Const { destination: Relative(5), bit_size: Integer(U64), value: 40 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U64, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 164 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 170 }, Jump { location: 172 }, Mov { destination: Relative(9), source: Relative(16) }, Jump { location: 174 }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 174 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2147483647 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(14), rhs: Relative(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U32, lhs: Relative(15), rhs: Relative(1) }, JumpIf { condition: Relative(11), location: 180 }, Jump { location: 182 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 184 }, Mov { destination: Relative(12), source: Relative(1) }, Jump { location: 184 }, BinaryIntOp { destination: Relative(3), op: Div, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(5), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 188 }, Jump { location: 190 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U64) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(1), source: Relative(5), bit_size: Integer(U64) }, Cast { destination: Relative(2), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(3), bit_size: Field }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(3), rhs: Relative(9) }, BinaryFieldOp { destination: Relative(3), op: Sub, lhs: Relative(10), rhs: Relative(9) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Field }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(9), rhs: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Add, lhs: Relative(5), rhs: Relative(4) }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(7) }, Cast { destination: Relative(3), source: Relative(4), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(3), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 211 }, Call { location: 236 }, Cast { destination: Relative(3), source: Relative(4), bit_size: Integer(U32) }, Not { destination: Relative(4), source: Relative(2), bit_size: U1 }, Cast { destination: Relative(2), source: Relative(4), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 218 }, Call { location: 236 }, Const { destination: Relative(2), bit_size: Integer(U64), value: 4294967288 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U64, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 223 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 229 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "pZbBbqswEEX/hTULj8djD/2VqqrSlFaRUBLR5ElPVf792VxuX7vohmxyTkrngAAHPrvX8eX6/nw4vp0+uofHz+5lPkzT4f15Ou13l8PpWP/62YX2IUP3IH0XAyBABBRIgAEZKIADqCgqioqioqhorcQKAzJQAAdqRfsuBUCACCiQAAMyUAAHaiX1nQVAgAgokAADMlAAB2rF+i4HQIAIKFArucKADBTAgWFBCYAAEVAAlYJKQaXUSqlwYFjgARCgVrxCgQQYkIECODAsGAJQK0NFBBRIgAEZKIAD7UqHvpMQKEKJFKUkilEypVCcwrK0sjQRSqQoJVFaOTbJlEJxyrDKcpcvIpRIaWVtkihGyZRCccqwynLnLyKUSGFZWVaWlWVlWVlWlhPLieXEcmI5sZxYTiwnlhPLiWVj2Vg2lo1lY9lYNpaNZWO5rRmpa0faqoEIJVKU0srWxCiZUihOGVZpKwkilEhRCsuF5cJyYbmwXFh2lp1lZ9lZdpadZWfZWXaWneW24iQ3EUqkKCVRjJIpheKUARJDoAglUpSSKEbJlEJxCsvCsrAsLAvLwrKwLCwLy8saLE2GVZY1uIhQWrncbn3Hx9PzZR7H9nT69ryqT7Hzbh6Pl+7heJ2mvvuzm67LP32cd8eFl91ct9afkPH4WlmDb4dpbHbr/0+H30frwl6H66r9GrdN88OW+Zw4n/OG+Xpp1/l63e6cL1vmi3K++H3znjbMa5R1XuOW66fK/avalvnC86cud85vOX9JePxJthx/MuN8DnfOb7l/7ev8m/p98yneOf9z/0/1225/mH+8Qd9aaT7sXqZx/fp2Pe6/bb38PXML38DP82k/vl7nsZW+vYbXz8cYUx/j8NReWdrXejRR7enWdv8P", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 6225fc624ed..4bcbe382c48 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -23,10 +23,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_0.snap index 6225fc624ed..4bcbe382c48 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_0.snap @@ -23,10 +23,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 6225fc624ed..4bcbe382c48 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -23,10 +23,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index aadcb8fded0..cfd8daaca0b 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -23,10 +23,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -45,9 +41,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 88 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(6) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(5) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(3), location: 24 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U8), value: 127 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U8, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Integer(U16) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U16) }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, Not { destination: Relative(3), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(1), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(1), rhs: Relative(9) }, Cast { destination: Relative(1), source: Relative(3), bit_size: Field }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(8), rhs: Relative(9) }, Const { destination: Relative(8), bit_size: Field, value: 127 }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(8) }, Cast { destination: Relative(1), source: Relative(9), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(10), op: LessThanEquals, lhs: Relative(1), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 53 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(9), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(3), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 59 }, Call { location: 97 }, Cast { destination: Relative(1), source: Relative(6), bit_size: Integer(U8) }, Const { destination: Relative(3), bit_size: Integer(U8), value: 1 }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(8) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(8), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(3), location: 73 }, Call { location: 100 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 80 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 87 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 93 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 88 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(6) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(5) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(3), location: 24 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U8), value: 127 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U8, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Integer(U16) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U16) }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, Not { destination: Relative(3), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(1), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(1), rhs: Relative(9) }, Cast { destination: Relative(1), source: Relative(3), bit_size: Field }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(8), rhs: Relative(9) }, Const { destination: Relative(8), bit_size: Field, value: 127 }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(8) }, Cast { destination: Relative(1), source: Relative(9), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(10), op: LessThanEquals, lhs: Relative(1), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 53 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(9), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(3), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 59 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(6), bit_size: Integer(U8) }, Const { destination: Relative(3), bit_size: Integer(U8), value: 1 }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(8) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(8), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(3), location: 73 }, Call { location: 97 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 80 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 87 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 93 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "pdTBisIwEMbxd8m5hyaZSVJfRURqjUshtCW2C4v03Xfaz+7qYWHRS3/WOP+AhNzUOZ6mj2PbXfqr2u1v6pTblNqPY+qbemz7Tr69qXJ5aFY7XSjtgAcBVCumBBoYYAGpnRGkYgUHPAigWrFSIUEDAywgwMABDwKoVggVQoVQIVQIFUKFUCFUCBVChVFhVBgVRoVRYVQYFUaFUWFUnFRY0MAACwgwcMCDAKoVj4pHxaPipeIEAgwc8CCAaiVIxQsaGGABAQZS8fNcqO0sHMcc43IUHg6HHJmhzrEb1a6bUirUZ52m9UfXoe5WxzrLalmo2J1FCV7aFJdPc/E7Xf49at19lqqfYf73tPP36WBembbvTGvaxjWH9+bdS/t73uarV/47o7f9jX2eP8hb3bT56aKYl1Ju61OK99fL1DUPq+PXsK1sF82Q+yaepxyX0sNtI899CEVlD3K9yGHd67IsdGkO87L5Nw==", + "debug_symbols": "pdTNisIwFIbhe8m6C5Ock5/eiojUGodCaUtsBwbpvc9pPzuji4FBN32s8bwBCbmpczpNH8emu/RXVe5v6pSbtm0+jm1fV2PTd/LtTe2Wh2ZV6kJpBzwIIK6YHdDAAAtIlUaQihUc8CCAuGKlQoIGBlhAgIEDHgQQVwgVQoVQIVQIFUKFUCFUCBVChVFhVBgVRoVRYVQYFUaFUWFUnFRY0MAACwgwcMCDAOKKR8Wj4lHxUnECAQYOeBBAXAlS8YIGBlhAgIFU/DwXajsLxzGntByFh8MhR2aocupGVXZT2xbqs2qn9UfXoepWxyrL6q5QqTuLErw0bVo+zcXv9O7vUevusxR/hvnf087fp4N5Zdq+M61pG9cc3pt3L+3veZuPr/x3Rm/7G/s8f5C3qm7y00UxL6XcVKc23V8vU1c/rI5fw7ayXTRD7ut0nnJaSg+3jTz3IRTRHuR6kcO6j76I8TAvW38D", "file_map": { "50": { "source": "fn main(minus_one: i8) {\n assert(minus_one < 0);\n assert(0 < minus_one as u8);\n assert(0 > minus_one);\n let most_negative_number = minus_one * 127 - 1;\n assert(most_negative_number < 0);\n assert(127 > most_negative_number);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_0.snap index aadcb8fded0..cfd8daaca0b 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_0.snap @@ -23,10 +23,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -45,9 +41,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 88 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(6) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(5) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(3), location: 24 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U8), value: 127 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U8, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Integer(U16) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U16) }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, Not { destination: Relative(3), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(1), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(1), rhs: Relative(9) }, Cast { destination: Relative(1), source: Relative(3), bit_size: Field }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(8), rhs: Relative(9) }, Const { destination: Relative(8), bit_size: Field, value: 127 }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(8) }, Cast { destination: Relative(1), source: Relative(9), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(10), op: LessThanEquals, lhs: Relative(1), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 53 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(9), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(3), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 59 }, Call { location: 97 }, Cast { destination: Relative(1), source: Relative(6), bit_size: Integer(U8) }, Const { destination: Relative(3), bit_size: Integer(U8), value: 1 }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(8) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(8), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(3), location: 73 }, Call { location: 100 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 80 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 87 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 93 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 88 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(6) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(5) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(3), location: 24 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U8), value: 127 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U8, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Integer(U16) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U16) }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, Not { destination: Relative(3), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(1), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(1), rhs: Relative(9) }, Cast { destination: Relative(1), source: Relative(3), bit_size: Field }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(8), rhs: Relative(9) }, Const { destination: Relative(8), bit_size: Field, value: 127 }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(8) }, Cast { destination: Relative(1), source: Relative(9), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(10), op: LessThanEquals, lhs: Relative(1), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 53 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(9), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(3), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 59 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(6), bit_size: Integer(U8) }, Const { destination: Relative(3), bit_size: Integer(U8), value: 1 }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(8) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(8), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(3), location: 73 }, Call { location: 97 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 80 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 87 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 93 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "pdTBisIwEMbxd8m5hyaZSVJfRURqjUshtCW2C4v03Xfaz+7qYWHRS3/WOP+AhNzUOZ6mj2PbXfqr2u1v6pTblNqPY+qbemz7Tr69qXJ5aFY7XSjtgAcBVCumBBoYYAGpnRGkYgUHPAigWrFSIUEDAywgwMABDwKoVggVQoVQIVQIFUKFUCFUCBVChVFhVBgVRoVRYVQYFUaFUWFUnFRY0MAACwgwcMCDAKoVj4pHxaPipeIEAgwc8CCAaiVIxQsaGGABAQZS8fNcqO0sHMcc43IUHg6HHJmhzrEb1a6bUirUZ52m9UfXoe5WxzrLalmo2J1FCV7aFJdPc/E7Xf49at19lqqfYf73tPP36WBembbvTGvaxjWH9+bdS/t73uarV/47o7f9jX2eP8hb3bT56aKYl1Ju61OK99fL1DUPq+PXsK1sF82Q+yaepxyX0sNtI899CEVlD3K9yGHd67IsdGkO87L5Nw==", + "debug_symbols": "pdTNisIwFIbhe8m6C5Ock5/eiojUGodCaUtsBwbpvc9pPzuji4FBN32s8bwBCbmpczpNH8emu/RXVe5v6pSbtm0+jm1fV2PTd/LtTe2Wh2ZV6kJpBzwIIK6YHdDAAAtIlUaQihUc8CCAuGKlQoIGBlhAgIEDHgQQVwgVQoVQIVQIFUKFUCFUCBVChVFhVBgVRoVRYVQYFUaFUWFUnFRY0MAACwgwcMCDAOKKR8Wj4lHxUnECAQYOeBBAXAlS8YIGBlhAgIFU/DwXajsLxzGntByFh8MhR2aocupGVXZT2xbqs2qn9UfXoepWxyrL6q5QqTuLErw0bVo+zcXv9O7vUevusxR/hvnf087fp4N5Zdq+M61pG9cc3pt3L+3veZuPr/x3Rm/7G/s8f5C3qm7y00UxL6XcVKc23V8vU1c/rI5fw7ayXTRD7ut0nnJaSg+3jTz3IRTRHuR6kcO6j76I8TAvW38D", "file_map": { "50": { "source": "fn main(minus_one: i8) {\n assert(minus_one < 0);\n assert(0 < minus_one as u8);\n assert(0 > minus_one);\n let most_negative_number = minus_one * 127 - 1;\n assert(most_negative_number < 0);\n assert(127 > most_negative_number);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index aadcb8fded0..cfd8daaca0b 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_cmp/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -23,10 +23,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -45,9 +41,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 88 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(6) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(5) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(3), location: 24 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U8), value: 127 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U8, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Integer(U16) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U16) }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, Not { destination: Relative(3), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(1), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(1), rhs: Relative(9) }, Cast { destination: Relative(1), source: Relative(3), bit_size: Field }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(8), rhs: Relative(9) }, Const { destination: Relative(8), bit_size: Field, value: 127 }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(8) }, Cast { destination: Relative(1), source: Relative(9), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(10), op: LessThanEquals, lhs: Relative(1), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 53 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(9), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(3), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 59 }, Call { location: 97 }, Cast { destination: Relative(1), source: Relative(6), bit_size: Integer(U8) }, Const { destination: Relative(3), bit_size: Integer(U8), value: 1 }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(8) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(8), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(3), location: 73 }, Call { location: 100 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 80 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 87 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 93 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 88 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(6) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(5) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(3), location: 24 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U8), value: 127 }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U8, lhs: Relative(1), rhs: Relative(5) }, Cast { destination: Relative(7), source: Relative(6), bit_size: Integer(U16) }, Cast { destination: Relative(8), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(6), source: Relative(8), bit_size: Integer(U16) }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, Not { destination: Relative(3), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(9), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(1), bit_size: Field, value: 256 }, BinaryFieldOp { destination: Relative(10), op: Sub, lhs: Relative(1), rhs: Relative(9) }, Cast { destination: Relative(1), source: Relative(3), bit_size: Field }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(10) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(8), rhs: Relative(9) }, Const { destination: Relative(8), bit_size: Field, value: 127 }, BinaryFieldOp { destination: Relative(9), op: Mul, lhs: Relative(1), rhs: Relative(8) }, Cast { destination: Relative(1), source: Relative(9), bit_size: Field }, Const { destination: Relative(8), bit_size: Field, value: 255 }, BinaryFieldOp { destination: Relative(10), op: LessThanEquals, lhs: Relative(1), rhs: Relative(8) }, JumpIf { condition: Relative(10), location: 53 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(9), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(3), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 59 }, Call { location: 94 }, Cast { destination: Relative(1), source: Relative(6), bit_size: Integer(U8) }, Const { destination: Relative(3), bit_size: Integer(U8), value: 1 }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(8) }, Cast { destination: Relative(3), source: Relative(1), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(6), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(8), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(3), location: 73 }, Call { location: 97 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 80 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(3), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 87 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 93 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "pdTBisIwEMbxd8m5hyaZSVJfRURqjUshtCW2C4v03Xfaz+7qYWHRS3/WOP+AhNzUOZ6mj2PbXfqr2u1v6pTblNqPY+qbemz7Tr69qXJ5aFY7XSjtgAcBVCumBBoYYAGpnRGkYgUHPAigWrFSIUEDAywgwMABDwKoVggVQoVQIVQIFUKFUCFUCBVChVFhVBgVRoVRYVQYFUaFUWFUnFRY0MAACwgwcMCDAKoVj4pHxaPipeIEAgwc8CCAaiVIxQsaGGABAQZS8fNcqO0sHMcc43IUHg6HHJmhzrEb1a6bUirUZ52m9UfXoe5WxzrLalmo2J1FCV7aFJdPc/E7Xf49at19lqqfYf73tPP36WBembbvTGvaxjWH9+bdS/t73uarV/47o7f9jX2eP8hb3bT56aKYl1Ju61OK99fL1DUPq+PXsK1sF82Q+yaepxyX0sNtI899CEVlD3K9yGHd67IsdGkO87L5Nw==", + "debug_symbols": "pdTNisIwFIbhe8m6C5Ock5/eiojUGodCaUtsBwbpvc9pPzuji4FBN32s8bwBCbmpczpNH8emu/RXVe5v6pSbtm0+jm1fV2PTd/LtTe2Wh2ZV6kJpBzwIIK6YHdDAAAtIlUaQihUc8CCAuGKlQoIGBlhAgIEDHgQQVwgVQoVQIVQIFUKFUCFUCBVChVFhVBgVRoVRYVQYFUaFUWFUnFRY0MAACwgwcMCDAOKKR8Wj4lHxUnECAQYOeBBAXAlS8YIGBlhAgIFU/DwXajsLxzGntByFh8MhR2aocupGVXZT2xbqs2qn9UfXoepWxyrL6q5QqTuLErw0bVo+zcXv9O7vUevusxR/hvnf087fp4N5Zdq+M61pG9cc3pt3L+3veZuPr/x3Rm/7G/s8f5C3qm7y00UxL6XcVKc23V8vU1c/rI5fw7ayXTRD7ut0nnJaSg+3jTz3IRTRHuR6kcO6j76I8TAvW38D", "file_map": { "50": { "source": "fn main(minus_one: i8) {\n assert(minus_one < 0);\n assert(0 < minus_one as u8);\n assert(0 > minus_one);\n let most_negative_number = minus_one * 127 - 1;\n assert(most_negative_number < 0);\n assert(127 > most_negative_number);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 140a7a519bd..929727808cd 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -37,10 +37,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_0.snap index 140a7a519bd..929727808cd 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_0.snap @@ -37,10 +37,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 140a7a519bd..929727808cd 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -37,10 +37,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 6887dcffcfe..4dcbdc3eaf7 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -37,10 +37,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -59,7 +55,7 @@ expression: artifact "return value indices : [_2]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: [Simple(Witness(2))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 75 }, JumpIf { condition: Relative(2), location: 71 }, Jump { location: 20 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Not { destination: Relative(5), source: Relative(7), bit_size: U1 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 33 }, Call { location: 81 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U64) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(10), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(11), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(2), rhs: Relative(11) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(12), op: Sub, lhs: Relative(2), rhs: Relative(11) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Field }, BinaryFieldOp { destination: Relative(10), op: Mul, lhs: Relative(11), rhs: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(8), rhs: Relative(10) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(1), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(2), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(7), rhs: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(11), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(1), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 60 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(9), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 68 }, Call { location: 87 }, Cast { destination: Relative(1), source: Relative(4), bit_size: Integer(U32) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 80 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 75 }, JumpIf { condition: Relative(2), location: 71 }, Jump { location: 20 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Not { destination: Relative(5), source: Relative(7), bit_size: U1 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 33 }, Call { location: 81 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U64) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(10), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(11), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(2), rhs: Relative(11) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(12), op: Sub, lhs: Relative(2), rhs: Relative(11) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Field }, BinaryFieldOp { destination: Relative(10), op: Mul, lhs: Relative(11), rhs: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(8), rhs: Relative(10) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(1), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(2), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(7), rhs: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(11), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(1), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 60 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(9), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 68 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(4), bit_size: Integer(U32) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 80 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "jdLNjoMgFIbhe2HNwh8OYm/FGIOKDQlBQ3WSifHeB/zqtF1MMhveWnqeNpSdjabf7p310/xgt2ZnfbDO2Xvn5kGvdvbx3Z1laSnimnNW5EiBlIhACJFIhSikPlNCKaGUUMqoFDECIUQiFaKQ+ozIkBwpECgCioAioAgoAoqAQlAICkEhKASFoBAUgkJQCIqEIqFIKBKKhCKhSCgSikzKcXB2HXW3BmPSSb+dffxHFh2MX9nNb85x9qXddn7osWh/dtUh7macGT/GRnCyzqRXB39NZ3+PquI5q8TvMP1/Or+m64/pNj7pwYaPm3QkJ1jdO/N8nDY/vO2u38u1c93EJcyDGbdgkvS6jnlcm4q4ylrO8nj4TfwlqmyP9NU/", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_0.snap index 6887dcffcfe..4dcbdc3eaf7 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_0.snap @@ -37,10 +37,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -59,7 +55,7 @@ expression: artifact "return value indices : [_2]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: [Simple(Witness(2))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 75 }, JumpIf { condition: Relative(2), location: 71 }, Jump { location: 20 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Not { destination: Relative(5), source: Relative(7), bit_size: U1 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 33 }, Call { location: 81 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U64) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(10), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(11), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(2), rhs: Relative(11) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(12), op: Sub, lhs: Relative(2), rhs: Relative(11) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Field }, BinaryFieldOp { destination: Relative(10), op: Mul, lhs: Relative(11), rhs: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(8), rhs: Relative(10) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(1), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(2), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(7), rhs: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(11), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(1), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 60 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(9), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 68 }, Call { location: 87 }, Cast { destination: Relative(1), source: Relative(4), bit_size: Integer(U32) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 80 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 75 }, JumpIf { condition: Relative(2), location: 71 }, Jump { location: 20 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Not { destination: Relative(5), source: Relative(7), bit_size: U1 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 33 }, Call { location: 81 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U64) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(10), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(11), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(2), rhs: Relative(11) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(12), op: Sub, lhs: Relative(2), rhs: Relative(11) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Field }, BinaryFieldOp { destination: Relative(10), op: Mul, lhs: Relative(11), rhs: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(8), rhs: Relative(10) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(1), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(2), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(7), rhs: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(11), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(1), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 60 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(9), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 68 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(4), bit_size: Integer(U32) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 80 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "jdLNjoMgFIbhe2HNwh8OYm/FGIOKDQlBQ3WSifHeB/zqtF1MMhveWnqeNpSdjabf7p310/xgt2ZnfbDO2Xvn5kGvdvbx3Z1laSnimnNW5EiBlIhACJFIhSikPlNCKaGUUMqoFDECIUQiFaKQ+ozIkBwpECgCioAioAgoAoqAQlAICkEhKASFoBAUgkJQCIqEIqFIKBKKhCKhSCgSikzKcXB2HXW3BmPSSb+dffxHFh2MX9nNb85x9qXddn7osWh/dtUh7macGT/GRnCyzqRXB39NZ3+PquI5q8TvMP1/Or+m64/pNj7pwYaPm3QkJ1jdO/N8nDY/vO2u38u1c93EJcyDGbdgkvS6jnlcm4q4ylrO8nj4TfwlqmyP9NU/", "file_map": { diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index 6887dcffcfe..4dcbdc3eaf7 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_overflow_in_else_regression_8617/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -37,10 +37,6 @@ expression: artifact "error_kind": "string", "string": "attempt to subtract with overflow" }, - "5019202896831570965": { - "error_kind": "string", - "string": "attempt to add with overflow" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" @@ -59,7 +55,7 @@ expression: artifact "return value indices : [_2]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: [Simple(Witness(2))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 75 }, JumpIf { condition: Relative(2), location: 71 }, Jump { location: 20 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Not { destination: Relative(5), source: Relative(7), bit_size: U1 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 33 }, Call { location: 81 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U64) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(10), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(11), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(2), rhs: Relative(11) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(12), op: Sub, lhs: Relative(2), rhs: Relative(11) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Field }, BinaryFieldOp { destination: Relative(10), op: Mul, lhs: Relative(11), rhs: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(8), rhs: Relative(10) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(1), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(2), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(7), rhs: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(11), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(1), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 60 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(9), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 68 }, Call { location: 87 }, Cast { destination: Relative(1), source: Relative(4), bit_size: Integer(U32) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 80 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 75 }, JumpIf { condition: Relative(2), location: 71 }, Jump { location: 20 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Not { destination: Relative(5), source: Relative(7), bit_size: U1 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(8), rhs: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 33 }, Call { location: 81 }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U64) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(10), bit_size: Integer(U64) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(8), bit_size: U1 }, Cast { destination: Relative(11), source: Relative(2), bit_size: Field }, Cast { destination: Relative(2), source: Relative(8), bit_size: Field }, BinaryFieldOp { destination: Relative(8), op: Mul, lhs: Relative(2), rhs: Relative(11) }, Const { destination: Relative(2), bit_size: Field, value: 4294967296 }, BinaryFieldOp { destination: Relative(12), op: Sub, lhs: Relative(2), rhs: Relative(11) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Field }, BinaryFieldOp { destination: Relative(10), op: Mul, lhs: Relative(11), rhs: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Add, lhs: Relative(8), rhs: Relative(10) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Field }, Cast { destination: Relative(1), source: Relative(7), bit_size: Field }, BinaryFieldOp { destination: Relative(7), op: Mul, lhs: Relative(1), rhs: Relative(8) }, BinaryFieldOp { destination: Relative(1), op: Sub, lhs: Relative(2), rhs: Relative(8) }, Cast { destination: Relative(2), source: Relative(5), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Mul, lhs: Relative(2), rhs: Relative(1) }, BinaryFieldOp { destination: Relative(1), op: Add, lhs: Relative(7), rhs: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Mul, lhs: Relative(11), rhs: Relative(1) }, Cast { destination: Relative(1), source: Relative(2), bit_size: Field }, Const { destination: Relative(5), bit_size: Field, value: 4294967295 }, BinaryFieldOp { destination: Relative(7), op: LessThanEquals, lhs: Relative(1), rhs: Relative(5) }, JumpIf { condition: Relative(7), location: 60 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(2), bit_size: Integer(U32) }, Not { destination: Relative(2), source: Relative(9), bit_size: U1 }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(5), location: 68 }, Call { location: 84 }, Cast { destination: Relative(1), source: Relative(4), bit_size: Integer(U32) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 73 }, Mov { destination: Relative(1), source: Relative(3) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 80 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 7233212735005103307 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], "debug_symbols": "jdLNjoMgFIbhe2HNwh8OYm/FGIOKDQlBQ3WSifHeB/zqtF1MMhveWnqeNpSdjabf7p310/xgt2ZnfbDO2Xvn5kGvdvbx3Z1laSnimnNW5EiBlIhACJFIhSikPlNCKaGUUMqoFDECIUQiFaKQ+ozIkBwpECgCioAioAgoAoqAQlAICkEhKASFoBAUgkJQCIqEIqFIKBKKhCKhSCgSikzKcXB2HXW3BmPSSb+dffxHFh2MX9nNb85x9qXddn7osWh/dtUh7macGT/GRnCyzqRXB39NZ3+PquI5q8TvMP1/Or+m64/pNj7pwYaPm3QkJ1jdO/N8nDY/vO2u38u1c93EJcyDGbdgkvS6jnlcm4q4ylrO8nj4TfwlqmyP9NU/", "file_map": {