diff --git a/compiler/noirc_evaluator/src/ssa/ssa_gen/context.rs b/compiler/noirc_evaluator/src/ssa/ssa_gen/context.rs index 5ff91ccaa67..36c98b3bda2 100644 --- a/compiler/noirc_evaluator/src/ssa/ssa_gen/context.rs +++ b/compiler/noirc_evaluator/src/ssa/ssa_gen/context.rs @@ -571,14 +571,15 @@ impl<'a> FunctionContext<'a> { let mut result = self.builder.set_location(location).insert_binary(lhs, op, rhs); - // Check for integer overflow + // Check for integer overflow, but only if the result wasn't simplified to a constant if matches!( operator, BinaryOpKind::Add | BinaryOpKind::Subtract | BinaryOpKind::Multiply | BinaryOpKind::ShiftLeft - ) { + ) && !self.builder.current_function.dfg.is_constant(result) + { result = self.check_overflow(result, lhs, rhs, operator, location); } diff --git a/test_programs/compile_success_no_bug/regression_8305/Nargo.toml b/test_programs/compile_success_no_bug/regression_8305/Nargo.toml new file mode 100644 index 00000000000..14fe7710988 --- /dev/null +++ b/test_programs/compile_success_no_bug/regression_8305/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "regression_8305" +type = "bin" +authors = [""] + +[dependencies] diff --git a/test_programs/compile_success_no_bug/regression_8305/src/main.nr b/test_programs/compile_success_no_bug/regression_8305/src/main.nr new file mode 100644 index 00000000000..545a6a0307a --- /dev/null +++ b/test_programs/compile_success_no_bug/regression_8305/src/main.nr @@ -0,0 +1,9 @@ +fn main(a: i32) -> pub i32 { + let mut r: i32 = 0; + let s: i32 = -2; + let e: i32 = -1; + for _ in (s - 0)..(e + 0) { + r = r + a; + } + r +} diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/brillig_cast/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/brillig_cast/execute__tests__force_brillig_false_inliner_0.snap index c0d6bb03c1e..fcf645a3c4f 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/brillig_cast/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/brillig_cast/execute__tests__force_brillig_false_inliner_0.snap @@ -17,7 +17,7 @@ expression: artifact "public parameters indices : []", "return value indices : []" ], - "debug_symbols": "nZDRCoMwDEX/pc99EIc4/ZUxpNYohdCW2ApD/PdFsVOEwdhTcnNzbiCz6KCNQ2Ns70ZRP2bRkkE0Q4NOq2Cc5em8SJFkEwiAR+LkM+UVgQ2ithFRiklh3JZGr+xWgyJ2MynAdlw5sDcIa7fIg86+o0WZ73BRVh+8+J2/3xJf5f/wx/0L/2SltKHrxyZFRrUIu+yj1Sc3vHxy0sc9OQ1dJFiTNo+z3w==", + "debug_symbols": "nZDRCoMwDEX/Jc8+iCCivzKGxBqlENoSW2GI/74ournBXvaU3pyeC+0CPXVpbK0b/ATNbYFOLLMdW/YGo/VOt8uawRnbKES6ggtXK6CQi9C4xJzBjJz2S1NAt8+IojTPgFyvUwsHy7Sd1uxt57/VsioOuazql17+49fFh3/XhMbK94tnFIsd0xGH5MyFxkc4yfljQbyhPgltTTvT7ic=", "file_map": {}, "names": [ "main" diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_empty/unary_operators/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/compile_success_empty/unary_operators/execute__tests__force_brillig_false_inliner_0.snap index 6f05424d830..7de940827c8 100644 --- a/tooling/nargo_cli/tests/snapshots/compile_success_empty/unary_operators/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/compile_success_empty/unary_operators/execute__tests__force_brillig_false_inliner_0.snap @@ -17,7 +17,7 @@ expression: artifact "public parameters indices : []", "return value indices : []" ], - "debug_symbols": "jZDRCoMwDEX/Jc998EWY/soYEmuUQmhLbIUh/vuirJuMDfaU3pyeC+0KA/V56pwfwwztdYVeHLObOg4Wkwtet+tmoMQuCZGu4MTViijkE7Q+MxtYkPNxaY7oj5lQlFYGyA86tXB0TPtpM2+7+q02xW3ql1z/bV/q7/ZNE1onn69dUBz2TM84Zm9PNN1jIeW3ogRLQxbamw6m3Q8=", + "debug_symbols": "XY5BCsQwCEXv4rqLWfcqw1BsaosgJtikMITefWyYQOlK/3/6tcJCc9km1jXuML4rzMYivE0SA2aO6m49B+hyykbkFty4byU00gyjFpEBDpTShvaE2mpGc/oagHTx6oErC13d+XGBge158UBjnIX+ci0abjR/Uyf942Qx0FKMrqTGPPsH", "file_map": {}, "names": [ "main" diff --git a/tooling/nargo_cli/tests/snapshots/compile_success_no_bug/regression_8305/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/compile_success_no_bug/regression_8305/execute__tests__expanded.snap new file mode 100644 index 00000000000..f4a0d225f96 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/compile_success_no_bug/regression_8305/execute__tests__expanded.snap @@ -0,0 +1,13 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: expanded_code +--- +fn main(a: i32) -> pub i32 { + let mut r: i32 = 0; + let s: i32 = -2; + let e: i32 = -1; + for _ in s - 0..e + 0 { + r = r + a; + } + r +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 107be95a6e9..dd548a3c9c0 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -197,7 +197,7 @@ expression: artifact "unconstrained func 1", "[Const { destination: Direct(21), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(20), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(21), offset_address: Direct(20) }, Const { destination: Direct(2), bit_size: Field, value: 0 }, BinaryFieldOp { destination: Direct(3), op: Equals, lhs: Direct(0), rhs: Direct(2) }, JumpIf { condition: Direct(3), location: 8 }, Const { destination: Direct(1), bit_size: Field, value: 1 }, BinaryFieldOp { destination: Direct(0), op: Div, lhs: Direct(1), rhs: Direct(0) }, Stop { return_data: HeapVector { pointer: Direct(20), size: Direct(21) } }]" ], - "debug_symbols": "pZbLjuIwEEX/JWsWLrv84ldGIxQgtCJFAaXJSCPEv0/Z18V0L3oTNj6XmHsQxnF4dOfhuH4cxvly/ez2vx7dcRmnafw4TNdTfx+vs1x9PHedvjzcl2GQS92XeWnd+mWY791+Xqdp1/3pp7W+6fPWz5X3fpFZs+uG+SwU4WWchpKeu/9t83M1p9YlE15tv6FOZkOdLGvf5i19dtpn/2Z/0+eHVz/49/px0/olr/28ra/rb82WvqVX39KWvsvaZ36znzf1/Q/93/KqP43Lt/u1c91efjCuo69jqGOsY6pjriMZgAALoE8QEAwEBcFBIpE1pVxhDUCABRzAgAcCEAFYLCwOFicW+brOAg5gwAMBiEACcgUbABaGhWFhWBgWFksQRCABucIbgAALOIABD8DiYfGweLFEWXUDEGABBzDggQBEIAGwRFgiLBGWCEsUi5xt0QMBiEACckUyAAEWcAAsCZYES4IliUV2b8rl7JVtYxqp0Ta6Rm70jaExNqZyCAszSMZoIA1Wg9PAGryGoCFqSBrUTGomNZOaSc2k5rLLyZYQNEQNSUNuoex3BNJgNTgNrEHNVs1WzWX/U73vcgvlHkAgDVaD08AavIagIWpQs1Mzq5nVzNX8LMfOMvbHaWjP+ss6n748+u9/bzqjfw5uy/U0nNdlKMdOnZOD6B8=", + "debug_symbols": "pZXdiqNAEIXfxWsvurqr/+ZVliWYxAyCmODowhLy7lv26crOXAwM5qa/o53zBbTUe3Puj+v7YZgu14/m7de9Oc7DOA7vh/F66pbhOsnZ+6Nt9PCwzH0vp5pP+9K6dXM/Lc3btI5j2/zpxrX86OPWTYVLN8uuaZt+OgtFeBnGfkuP9n/bfF8ly7VMNj/r/ud9dtpn/2J/1/+HZz/41/rR7Oknr/28r6/X35o9fUvPvqU9fZe1z/xiP+/q+2/6v+WoOw3zlyemcXLJ2obL6ssayhrLmsqay0oGIMAC6BMEBANBQXCQSKwgF1gDEGABBzDggQBEABYLi4PFiUXGzVnAAQx4IAARSEAuYAPAwrAwLAwLw8JikbngCCQgF3gDEGABBzDgAVg8LB4WLxa5ZcEABFjAAQx4IAARSAAsEZYIS4QlwhLFEgQeCEAEEpALkgEIsIADYEmwJFgSLEksUSCWJFNjAAIs4AAGPBCACIhFnoGcC8iYSqq0la6SK31lqIyVqbL6qPqo+qj6qPqo+sosmy0EDVFD0pBr2KYagTRYDU4Da1CzVbNV8zblVJ6uXMM26QikwWpwGliD1xA0RA1qdmpmNbOauZgf28tlHrrj2Ndv6mWdTp8+scvfm+7oR/g2X0/9eZ377eVS9uR18w8=", "file_map": { "50": { "source": "fn main(mut x: i8, mut y: i8, z: i8) {\n let mut s1: i8 = 5;\n let mut s2: i8 = 8;\n assert(-1 as i8 < 0);\n assert(x < y);\n assert(-x < y);\n assert(-y < -x);\n assert((z > x) == false);\n assert(x <= s1);\n assert(z < x - y - s2);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_0.snap index 107be95a6e9..dd548a3c9c0 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_0.snap @@ -197,7 +197,7 @@ expression: artifact "unconstrained func 1", "[Const { destination: Direct(21), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(20), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(21), offset_address: Direct(20) }, Const { destination: Direct(2), bit_size: Field, value: 0 }, BinaryFieldOp { destination: Direct(3), op: Equals, lhs: Direct(0), rhs: Direct(2) }, JumpIf { condition: Direct(3), location: 8 }, Const { destination: Direct(1), bit_size: Field, value: 1 }, BinaryFieldOp { destination: Direct(0), op: Div, lhs: Direct(1), rhs: Direct(0) }, Stop { return_data: HeapVector { pointer: Direct(20), size: Direct(21) } }]" ], - "debug_symbols": "pZbLjuIwEEX/JWsWLrv84ldGIxQgtCJFAaXJSCPEv0/Z18V0L3oTNj6XmHsQxnF4dOfhuH4cxvly/ez2vx7dcRmnafw4TNdTfx+vs1x9PHedvjzcl2GQS92XeWnd+mWY791+Xqdp1/3pp7W+6fPWz5X3fpFZs+uG+SwU4WWchpKeu/9t83M1p9YlE15tv6FOZkOdLGvf5i19dtpn/2Z/0+eHVz/49/px0/olr/28ra/rb82WvqVX39KWvsvaZ36znzf1/Q/93/KqP43Lt/u1c91efjCuo69jqGOsY6pjriMZgAALoE8QEAwEBcFBIpE1pVxhDUCABRzAgAcCEAFYLCwOFicW+brOAg5gwAMBiEACcgUbABaGhWFhWBgWFksQRCABucIbgAALOIABD8DiYfGweLFEWXUDEGABBzDggQBEIAGwRFgiLBGWCEsUi5xt0QMBiEACckUyAAEWcAAsCZYES4IliUV2b8rl7JVtYxqp0Ta6Rm70jaExNqZyCAszSMZoIA1Wg9PAGryGoCFqSBrUTGomNZOaSc2k5rLLyZYQNEQNSUNuoex3BNJgNTgNrEHNVs1WzWX/U73vcgvlHkAgDVaD08AavIagIWpQs1Mzq5nVzNX8LMfOMvbHaWjP+ss6n748+u9/bzqjfw5uy/U0nNdlKMdOnZOD6B8=", + "debug_symbols": "pZXdiqNAEIXfxWsvurqr/+ZVliWYxAyCmODowhLy7lv26crOXAwM5qa/o53zBbTUe3Puj+v7YZgu14/m7de9Oc7DOA7vh/F66pbhOsnZ+6Nt9PCwzH0vp5pP+9K6dXM/Lc3btI5j2/zpxrX86OPWTYVLN8uuaZt+OgtFeBnGfkuP9n/bfF8ly7VMNj/r/ud9dtpn/2J/1/+HZz/41/rR7Oknr/28r6/X35o9fUvPvqU9fZe1z/xiP+/q+2/6v+WoOw3zlyemcXLJ2obL6ssayhrLmsqay0oGIMAC6BMEBANBQXCQSKwgF1gDEGABBzDggQBEABYLi4PFiUXGzVnAAQx4IAARSEAuYAPAwrAwLAwLw8JikbngCCQgF3gDEGABBzDgAVg8LB4WLxa5ZcEABFjAAQx4IAARSAAsEZYIS4QlwhLFEgQeCEAEEpALkgEIsIADYEmwJFgSLEksUSCWJFNjAAIs4AAGPBCACIhFnoGcC8iYSqq0la6SK31lqIyVqbL6qPqo+qj6qPqo+sosmy0EDVFD0pBr2KYagTRYDU4Da1CzVbNV8zblVJ6uXMM26QikwWpwGliD1xA0RA1qdmpmNbOauZgf28tlHrrj2Ndv6mWdTp8+scvfm+7oR/g2X0/9eZ377eVS9uR18w8=", "file_map": { "50": { "source": "fn main(mut x: i8, mut y: i8, z: i8) {\n let mut s1: i8 = 5;\n let mut s2: i8 = 8;\n assert(-1 as i8 < 0);\n assert(x < y);\n assert(-x < y);\n assert(-y < -x);\n assert((z > x) == false);\n assert(x <= s1);\n assert(z < x - y - s2);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 107be95a6e9..dd548a3c9c0 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -197,7 +197,7 @@ expression: artifact "unconstrained func 1", "[Const { destination: Direct(21), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(20), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(21), offset_address: Direct(20) }, Const { destination: Direct(2), bit_size: Field, value: 0 }, BinaryFieldOp { destination: Direct(3), op: Equals, lhs: Direct(0), rhs: Direct(2) }, JumpIf { condition: Direct(3), location: 8 }, Const { destination: Direct(1), bit_size: Field, value: 1 }, BinaryFieldOp { destination: Direct(0), op: Div, lhs: Direct(1), rhs: Direct(0) }, Stop { return_data: HeapVector { pointer: Direct(20), size: Direct(21) } }]" ], - "debug_symbols": "pZbLjuIwEEX/JWsWLrv84ldGIxQgtCJFAaXJSCPEv0/Z18V0L3oTNj6XmHsQxnF4dOfhuH4cxvly/ez2vx7dcRmnafw4TNdTfx+vs1x9PHedvjzcl2GQS92XeWnd+mWY791+Xqdp1/3pp7W+6fPWz5X3fpFZs+uG+SwU4WWchpKeu/9t83M1p9YlE15tv6FOZkOdLGvf5i19dtpn/2Z/0+eHVz/49/px0/olr/28ra/rb82WvqVX39KWvsvaZ36znzf1/Q/93/KqP43Lt/u1c91efjCuo69jqGOsY6pjriMZgAALoE8QEAwEBcFBIpE1pVxhDUCABRzAgAcCEAFYLCwOFicW+brOAg5gwAMBiEACcgUbABaGhWFhWBgWFksQRCABucIbgAALOIABD8DiYfGweLFEWXUDEGABBzDggQBEIAGwRFgiLBGWCEsUi5xt0QMBiEACckUyAAEWcAAsCZYES4IliUV2b8rl7JVtYxqp0Ta6Rm70jaExNqZyCAszSMZoIA1Wg9PAGryGoCFqSBrUTGomNZOaSc2k5rLLyZYQNEQNSUNuoex3BNJgNTgNrEHNVs1WzWX/U73vcgvlHkAgDVaD08AavIagIWpQs1Mzq5nVzNX8LMfOMvbHaWjP+ss6n748+u9/bzqjfw5uy/U0nNdlKMdOnZOD6B8=", + "debug_symbols": "pZXdiqNAEIXfxWsvurqr/+ZVliWYxAyCmODowhLy7lv26crOXAwM5qa/o53zBbTUe3Puj+v7YZgu14/m7de9Oc7DOA7vh/F66pbhOsnZ+6Nt9PCwzH0vp5pP+9K6dXM/Lc3btI5j2/zpxrX86OPWTYVLN8uuaZt+OgtFeBnGfkuP9n/bfF8ly7VMNj/r/ud9dtpn/2J/1/+HZz/41/rR7Oknr/28r6/X35o9fUvPvqU9fZe1z/xiP+/q+2/6v+WoOw3zlyemcXLJ2obL6ssayhrLmsqay0oGIMAC6BMEBANBQXCQSKwgF1gDEGABBzDggQBEABYLi4PFiUXGzVnAAQx4IAARSEAuYAPAwrAwLAwLw8JikbngCCQgF3gDEGABBzDgAVg8LB4WLxa5ZcEABFjAAQx4IAARSAAsEZYIS4QlwhLFEgQeCEAEEpALkgEIsIADYEmwJFgSLEksUSCWJFNjAAIs4AAGPBCACIhFnoGcC8iYSqq0la6SK31lqIyVqbL6qPqo+qj6qPqo+sosmy0EDVFD0pBr2KYagTRYDU4Da1CzVbNV8zblVJ6uXMM26QikwWpwGliD1xA0RA1qdmpmNbOauZgf28tlHrrj2Ndv6mWdTp8+scvfm+7oR/g2X0/9eZ377eVS9uR18w8=", "file_map": { "50": { "source": "fn main(mut x: i8, mut y: i8, z: i8) {\n let mut s1: i8 = 5;\n let mut s2: i8 = 8;\n assert(-1 as i8 < 0);\n assert(x < y);\n assert(-x < y);\n assert(-y < -x);\n assert((z > x) == false);\n assert(x <= s1);\n assert(z < x - y - s2);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 18bbacdff8c..86183e6ebb6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -55,9 +55,9 @@ 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(U8) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U8) }, 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: 121 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 255 }, Cast { destination: Relative(5), source: Relative(4), bit_size: Integer(U8) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, Const { destination: Relative(5), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, JumpIf { condition: Relative(6), location: 37 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(7), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 49 }, Call { location: 127 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(11) }, JumpIf { condition: Relative(6), location: 56 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(4), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(11), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 67 }, Call { location: 127 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, JumpIf { condition: Relative(6), location: 74 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(11), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 83 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 5 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(13) }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, JumpIf { condition: Relative(4), location: 92 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 102 }, Call { location: 127 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 8 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, Not { destination: Relative(4), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 113 }, Call { location: 127 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 120 }, 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: 126 }, 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]" + "[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(U8) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U8) }, 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: 112 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(6) }, Const { destination: Relative(5), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(4), location: 27 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(7), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 40 }, Call { location: 118 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(11) }, JumpIf { condition: Relative(6), location: 47 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(4), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(11), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 58 }, Call { location: 118 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, JumpIf { condition: Relative(6), location: 65 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(11), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 5 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(13) }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, JumpIf { condition: Relative(4), location: 83 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 93 }, Call { location: 118 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 8 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, Not { destination: Relative(4), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 104 }, Call { location: 118 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 111 }, 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: 117 }, 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]" ], - "debug_symbols": "pdXNjqpAFATgd+k1iz79377KxBhUnJAQNIzc5Mbw7nOa6uM4i9ngxq8Qq0yIyEOdu+P8eejHy/VL7T4e6jj1w9B/Hobrqb3315HffShdXiirHTXKaEBqZxgDLHDAgwAiSCCvWF6xDAEDLHDAgwB4xTEJ5BWnAQEDLHDAgwCw4rDieMU3ymtAwAALHPCAVwITQQJ5JWhAwAALHPAAK4FXIpNAXokaEDDAAl5JjAcBRMArmckrSQMCBvAKadZVfTVUYzVVM8y6SlWeI/4FZFt1VV8N1VhN1QxJawkkoUyaEqwEJ8FLCBKihCQh10BaAkmQZSrLtgQnwUsIEqKEJKEs22VplNwPh/vUdeV2eLlB+La5tVM33tVunIehUf/aYV4/9HVrx9V7O/FZvnrdeGZ58NIPXUlL89PWf1dzql2+EM+231AnvaFOxknf5C19Z6Xv/Jv9Td8fnv3g3+vHTdcveennbX25/kZv6Rt69g1t6dssfefe7OdNff9Hf89H7amffj2wlrI09e1x6OrhZR5PL2fv/29yRh54t+l66s7z1JWll6cev36QoYZM2Jd/hPUw8mHeL+XrvwE=", + "debug_symbols": "pdXNboJAFAXgd5k1i7l3/n2VxhhUbEgIGgpNGsO79w6HsXbRpMEN38XxHIyOcFfn5ji9H9r+cv1Qu7e7Og5t17Xvh+56qsf22surd6XzgZLaUaVYAwIMDLDAAQ+C2rEQQVowGhBgYIAFDniAFoMWgxYrLUYgwMAACxzwQFqsEEFacBoQYGCABQ54gBYnLU5IC14DAgwMsEBavOBBABFIS6hU0IAAAwOkJQoOeBBABGkhakCAgbQkwQIHPAgggrSQNCDAIP/SWrSrbtWvhtW4miBpXQYqA5fBlCGXUh5cGXwZQhliGdI6UG6mea5U2bSHcWiavGefdrHs7Vs9NP2odv3UdZX6rLtpedPHre4Xx3qQVfkgTX8WpfDSdk2e5uonrf+OEts1TJwecff/vDUlb92L+U3X94+8d6/lg96Sj67k07Z8+f5Zb8kzPfJMW/Imlby1L+bTprz7I7+Xs/rUDr/u63NuGtr62DXr6WXqT0+r49etrJTnwm24nprzNDS56enhIMc3Iq6Iwj7/J5fTWBHr/Zwv/w0=", "file_map": { "50": { "source": "fn main(mut x: i8, mut y: i8, z: i8) {\n let mut s1: i8 = 5;\n let mut s2: i8 = 8;\n assert(-1 as i8 < 0);\n assert(x < y);\n assert(-x < y);\n assert(-y < -x);\n assert((z > x) == false);\n assert(x <= s1);\n assert(z < x - y - s2);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_0.snap index 18bbacdff8c..86183e6ebb6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_0.snap @@ -55,9 +55,9 @@ 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(U8) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U8) }, 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: 121 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 255 }, Cast { destination: Relative(5), source: Relative(4), bit_size: Integer(U8) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, Const { destination: Relative(5), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, JumpIf { condition: Relative(6), location: 37 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(7), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 49 }, Call { location: 127 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(11) }, JumpIf { condition: Relative(6), location: 56 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(4), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(11), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 67 }, Call { location: 127 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, JumpIf { condition: Relative(6), location: 74 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(11), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 83 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 5 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(13) }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, JumpIf { condition: Relative(4), location: 92 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 102 }, Call { location: 127 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 8 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, Not { destination: Relative(4), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 113 }, Call { location: 127 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 120 }, 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: 126 }, 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]" + "[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(U8) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U8) }, 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: 112 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(6) }, Const { destination: Relative(5), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(4), location: 27 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(7), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 40 }, Call { location: 118 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(11) }, JumpIf { condition: Relative(6), location: 47 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(4), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(11), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 58 }, Call { location: 118 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, JumpIf { condition: Relative(6), location: 65 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(11), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 5 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(13) }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, JumpIf { condition: Relative(4), location: 83 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 93 }, Call { location: 118 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 8 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, Not { destination: Relative(4), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 104 }, Call { location: 118 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 111 }, 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: 117 }, 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]" ], - "debug_symbols": "pdXNjqpAFATgd+k1iz79377KxBhUnJAQNIzc5Mbw7nOa6uM4i9ngxq8Qq0yIyEOdu+P8eejHy/VL7T4e6jj1w9B/Hobrqb3315HffShdXiirHTXKaEBqZxgDLHDAgwAiSCCvWF6xDAEDLHDAgwB4xTEJ5BWnAQEDLHDAgwCw4rDieMU3ymtAwAALHPCAVwITQQJ5JWhAwAALHPAAK4FXIpNAXokaEDDAAl5JjAcBRMArmckrSQMCBvAKadZVfTVUYzVVM8y6SlWeI/4FZFt1VV8N1VhN1QxJawkkoUyaEqwEJ8FLCBKihCQh10BaAkmQZSrLtgQnwUsIEqKEJKEs22VplNwPh/vUdeV2eLlB+La5tVM33tVunIehUf/aYV4/9HVrx9V7O/FZvnrdeGZ58NIPXUlL89PWf1dzql2+EM+231AnvaFOxknf5C19Z6Xv/Jv9Td8fnv3g3+vHTdcveennbX25/kZv6Rt69g1t6dssfefe7OdNff9Hf89H7amffj2wlrI09e1x6OrhZR5PL2fv/29yRh54t+l66s7z1JWll6cev36QoYZM2Jd/hPUw8mHeL+XrvwE=", + "debug_symbols": "pdXNboJAFAXgd5k1i7l3/n2VxhhUbEgIGgpNGsO79w6HsXbRpMEN38XxHIyOcFfn5ji9H9r+cv1Qu7e7Og5t17Xvh+56qsf22surd6XzgZLaUaVYAwIMDLDAAQ+C2rEQQVowGhBgYIAFDniAFoMWgxYrLUYgwMAACxzwQFqsEEFacBoQYGCABQ54gBYnLU5IC14DAgwMsEBavOBBABFIS6hU0IAAAwOkJQoOeBBABGkhakCAgbQkwQIHPAgggrSQNCDAIP/SWrSrbtWvhtW4miBpXQYqA5fBlCGXUh5cGXwZQhliGdI6UG6mea5U2bSHcWiavGefdrHs7Vs9NP2odv3UdZX6rLtpedPHre4Xx3qQVfkgTX8WpfDSdk2e5uonrf+OEts1TJwecff/vDUlb92L+U3X94+8d6/lg96Sj67k07Z8+f5Zb8kzPfJMW/Imlby1L+bTprz7I7+Xs/rUDr/u63NuGtr62DXr6WXqT0+r49etrJTnwm24nprzNDS56enhIMc3Iq6Iwj7/J5fTWBHr/Zwv/w0=", "file_map": { "50": { "source": "fn main(mut x: i8, mut y: i8, z: i8) {\n let mut s1: i8 = 5;\n let mut s2: i8 = 8;\n assert(-1 as i8 < 0);\n assert(x < y);\n assert(-x < y);\n assert(-y < -x);\n assert((z > x) == false);\n assert(x <= s1);\n assert(z < x - y - s2);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index 18bbacdff8c..86183e6ebb6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/signed_comparison/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -55,9 +55,9 @@ 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(U8) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U8) }, 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: 121 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 255 }, Cast { destination: Relative(5), source: Relative(4), bit_size: Integer(U8) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(5), rhs: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, Const { destination: Relative(5), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(6), location: 30 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(8) }, JumpIf { condition: Relative(6), location: 37 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(7), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 49 }, Call { location: 127 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(11) }, JumpIf { condition: Relative(6), location: 56 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(4), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(11), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 67 }, Call { location: 127 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, JumpIf { condition: Relative(6), location: 74 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(11), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 83 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 5 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(13) }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, JumpIf { condition: Relative(4), location: 92 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 102 }, Call { location: 127 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 8 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, Not { destination: Relative(4), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 113 }, Call { location: 127 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 120 }, 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: 126 }, 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]" + "[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(U8) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U8) }, 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: 112 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(6) }, Const { destination: Relative(5), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(4), location: 27 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(1) }, Mov { destination: Relative(7), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(7), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(1), bit_size: Integer(U8) }, Const { destination: Relative(9), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(10), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 40 }, Call { location: 118 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(11) }, JumpIf { condition: Relative(6), location: 47 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(4), rhs: Relative(2) }, Mov { destination: Relative(4), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(4), bit_size: Integer(U8) }, Cast { destination: Relative(8), source: Relative(2), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(8), rhs: Relative(9) }, Not { destination: Relative(8), source: Relative(11), bit_size: U1 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(8) }, JumpIf { condition: Relative(11), location: 58 }, Call { location: 118 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(7), rhs: Relative(13) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, JumpIf { condition: Relative(6), location: 65 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(11), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(4), bit_size: Integer(U8), value: 5 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U8, lhs: Relative(4), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(13) }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, JumpIf { condition: Relative(4), location: 83 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U1, lhs: Relative(10), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 93 }, Call { location: 118 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 8 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U8, lhs: Relative(1), rhs: Relative(2) }, Mov { destination: Relative(1), source: Relative(4) }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U8) }, Not { destination: Relative(4), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U8, lhs: Relative(2), rhs: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(7), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(2), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(2), location: 104 }, Call { location: 118 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 128 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U8, lhs: Relative(3), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U8, lhs: Relative(1), rhs: Relative(7) }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U8, lhs: Relative(4), rhs: Relative(6) }, JumpIf { condition: Relative(2), location: 111 }, 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: 117 }, 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]" ], - "debug_symbols": "pdXNjqpAFATgd+k1iz79377KxBhUnJAQNIzc5Mbw7nOa6uM4i9ngxq8Qq0yIyEOdu+P8eejHy/VL7T4e6jj1w9B/Hobrqb3315HffShdXiirHTXKaEBqZxgDLHDAgwAiSCCvWF6xDAEDLHDAgwB4xTEJ5BWnAQEDLHDAgwCw4rDieMU3ymtAwAALHPCAVwITQQJ5JWhAwAALHPAAK4FXIpNAXokaEDDAAl5JjAcBRMArmckrSQMCBvAKadZVfTVUYzVVM8y6SlWeI/4FZFt1VV8N1VhN1QxJawkkoUyaEqwEJ8FLCBKihCQh10BaAkmQZSrLtgQnwUsIEqKEJKEs22VplNwPh/vUdeV2eLlB+La5tVM33tVunIehUf/aYV4/9HVrx9V7O/FZvnrdeGZ58NIPXUlL89PWf1dzql2+EM+231AnvaFOxknf5C19Z6Xv/Jv9Td8fnv3g3+vHTdcveennbX25/kZv6Rt69g1t6dssfefe7OdNff9Hf89H7amffj2wlrI09e1x6OrhZR5PL2fv/29yRh54t+l66s7z1JWll6cev36QoYZM2Jd/hPUw8mHeL+XrvwE=", + "debug_symbols": "pdXNboJAFAXgd5k1i7l3/n2VxhhUbEgIGgpNGsO79w6HsXbRpMEN38XxHIyOcFfn5ji9H9r+cv1Qu7e7Og5t17Xvh+56qsf22surd6XzgZLaUaVYAwIMDLDAAQ+C2rEQQVowGhBgYIAFDniAFoMWgxYrLUYgwMAACxzwQFqsEEFacBoQYGCABQ54gBYnLU5IC14DAgwMsEBavOBBABFIS6hU0IAAAwOkJQoOeBBABGkhakCAgbQkwQIHPAgggrSQNCDAIP/SWrSrbtWvhtW4miBpXQYqA5fBlCGXUh5cGXwZQhliGdI6UG6mea5U2bSHcWiavGefdrHs7Vs9NP2odv3UdZX6rLtpedPHre4Xx3qQVfkgTX8WpfDSdk2e5uonrf+OEts1TJwecff/vDUlb92L+U3X94+8d6/lg96Sj67k07Z8+f5Zb8kzPfJMW/Imlby1L+bTprz7I7+Xs/rUDr/u63NuGtr62DXr6WXqT0+r49etrJTnwm24nprzNDS56enhIMc3Iq6Iwj7/J5fTWBHr/Zwv/w0=", "file_map": { "50": { "source": "fn main(mut x: i8, mut y: i8, z: i8) {\n let mut s1: i8 = 5;\n let mut s2: i8 = 8;\n assert(-1 as i8 < 0);\n assert(x < y);\n assert(-x < y);\n assert(-y < -x);\n assert((z > x) == false);\n assert(x <= s1);\n assert(z < x - y - s2);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 7102a8f7925..2155e945e66 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -48,7 +48,7 @@ expression: artifact "unconstrained func 0", "[Const { destination: Direct(10), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(11), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(10), offset_address: Direct(11) }, BinaryFieldOp { destination: Direct(2), op: IntegerDiv, lhs: Direct(0), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(1), op: Mul, lhs: Direct(2), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(1), op: Sub, lhs: Direct(0), rhs: Direct(1) }, Mov { destination: Direct(0), source: Direct(2) }, Stop { return_data: HeapVector { pointer: Direct(11), size: Direct(10) } }]" ], - "debug_symbols": "pdNBjoMgFAbgu7B2ISiKXmUyMajYkBA0FJpMTO8+z1eYaRckjd38CM9PUHAnsxrDZdB2Wa+k/9rJ6LQx+jKYdZJerxZG93tBUnfwTikYIk91UJt0ynrS22BMQW7SBLzpukmLrZcOqmVBlJ2hhQcu2qjj6l786zJPRbJC/GH+tqaMR05Z1rO8r7sqel7WZ+avujR/zU6tv/7M8zb5psz5Ju+ZaKJn3an358nT9tV/Q09O2r2cN1KSHj44xWSYFWaNyTEbzBZTYHYPFfFDU+Cw9xT8sfE36bQcjYqnegl2ejrk/mdLlfQbbG6d1BycOhaINVjyLw==", + "debug_symbols": "ndLBboQgEAbgd+HsQVhQ9FWaxqDihoSgYaFJY3z3jrPQ7h5IGi+/wvjJhMxOZj3G+2Dcsj5I/7GT0RtrzX2w66SCWR3s7kdF8nIIXmvYIi91UJvy2gXSu2htRb6UjfjRY1MOn0F5qNYV0W6GJ/xwMVafb0f1p+syldlK+YvFvzVlInHKip6VPe9uyYuaXzqf5/M5u+JFm31Tl7woeyab5Fl3qX+RPW3f/Ses1GT827yQmvRwYRSTYd4wOabAbDBbTInZPVXCT02Bw91R8O1xNuiNGq1OU7lEN70MafjeciWP8ebXSc/R67NBrEHLPw==", "file_map": { "50": { "source": "use std::ops::{Neg, Not};\n\n// x = 3\nfn main(x: u32) {\n let wx = Wrapper::new(x as i32);\n let ex: i32 = 3;\n\n assert((-wx).inner == -ex);\n assert((!wx).inner == !ex);\n\n // Check that it works with type variables (x's type isn't immediately known)\n let x = 3;\n assert(-3 == -x);\n}\n\nstruct Wrapper {\n inner: i32,\n}\n\nimpl Wrapper {\n fn new(inner: i32) -> Self {\n Wrapper { inner }\n }\n}\n\nimpl Neg for Wrapper {\n fn neg(self) -> Wrapper {\n Wrapper::new(-self.inner)\n }\n}\n\nimpl Not for Wrapper {\n fn not(self) -> Wrapper {\n Wrapper::new(!self.inner)\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap index 7102a8f7925..2155e945e66 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap @@ -48,7 +48,7 @@ expression: artifact "unconstrained func 0", "[Const { destination: Direct(10), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(11), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(10), offset_address: Direct(11) }, BinaryFieldOp { destination: Direct(2), op: IntegerDiv, lhs: Direct(0), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(1), op: Mul, lhs: Direct(2), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(1), op: Sub, lhs: Direct(0), rhs: Direct(1) }, Mov { destination: Direct(0), source: Direct(2) }, Stop { return_data: HeapVector { pointer: Direct(11), size: Direct(10) } }]" ], - "debug_symbols": "pdNBjoMgFAbgu7B2ISiKXmUyMajYkBA0FJpMTO8+z1eYaRckjd38CM9PUHAnsxrDZdB2Wa+k/9rJ6LQx+jKYdZJerxZG93tBUnfwTikYIk91UJt0ynrS22BMQW7SBLzpukmLrZcOqmVBlJ2hhQcu2qjj6l786zJPRbJC/GH+tqaMR05Z1rO8r7sqel7WZ+avujR/zU6tv/7M8zb5psz5Ju+ZaKJn3an358nT9tV/Q09O2r2cN1KSHj44xWSYFWaNyTEbzBZTYHYPFfFDU+Cw9xT8sfE36bQcjYqnegl2ejrk/mdLlfQbbG6d1BycOhaINVjyLw==", + "debug_symbols": "ndLBboQgEAbgd+HsQVhQ9FWaxqDihoSgYaFJY3z3jrPQ7h5IGi+/wvjJhMxOZj3G+2Dcsj5I/7GT0RtrzX2w66SCWR3s7kdF8nIIXmvYIi91UJvy2gXSu2htRb6UjfjRY1MOn0F5qNYV0W6GJ/xwMVafb0f1p+syldlK+YvFvzVlInHKip6VPe9uyYuaXzqf5/M5u+JFm31Tl7woeyab5Fl3qX+RPW3f/Ses1GT827yQmvRwYRSTYd4wOabAbDBbTInZPVXCT02Bw91R8O1xNuiNGq1OU7lEN70MafjeciWP8ebXSc/R67NBrEHLPw==", "file_map": { "50": { "source": "use std::ops::{Neg, Not};\n\n// x = 3\nfn main(x: u32) {\n let wx = Wrapper::new(x as i32);\n let ex: i32 = 3;\n\n assert((-wx).inner == -ex);\n assert((!wx).inner == !ex);\n\n // Check that it works with type variables (x's type isn't immediately known)\n let x = 3;\n assert(-3 == -x);\n}\n\nstruct Wrapper {\n inner: i32,\n}\n\nimpl Wrapper {\n fn new(inner: i32) -> Self {\n Wrapper { inner }\n }\n}\n\nimpl Neg for Wrapper {\n fn neg(self) -> Wrapper {\n Wrapper::new(-self.inner)\n }\n}\n\nimpl Not for Wrapper {\n fn not(self) -> Wrapper {\n Wrapper::new(!self.inner)\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 7102a8f7925..2155e945e66 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -48,7 +48,7 @@ expression: artifact "unconstrained func 0", "[Const { destination: Direct(10), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(11), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(10), offset_address: Direct(11) }, BinaryFieldOp { destination: Direct(2), op: IntegerDiv, lhs: Direct(0), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(1), op: Mul, lhs: Direct(2), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(1), op: Sub, lhs: Direct(0), rhs: Direct(1) }, Mov { destination: Direct(0), source: Direct(2) }, Stop { return_data: HeapVector { pointer: Direct(11), size: Direct(10) } }]" ], - "debug_symbols": "pdNBjoMgFAbgu7B2ISiKXmUyMajYkBA0FJpMTO8+z1eYaRckjd38CM9PUHAnsxrDZdB2Wa+k/9rJ6LQx+jKYdZJerxZG93tBUnfwTikYIk91UJt0ynrS22BMQW7SBLzpukmLrZcOqmVBlJ2hhQcu2qjj6l786zJPRbJC/GH+tqaMR05Z1rO8r7sqel7WZ+avujR/zU6tv/7M8zb5psz5Ju+ZaKJn3an358nT9tV/Q09O2r2cN1KSHj44xWSYFWaNyTEbzBZTYHYPFfFDU+Cw9xT8sfE36bQcjYqnegl2ejrk/mdLlfQbbG6d1BycOhaINVjyLw==", + "debug_symbols": "ndLBboQgEAbgd+HsQVhQ9FWaxqDihoSgYaFJY3z3jrPQ7h5IGi+/wvjJhMxOZj3G+2Dcsj5I/7GT0RtrzX2w66SCWR3s7kdF8nIIXmvYIi91UJvy2gXSu2htRb6UjfjRY1MOn0F5qNYV0W6GJ/xwMVafb0f1p+syldlK+YvFvzVlInHKip6VPe9uyYuaXzqf5/M5u+JFm31Tl7woeyab5Fl3qX+RPW3f/Ses1GT827yQmvRwYRSTYd4wOabAbDBbTInZPVXCT02Bw91R8O1xNuiNGq1OU7lEN70MafjeciWP8ebXSc/R67NBrEHLPw==", "file_map": { "50": { "source": "use std::ops::{Neg, Not};\n\n// x = 3\nfn main(x: u32) {\n let wx = Wrapper::new(x as i32);\n let ex: i32 = 3;\n\n assert((-wx).inner == -ex);\n assert((!wx).inner == !ex);\n\n // Check that it works with type variables (x's type isn't immediately known)\n let x = 3;\n assert(-3 == -x);\n}\n\nstruct Wrapper {\n inner: i32,\n}\n\nimpl Wrapper {\n fn new(inner: i32) -> Self {\n Wrapper { inner }\n }\n}\n\nimpl Neg for Wrapper {\n fn neg(self) -> Wrapper {\n Wrapper::new(-self.inner)\n }\n}\n\nimpl Not for Wrapper {\n fn not(self) -> Wrapper {\n Wrapper::new(!self.inner)\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index eb0eee6b92c..5affc60b8e8 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -37,9 +37,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(U32) }, 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: 37 }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(4), source: Direct(0) }, Mov { destination: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(3) }, Call { location: 43 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967293 }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 29 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Not { destination: Relative(1), source: Relative(2), bit_size: U32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Not { destination: Relative(3), source: Relative(2), bit_size: U32 }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 36 }, 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: 42 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 37 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 57 }, Call { location: 59 }, Mov { destination: Relative(1), source: Relative(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(U32) }, 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: 36 }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(4), source: Direct(0) }, Mov { destination: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(3) }, Call { location: 42 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(4), location: 28 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Not { destination: Relative(1), source: Relative(2), bit_size: U32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Not { destination: Relative(3), source: Relative(2), bit_size: U32 }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 35 }, 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: 41 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 36 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Mov { destination: Relative(2), source: Relative(3) }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Not { destination: Relative(4), source: Relative(5), bit_size: U1 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(4) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 56 }, Call { location: 58 }, Mov { destination: Relative(1), source: Relative(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": "pZPdioMwEEbfJde5MP/RVymlpDYtgRAl1YWl+O47ccxue1FY7E2OcTzfwOA8yMWf59sppOtwJ93hQc45xBhupzj0bgpDgrcP0pSDKdIxSpgmHQcYhEW0K3iDYAiOEKQTAImAFAnQCIOwCEjRlAhIUQCGgBQDEAiJUCsk3CxAITTCICyiXaEaBENwhEBgisIUVVKWhZI6gdOUvS8DeBoJDGp02aeJdGmOkZIvF+f1o/vo0srJZag2lPh0AULgNURfnhb6ZzfvVVtda39l9W+bcbXpjO/yRVt9yXf1l5/5ylRfN+989d7nVm8+b+Wu/tVnZo8vW7H5qnn1j3BzfcgvK7aUpBzcOfrtep1T/1SdvsdaqSs65qH3lzn7kvS0p3AehKGSH2Ex4Yc/qJZqdlxK6x8=", + "debug_symbols": "nZPBjoMgEIbfhTMHQED0VZqmoZY2JAQN1U02xnffwZFdezDZeOFzHL+fQJyZPNx9et18fPZv0l5mck8+BP+6hb6zo+8jvJ0JywtXpOWUcE1aAagRBtGsEAzBEQJRkbYCSIRCaESNgBQFgBRJScUQkKIBAlEh5AoJVQ2QCIXQiBphEM0KxRAcIRCYojBF5ZRloaQc/TYm5/LJd3cBNzTY5OJI2jiFQMmXDdP60XuwceVoE3QZJS4+gBD49MHlp4X+2exYNcU15ldW/7a5UJvOxTlfFl+KM76qi6/ZkS+PfWH05otGntq/+Lw+48um2nzFPv0rVLbz6WM2lpyUvL0Ht5XPKXa77vg9lE6ZrSH1nXtMyeWk3YDBeqk0lfwKEwV/6kUZqtl1yVv/AA==", "file_map": { "50": { "source": "use std::ops::{Neg, Not};\n\n// x = 3\nfn main(x: u32) {\n let wx = Wrapper::new(x as i32);\n let ex: i32 = 3;\n\n assert((-wx).inner == -ex);\n assert((!wx).inner == !ex);\n\n // Check that it works with type variables (x's type isn't immediately known)\n let x = 3;\n assert(-3 == -x);\n}\n\nstruct Wrapper {\n inner: i32,\n}\n\nimpl Wrapper {\n fn new(inner: i32) -> Self {\n Wrapper { inner }\n }\n}\n\nimpl Neg for Wrapper {\n fn neg(self) -> Wrapper {\n Wrapper::new(-self.inner)\n }\n}\n\nimpl Not for Wrapper {\n fn not(self) -> Wrapper {\n Wrapper::new(!self.inner)\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_0.snap index a2f22d90c1d..afad6fa5703 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_0.snap @@ -37,9 +37,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(U32) }, 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: 42 }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(3), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U32) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Not { destination: Relative(1), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 28 }, Call { location: 48 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 4294967293 }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(1), location: 34 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Not { destination: Relative(1), source: Relative(2), bit_size: U32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Not { destination: Relative(3), source: Relative(2), bit_size: U32 }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 41 }, 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: 47 }, 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]" + "[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(U32) }, 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: 41 }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(3), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U32) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Not { destination: Relative(1), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 28 }, Call { location: 47 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 33 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Not { destination: Relative(1), source: Relative(2), bit_size: U32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Not { destination: Relative(3), source: Relative(2), bit_size: U32 }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 40 }, 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: 46 }, 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]" ], - "debug_symbols": "pZPBjoMgEIbfhTMHQFD0VZqmoRYbEoKG6iYb47vv4MiuPZhs7IVPHL9/nMPM5GHv0/PmQte/SHOZyT06793z5vvWjK4P8HYmLB1ckYZTwkvSFIAKoRH1CsEQHCEQBUIiFAJTBKYISJGAekUBKQrAEQJRICClAkBKCSgRkKIBGlGvkJCil4WSPMltjNamQXajwcCDiTaMpAmT95R8GT+tH70GE1aOJkKVUWLDAwiBnfM2PS30z2bHqs6u1r+y+rfNhdp0Lg59cezLuth8xeSZ/kWd+0tx6v/lZ76qsl+yI7889oUuN1/Up+ZX2efVu3+Fm2ldfFuVJSVFZ+7ebtduCu2uOn4PuZJXbYh9ax9TtClpt29wXqSgsrrCgvF00VSx65Ja/wA=", + "debug_symbols": "nZPRioQgFIbfxWsv1DSrVxmGwSkbBLFwamGJ3n2PndxtLoKlG7/Mvv90wLOQzj7n18OFfniT5raQZ3Teu9fDD62Z3BDg7UJYWrgiDaeEl6QpABpRIeoNgiE4QiAKhEQoBKYITBGQIgH1hoIhOEIgIKUEQIoCKASkaIBGVAhI0etKSW7hMUVrUweHnqDT0UQbJtKE2XtKvoyft4/eowkbJxPhlFFiQweEwN55m55W+mezc7XKblX9yurfNhdq17k49cW5L+ti9xWTl+rLXF+KK77S2S/Zma/OfVGVuy/qS/+vss/1p3+HnWld/Ljja0qKzjy93bf9HNrD6fQ95pM8I2McWtvN0aakw6DAepOcyvIOk8HTRlNZ39dU+gc=", "file_map": { "50": { "source": "use std::ops::{Neg, Not};\n\n// x = 3\nfn main(x: u32) {\n let wx = Wrapper::new(x as i32);\n let ex: i32 = 3;\n\n assert((-wx).inner == -ex);\n assert((!wx).inner == !ex);\n\n // Check that it works with type variables (x's type isn't immediately known)\n let x = 3;\n assert(-3 == -x);\n}\n\nstruct Wrapper {\n inner: i32,\n}\n\nimpl Wrapper {\n fn new(inner: i32) -> Self {\n Wrapper { inner }\n }\n}\n\nimpl Neg for Wrapper {\n fn neg(self) -> Wrapper {\n Wrapper::new(-self.inner)\n }\n}\n\nimpl Not for Wrapper {\n fn not(self) -> Wrapper {\n Wrapper::new(!self.inner)\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index a2f22d90c1d..afad6fa5703 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/unary_operator_overloading/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -37,9 +37,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(U32) }, 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: 42 }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(3), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U32) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Not { destination: Relative(1), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 28 }, Call { location: 48 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 4294967293 }, Cast { destination: Relative(4), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(1), location: 34 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Not { destination: Relative(1), source: Relative(2), bit_size: U32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Not { destination: Relative(3), source: Relative(2), bit_size: U32 }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 41 }, 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: 47 }, 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]" + "[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(U32) }, 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: 41 }, Cast { destination: Relative(2), source: Relative(1), bit_size: Integer(U32) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Mov { destination: Relative(3), source: Relative(4) }, Cast { destination: Relative(4), source: Relative(3), bit_size: Integer(U32) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2147483648 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Not { destination: Relative(1), source: Relative(6), bit_size: U1 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(6), rhs: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 28 }, Call { location: 47 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 4294967293 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 33 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Not { destination: Relative(1), source: Relative(2), bit_size: U32 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Not { destination: Relative(3), source: Relative(2), bit_size: U32 }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 40 }, 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: 46 }, 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]" ], - "debug_symbols": "pZPBjoMgEIbfhTMHQFD0VZqmoRYbEoKG6iYb47vv4MiuPZhs7IVPHL9/nMPM5GHv0/PmQte/SHOZyT06793z5vvWjK4P8HYmLB1ckYZTwkvSFIAKoRH1CsEQHCEQBUIiFAJTBKYISJGAekUBKQrAEQJRICClAkBKCSgRkKIBGlGvkJCil4WSPMltjNamQXajwcCDiTaMpAmT95R8GT+tH70GE1aOJkKVUWLDAwiBnfM2PS30z2bHqs6u1r+y+rfNhdp0Lg59cezLuth8xeSZ/kWd+0tx6v/lZ76qsl+yI7889oUuN1/Up+ZX2efVu3+Fm2ldfFuVJSVFZ+7ebtduCu2uOn4PuZJXbYh9ax9TtClpt29wXqSgsrrCgvF00VSx65Ja/wA=", + "debug_symbols": "nZPRioQgFIbfxWsv1DSrVxmGwSkbBLFwamGJ3n2PndxtLoKlG7/Mvv90wLOQzj7n18OFfniT5raQZ3Teu9fDD62Z3BDg7UJYWrgiDaeEl6QpABpRIeoNgiE4QiAKhEQoBKYITBGQIgH1hoIhOEIgIKUEQIoCKASkaIBGVAhI0etKSW7hMUVrUweHnqDT0UQbJtKE2XtKvoyft4/eowkbJxPhlFFiQweEwN55m55W+mezc7XKblX9yurfNhdq17k49cW5L+ti9xWTl+rLXF+KK77S2S/Zma/OfVGVuy/qS/+vss/1p3+HnWld/Ljja0qKzjy93bf9HNrD6fQ95pM8I2McWtvN0aakw6DAepOcyvIOk8HTRlNZ39dU+gc=", "file_map": { "50": { "source": "use std::ops::{Neg, Not};\n\n// x = 3\nfn main(x: u32) {\n let wx = Wrapper::new(x as i32);\n let ex: i32 = 3;\n\n assert((-wx).inner == -ex);\n assert((!wx).inner == !ex);\n\n // Check that it works with type variables (x's type isn't immediately known)\n let x = 3;\n assert(-3 == -x);\n}\n\nstruct Wrapper {\n inner: i32,\n}\n\nimpl Wrapper {\n fn new(inner: i32) -> Self {\n Wrapper { inner }\n }\n}\n\nimpl Neg for Wrapper {\n fn neg(self) -> Wrapper {\n Wrapper::new(-self.inner)\n }\n}\n\nimpl Not for Wrapper {\n fn not(self) -> Wrapper {\n Wrapper::new(!self.inner)\n }\n}\n",