diff --git a/compiler/noirc_evaluator/src/ssa/opt/remove_bit_shifts.rs b/compiler/noirc_evaluator/src/ssa/opt/remove_bit_shifts.rs index 27eede5d935..d99f6194bdc 100644 --- a/compiler/noirc_evaluator/src/ssa/opt/remove_bit_shifts.rs +++ b/compiler/noirc_evaluator/src/ssa/opt/remove_bit_shifts.rs @@ -188,12 +188,25 @@ impl Context<'_, '_, '_> { return self.numeric_constant(pow, NumericType::NativeField); } - let to_bits = self.context.dfg.import_intrinsic(Intrinsic::ToBits(Endian::Little)); - let max_exponent_bits = self.context.dfg.get_value_max_num_bits(exponent).ilog2() + 1; + // When shifting, for instance, `u32` values the maximum allowed value is 31, one less than the bit size. + // Representing the maximum value requires 5 bits, which is log2(32), so any `u32` exponent will require + // at most 5 bits. Similarly, `u64` values will require at most 6 bits, etc. + // Using `get_value_max_num_bits` here could work, though in practice: + // - constant exponents are handled in the `if` above + // - if a smaller type was upcasted, for example `u8` to `u32`, an `u8` can hold values up to 256 + // which is even larger than the largest unsigned type u128, so nothing better can be done here + // - the exception would be casting a `u1` to a larger type, where we know the exponent can be + // either zero or one, which we special-case here + let max_exponent_bits = if self.context.dfg.get_value_max_num_bits(exponent) == 1 { + 1 + } else { + self.context.dfg.type_of_value(exponent).bit_size().ilog2() + }; let result_types = vec![Type::Array(Arc::new(vec![Type::bool()]), max_exponent_bits)]; // A call to ToBits can only be done with a field argument (exponent is always u8 here) let exponent_as_field = self.insert_cast(exponent, NumericType::NativeField); + let to_bits = self.context.dfg.import_intrinsic(Intrinsic::ToBits(Endian::Little)); let exponent_bits = self.insert_call(to_bits, vec![exponent_as_field], result_types); let exponent_bits = exponent_bits[0]; @@ -416,14 +429,14 @@ mod tests { v3 = lt v1, u32 32 constrain v3 == u1 1, "attempt to bit-shift with overflow" v5 = cast v1 as Field - v7 = call to_le_bits(v5) -> [u1; 6] - v9 = array_get v7, index u32 5 -> u1 + v7 = call to_le_bits(v5) -> [u1; 5] + v9 = array_get v7, index u32 4 -> u1 v10 = not v9 v11 = cast v9 as Field v12 = cast v10 as Field v14 = mul Field 2, v11 v15 = add v12, v14 - v17 = array_get v7, index u32 4 -> u1 + v17 = array_get v7, index u32 3 -> u1 v18 = not v17 v19 = cast v17 as Field v20 = cast v18 as Field @@ -432,7 +445,7 @@ mod tests { v23 = mul v21, Field 2 v24 = mul v23, v19 v25 = add v22, v24 - v27 = array_get v7, index u32 3 -> u1 + v27 = array_get v7, index u32 2 -> u1 v28 = not v27 v29 = cast v27 as Field v30 = cast v28 as Field @@ -441,7 +454,7 @@ mod tests { v33 = mul v31, Field 2 v34 = mul v33, v29 v35 = add v32, v34 - v37 = array_get v7, index u32 2 -> u1 + v37 = array_get v7, index u32 1 -> u1 v38 = not v37 v39 = cast v37 as Field v40 = cast v38 as Field @@ -450,7 +463,7 @@ mod tests { v43 = mul v41, Field 2 v44 = mul v43, v39 v45 = add v42, v44 - v47 = array_get v7, index u32 1 -> u1 + v47 = array_get v7, index u32 0 -> u1 v48 = not v47 v49 = cast v47 as Field v50 = cast v48 as Field @@ -459,20 +472,11 @@ mod tests { v53 = mul v51, Field 2 v54 = mul v53, v49 v55 = add v52, v54 - v57 = array_get v7, index u32 0 -> u1 - v58 = not v57 - v59 = cast v57 as Field - v60 = cast v58 as Field - v61 = mul v55, v55 - v62 = mul v61, v60 - v63 = mul v61, Field 2 - v64 = mul v63, v59 - v65 = add v62, v64 - v66 = cast v0 as Field - v67 = mul v66, v65 - v68 = truncate v67 to 32 bits, max_bit_size: 64 - v69 = cast v68 as u32 - return v69 + v56 = cast v0 as Field + v57 = mul v56, v55 + v58 = truncate v57 to 32 bits, max_bit_size: 64 + v59 = cast v58 as u32 + return v59 } "#); } @@ -540,14 +544,14 @@ mod tests { v3 = lt v1, u32 32 constrain v3 == u1 1, "attempt to bit-shift with overflow" v5 = cast v1 as Field - v7 = call to_le_bits(v5) -> [u1; 6] - v9 = array_get v7, index u32 5 -> u1 + v7 = call to_le_bits(v5) -> [u1; 5] + v9 = array_get v7, index u32 4 -> u1 v10 = not v9 v11 = cast v9 as Field v12 = cast v10 as Field v14 = mul Field 2, v11 v15 = add v12, v14 - v17 = array_get v7, index u32 4 -> u1 + v17 = array_get v7, index u32 3 -> u1 v18 = not v17 v19 = cast v17 as Field v20 = cast v18 as Field @@ -556,7 +560,7 @@ mod tests { v23 = mul v21, Field 2 v24 = mul v23, v19 v25 = add v22, v24 - v27 = array_get v7, index u32 3 -> u1 + v27 = array_get v7, index u32 2 -> u1 v28 = not v27 v29 = cast v27 as Field v30 = cast v28 as Field @@ -565,7 +569,7 @@ mod tests { v33 = mul v31, Field 2 v34 = mul v33, v29 v35 = add v32, v34 - v37 = array_get v7, index u32 2 -> u1 + v37 = array_get v7, index u32 1 -> u1 v38 = not v37 v39 = cast v37 as Field v40 = cast v38 as Field @@ -574,7 +578,7 @@ mod tests { v43 = mul v41, Field 2 v44 = mul v43, v39 v45 = add v42, v44 - v47 = array_get v7, index u32 1 -> u1 + v47 = array_get v7, index u32 0 -> u1 v48 = not v47 v49 = cast v47 as Field v50 = cast v48 as Field @@ -583,18 +587,9 @@ mod tests { v53 = mul v51, Field 2 v54 = mul v53, v49 v55 = add v52, v54 - v57 = array_get v7, index u32 0 -> u1 - v58 = not v57 - v59 = cast v57 as Field - v60 = cast v58 as Field - v61 = mul v55, v55 - v62 = mul v61, v60 - v63 = mul v61, Field 2 - v64 = mul v63, v59 - v65 = add v62, v64 - v66 = cast v65 as u32 - v67 = div v0, v66 - return v67 + v56 = cast v55 as u32 + v57 = div v0, v56 + return v57 } "#); } @@ -644,14 +639,14 @@ mod tests { v4 = lt v2, u32 31 constrain v4 == u1 1, "attempt to bit-shift with overflow" v6 = cast v1 as Field - v8 = call to_le_bits(v6) -> [u1; 6] - v10 = array_get v8, index u32 5 -> u1 + v8 = call to_le_bits(v6) -> [u1; 5] + v10 = array_get v8, index u32 4 -> u1 v11 = not v10 v12 = cast v10 as Field v13 = cast v11 as Field v15 = mul Field 2, v12 v16 = add v13, v15 - v18 = array_get v8, index u32 4 -> u1 + v18 = array_get v8, index u32 3 -> u1 v19 = not v18 v20 = cast v18 as Field v21 = cast v19 as Field @@ -660,7 +655,7 @@ mod tests { v24 = mul v22, Field 2 v25 = mul v24, v20 v26 = add v23, v25 - v28 = array_get v8, index u32 3 -> u1 + v28 = array_get v8, index u32 2 -> u1 v29 = not v28 v30 = cast v28 as Field v31 = cast v29 as Field @@ -669,7 +664,7 @@ mod tests { v34 = mul v32, Field 2 v35 = mul v34, v30 v36 = add v33, v35 - v38 = array_get v8, index u32 2 -> u1 + v38 = array_get v8, index u32 1 -> u1 v39 = not v38 v40 = cast v38 as Field v41 = cast v39 as Field @@ -678,7 +673,7 @@ mod tests { v44 = mul v42, Field 2 v45 = mul v44, v40 v46 = add v43, v45 - v48 = array_get v8, index u32 1 -> u1 + v48 = array_get v8, index u32 0 -> u1 v49 = not v48 v50 = cast v48 as Field v51 = cast v49 as Field @@ -687,20 +682,11 @@ mod tests { v54 = mul v52, Field 2 v55 = mul v54, v50 v56 = add v53, v55 - v58 = array_get v8, index u32 0 -> u1 - v59 = not v58 - v60 = cast v58 as Field - v61 = cast v59 as Field - v62 = mul v56, v56 - v63 = mul v62, v61 - v64 = mul v62, Field 2 - v65 = mul v64, v60 - v66 = add v63, v65 - v67 = cast v0 as Field - v68 = mul v67, v66 - v69 = truncate v68 to 32 bits, max_bit_size: 64 - v70 = cast v69 as i32 - return v70 + v57 = cast v0 as Field + v58 = mul v57, v56 + v59 = truncate v58 to 32 bits, max_bit_size: 64 + v60 = cast v59 as i32 + return v60 } "#); } @@ -753,14 +739,14 @@ mod tests { v4 = lt v2, u32 31 constrain v4 == u1 1, "attempt to bit-shift with overflow" v6 = cast v1 as Field - v8 = call to_le_bits(v6) -> [u1; 6] - v10 = array_get v8, index u32 5 -> u1 + v8 = call to_le_bits(v6) -> [u1; 5] + v10 = array_get v8, index u32 4 -> u1 v11 = not v10 v12 = cast v10 as Field v13 = cast v11 as Field v15 = mul Field 2, v12 v16 = add v13, v15 - v18 = array_get v8, index u32 4 -> u1 + v18 = array_get v8, index u32 3 -> u1 v19 = not v18 v20 = cast v18 as Field v21 = cast v19 as Field @@ -769,7 +755,7 @@ mod tests { v24 = mul v22, Field 2 v25 = mul v24, v20 v26 = add v23, v25 - v28 = array_get v8, index u32 3 -> u1 + v28 = array_get v8, index u32 2 -> u1 v29 = not v28 v30 = cast v28 as Field v31 = cast v29 as Field @@ -778,7 +764,7 @@ mod tests { v34 = mul v32, Field 2 v35 = mul v34, v30 v36 = add v33, v35 - v38 = array_get v8, index u32 2 -> u1 + v38 = array_get v8, index u32 1 -> u1 v39 = not v38 v40 = cast v38 as Field v41 = cast v39 as Field @@ -787,7 +773,7 @@ mod tests { v44 = mul v42, Field 2 v45 = mul v44, v40 v46 = add v43, v45 - v48 = array_get v8, index u32 1 -> u1 + v48 = array_get v8, index u32 0 -> u1 v49 = not v48 v50 = cast v48 as Field v51 = cast v49 as Field @@ -796,27 +782,18 @@ mod tests { v54 = mul v52, Field 2 v55 = mul v54, v50 v56 = add v53, v55 - v58 = array_get v8, index u32 0 -> u1 - v59 = not v58 - v60 = cast v58 as Field - v61 = cast v59 as Field - v62 = mul v56, v56 - v63 = mul v62, v61 - v64 = mul v62, Field 2 - v65 = mul v64, v60 - v66 = add v63, v65 - v67 = cast v66 as i32 - v69 = lt v0, i32 0 - v70 = cast v69 as Field - v71 = cast v0 as Field - v72 = add v70, v71 - v73 = truncate v72 to 32 bits, max_bit_size: 33 - v74 = cast v73 as i32 - v75 = div v74, v67 - v76 = cast v69 as i32 - v77 = unchecked_sub v75, v76 - v78 = truncate v77 to 32 bits, max_bit_size: 33 - return v78 + v57 = cast v56 as i32 + v59 = lt v0, i32 0 + v60 = cast v59 as Field + v61 = cast v0 as Field + v62 = add v60, v61 + v63 = truncate v62 to 32 bits, max_bit_size: 33 + v64 = cast v63 as i32 + v65 = div v64, v57 + v66 = cast v59 as i32 + v67 = unchecked_sub v65, v66 + v68 = truncate v67 to 32 bits, max_bit_size: 33 + return v68 } "#); } diff --git a/test_programs/execution_success/regression_9541/Nargo.toml b/test_programs/execution_success/regression_9541/Nargo.toml new file mode 100644 index 00000000000..30c3520b0cf --- /dev/null +++ b/test_programs/execution_success/regression_9541/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "regression_9541" +type = "bin" +authors = [""] + +[dependencies] diff --git a/test_programs/execution_success/regression_9541/Prover.toml b/test_programs/execution_success/regression_9541/Prover.toml new file mode 100644 index 00000000000..7565431db9b --- /dev/null +++ b/test_programs/execution_success/regression_9541/Prover.toml @@ -0,0 +1,3 @@ +a = 1 +b = 26 +return = 67108864 diff --git a/test_programs/execution_success/regression_9541/src/main.nr b/test_programs/execution_success/regression_9541/src/main.nr new file mode 100644 index 00000000000..a0f55efcd54 --- /dev/null +++ b/test_programs/execution_success/regression_9541/src/main.nr @@ -0,0 +1,3 @@ +fn main(a: u32, b: u8) -> pub u32 { + a << (b as u32) +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 9288525a612..81fa519cbd8 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -40,19 +40,19 @@ expression: artifact "error_kind": "string", "string": "attempt to multiply with overflow" }, - "10437400104653976995": { - "error_kind": "string", - "string": "Field failed to decompose into specified 6 limbs" - }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" + }, + "16061458491050355795": { + "error_kind": "string", + "string": "Field failed to decompose into specified 5 limbs" } } }, "bytecode": [ "func 0", - "current witness index : _62", + "current witness index : _58", "private parameters indices : [_0, _1]", "public parameters indices : []", "return value indices : []", @@ -89,65 +89,61 @@ expression: artifact "BLACKBOX::RANGE [(_19, 32)] []", "EXPR [ (1, _0) (-4294967296, _18) (-1, _19) 4294967264 ]", "EXPR [ (-1, _18) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_20, _21, _22, _23, _24, _25]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_20, _21, _22, _23, _24]]", "BLACKBOX::RANGE [(_20, 1)] []", "BLACKBOX::RANGE [(_21, 1)] []", "BLACKBOX::RANGE [(_22, 1)] []", "BLACKBOX::RANGE [(_23, 1)] []", "BLACKBOX::RANGE [(_24, 1)] []", - "BLACKBOX::RANGE [(_25, 1)] []", - "EXPR [ (1, _0) (-1, _20) (-2, _21) (-4, _22) (-8, _23) (-16, _24) (-32, _25) 0 ]", - "EXPR [ (1, _25, _25) (2, _25) (-1, _26) 1 ]", - "EXPR [ (-1, _24) (-1, _27) 1 ]", - "EXPR [ (2, _24, _26) (1, _26, _27) (-1, _28) 0 ]", - "EXPR [ (1, _28, _28) (-1, _29) 0 ]", - "EXPR [ (-1, _23) (-1, _30) 1 ]", - "EXPR [ (2, _23, _29) (1, _29, _30) (-1, _31) 0 ]", - "EXPR [ (1, _31, _31) (-1, _32) 0 ]", - "EXPR [ (-1, _22) (-1, _33) 1 ]", - "EXPR [ (2, _22, _32) (1, _32, _33) (-1, _34) 0 ]", - "EXPR [ (1, _34, _34) (-1, _35) 0 ]", - "EXPR [ (-1, _21) (-1, _36) 1 ]", - "EXPR [ (2, _21, _35) (1, _35, _36) (-1, _37) 0 ]", - "EXPR [ (1, _37, _37) (-1, _38) 0 ]", - "EXPR [ (-1, _20) (-1, _39) 1 ]", - "EXPR [ (2, _20, _38) (1, _38, _39) (-1, _40) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _40) 0 ], EXPR [ 4294967296 ]], outputs: [_41, _42]", + "EXPR [ (1, _0) (-1, _20) (-2, _21) (-4, _22) (-8, _23) (-16, _24) 0 ]", + "EXPR [ (1, _24, _24) (2, _24) (-1, _25) 1 ]", + "EXPR [ (-1, _23) (-1, _26) 1 ]", + "EXPR [ (2, _23, _25) (1, _25, _26) (-1, _27) 0 ]", + "EXPR [ (1, _27, _27) (-1, _28) 0 ]", + "EXPR [ (-1, _22) (-1, _29) 1 ]", + "EXPR [ (2, _22, _28) (1, _28, _29) (-1, _30) 0 ]", + "EXPR [ (1, _30, _30) (-1, _31) 0 ]", + "EXPR [ (-1, _21) (-1, _32) 1 ]", + "EXPR [ (2, _21, _31) (1, _31, _32) (-1, _33) 0 ]", + "EXPR [ (1, _33, _33) (-1, _34) 0 ]", + "EXPR [ (-1, _20) (-1, _35) 1 ]", + "EXPR [ (2, _20, _34) (1, _34, _35) (-1, _36) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _36) 0 ], EXPR [ 4294967296 ]], outputs: [_37, _38]", + "BLACKBOX::RANGE [(_37, 32)] []", + "EXPR [ (1, _1, _36) (-4294967296, _37) (-1, _38) 0 ]", + "EXPR [ (1, _38) -72 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _36) 0 ]], outputs: [_39]", + "EXPR [ (1, _36, _39) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ (1, _36) 0 ]], outputs: [_40, _41]", "BLACKBOX::RANGE [(_41, 32)] []", - "EXPR [ (1, _1, _40) (-4294967296, _41) (-1, _42) 0 ]", - "EXPR [ (1, _42) -72 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 0 ]], outputs: [_43]", - "EXPR [ (1, _40, _43) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ (1, _40) 0 ]], outputs: [_44, _45]", + "EXPR [ (1, _36) (-1, _41) (-1, _42) -1 ]", + "BLACKBOX::RANGE [(_42, 32)] []", + "EXPR [ (-1, _36, _40) (1, _1) (-1, _41) 0 ]", + "EXPR [ (1, _40) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_43]", + "EXPR [ (1, _0, _43) (-1, _1, _43) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_44, _45]", + "BLACKBOX::RANGE [(_44, 1)] []", "BLACKBOX::RANGE [(_45, 32)] []", - "EXPR [ (1, _40) (-1, _45) (-1, _46) -1 ]", - "BLACKBOX::RANGE [(_46, 32)] []", - "EXPR [ (-1, _40, _44) (1, _1) (-1, _45) 0 ]", - "EXPR [ (1, _44) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_47]", - "EXPR [ (1, _0, _47) (-1, _1, _47) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_48, _49]", - "BLACKBOX::RANGE [(_48, 1)] []", - "BLACKBOX::RANGE [(_49, 32)] []", - "EXPR [ (1, _0) (-1, _1) (-4294967296, _48) (-1, _49) 4294967296 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _0) (1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_50, _51]", - "BLACKBOX::RANGE [(_50, 1)] []", - "BLACKBOX::RANGE [(_51, 32)] []", - "EXPR [ (-1, _0) (1, _1) (-4294967296, _50) (-1, _51) 4294967296 ]", - "EXPR [ (-1, _48, _50) (2, _48) (-1, _52) 0 ]", - "EXPR [ (1, _48, _52) 0 ]", - "EXPR [ (-1, _48, _50) (2, _50) (-1, _53) 0 ]", - "EXPR [ (1, _50, _53) (-1, _54) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _54) 0 ]], outputs: [_55]", - "EXPR [ (1, _54, _55) (1, _56) -1 ]", - "EXPR [ (1, _54, _56) 0 ]", - "EXPR [ (1, _48, _56) (-1, _57) 0 ]", - "EXPR [ (-1, _50) (-1, _58) 1 ]", - "EXPR [ (1, _50, _57) (2, _57, _58) (-1, _59) 0 ]", - "EXPR [ (1, _57, _59) (-1, _60) 0 ]", - "EXPR [ (-1, _56) (-1, _61) 1 ]", - "EXPR [ (1, _50, _53) (-1, _62) 0 ]", - "EXPR [ (1, _56, _60) (1, _61, _62) -2 ]", + "EXPR [ (1, _0) (-1, _1) (-4294967296, _44) (-1, _45) 4294967296 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _0) (1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_46, _47]", + "BLACKBOX::RANGE [(_46, 1)] []", + "BLACKBOX::RANGE [(_47, 32)] []", + "EXPR [ (-1, _0) (1, _1) (-4294967296, _46) (-1, _47) 4294967296 ]", + "EXPR [ (-1, _44, _46) (2, _44) (-1, _48) 0 ]", + "EXPR [ (1, _44, _48) 0 ]", + "EXPR [ (-1, _44, _46) (2, _46) (-1, _49) 0 ]", + "EXPR [ (1, _46, _49) (-1, _50) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _50) 0 ]], outputs: [_51]", + "EXPR [ (1, _50, _51) (1, _52) -1 ]", + "EXPR [ (1, _50, _52) 0 ]", + "EXPR [ (1, _44, _52) (-1, _53) 0 ]", + "EXPR [ (-1, _46) (-1, _54) 1 ]", + "EXPR [ (1, _46, _53) (2, _53, _54) (-1, _55) 0 ]", + "EXPR [ (1, _53, _55) (-1, _56) 0 ]", + "EXPR [ (-1, _52) (-1, _57) 1 ]", + "EXPR [ (1, _46, _49) (-1, _58) 0 ]", + "EXPR [ (1, _52, _56) (1, _57, _58) -2 ]", "unconstrained func 0", "[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) } }]", "unconstrained func 1", @@ -155,7 +151,7 @@ expression: artifact "unconstrained func 2", "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" ], - "debug_symbols": "pZdNbuMwDIXv4nUWEv8k9SqDQeGmbhHASAI3KTAoevehaspNFxJmlNWXxOEDn0TS0sfwPD1dXx8Px5fT2/Dw62N4Wg7zfHh9nE/78XI4HfXXj8/dUL4+XpZp0p+Gm+cadR6X6XgZHo7Xed4N7+N8/frT23k8fvEyLvrU7Ybp+KxUwZfDPOVPn7vvaFcPhRQsGB1t4fwz3tfjvTgxAS/oagrNDIoAAnTEI24OqOqAGg4CcHEQKHVlsDmQLgdhcxCrDkLDQSQqDqLErgyKA3I9DsgXBwT1KmoI+CRYLKQYulLYLFCXBd4sSN0CNurYRTAF8E66UtgsxC4LKVo8O65akIYFcGURANB3pVAEGLgjnqnMMqZqFfjUsIBYFACZelLAVFKQnkLkrQw4VqcJQMMCcRlIQCF1peBNQFxPvGwTURCrFrhhgUOZSMCpL4UiIF27KFJ2UUJ1FyE2LEjaLATfZUFKO0rqGcrBl5EYsKcQA5dCDFzNH1uFmFxZREhQLQRsDEVm2Bqa8Wao/YfCdz9xoopCcxlKM4SAHcvo/daO3tdfTdh4QSMIb2ec0DMXPVApJg+xeszCxmREH7ckfKomQe7ugiB/73Y2fYCnbTGp+pKiRk3h94xHFulK4p92lPj+xZR7u6utUN2O3/pl3B+WHzeWAdTwbkCdabuBhgd1wLkvdoOsCCviirTCO6M3Qi5jperkzfRkZKMYgzEa00rIerq0kPW07yDraX8A5mOYkoxslHwmU4Z8KlDG/GpVpjzn1Y4zeiMY0UhGNooxGKPR9Mj0yPTI9Mj0yPTI9Mj0yPTI9Mj02PTY9Nj02PTY9Nj02PTY9Nj0OOvpeknW060TbwQjGsnIRjGGfE1UxjxDlGllcPnypfRGMKKRcqMp2SjGYMw6ml/0+fSuBCMaycj5aKwUY1xbLKaVyRlzHvmV9z4uh/Fpnuyy/XI97m/u3pc/5/Kk3M7Py2k/PV+XKVf91zPtg78=", + "debug_symbols": "pZfdbuMgEIXfxde5gPkD+iqrVeWmbmXJciI3qbSq+u4L9UDTC9AuufqSOHM0B2bG8DE8T0/X18d5fTm9DQ+/PoanbV6W+fVxOR3Hy3xa468fn4chf328bNMUfxpunseo87hN62V4WK/Lchjex+X69ae387h+8TJu8ak5DNP6HBkFX+ZlSp8+D9/Rph4KwWkwGirh/DPe1uOtGFEBK2hqCs0MsgACdMQjFgdUdUANBw44O3AUujIoDqTLgSsOfNWBazjwRNmBF9+VQXZApscB2eyAoF5FDQEbBLOF4F1XCsUCdVngYkHqFrBRx8aDKoA10pVCseC7LASv8Wy4akEaFsDkRQBA25VCFmDgjnimPMuYqlVgQ8MCYlYAZOpJAUNOQXoKkUsZsK9OE4CGBeI8kIBc6ErBqoCYnngpE1EQqxa4YYFdnkjAoS+FLCBduyiSd1FcdRfBNyxIKBac7bIguR0l9AxlZ/NIdNhTiI5zITqu5o+tQgwmLyIEqBYCNoYiM5SGZrwZav+h8N1PHKii0FyG3AzOYccyWlva0dr6qwkbL2gE4XLGcT1z0QLlYrLgq8csbExGtL4kYUM1CTJ3FwTZe7ez6QMslcWk6kuKGjWF3zMeWaQriX/aUeL7F1Pu7a62QnU7fscv43HeftxYBoiGDwPGmXYYaHiIDjj1xWGQHW6H3xF2WKO0SkhlHBl10mZaUrJSlE7plWEnJL24tJD0Yt9B0ov9AZiOYZGkZKWkM1mkS6eCSJ9erZEhzfloxyitEpSoJCUrRemUXql6pHqkeqR6pHqkeqR6pHqkeqR6pHqseqx6rHqseqx6nPTienDSS1vjlF4ZdopRWiUoMV0DIynNiEhWSrpcRTqlV4adzqRGirRKUKIy6cT8nEun80ivDDu9Udp09I0EJe0t5FkpypRHeqW9j9s8Pi2TXqZfruvx5m59+XPOT/Lt+7ydjtPzdZtSVX89i3X+Fw==", "file_map": { "5": { "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n if result {\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n }\n result\n }\n}\n\nimpl Eq for str {\n fn eq(self, other: str) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use super::{Eq, max, min};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0_u64, 1), 0);\n assert_eq(min(0_u64, 0), 0);\n assert_eq(min(1_u64, 1), 1);\n assert_eq(min(255_u8, 0), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0_u64, 1), 1);\n assert_eq(max(0_u64, 0), 0);\n assert_eq(max(1_u64, 1), 1);\n assert_eq(max(255_u8, 0), 255);\n }\n\n #[test]\n fn correctly_handles_unequal_length_slices() {\n let slice_1 = &[0, 1, 2, 3];\n let slice_2 = &[0, 1, 2];\n assert(!slice_1.eq(slice_2));\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap index 9288525a612..81fa519cbd8 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_0.snap @@ -40,19 +40,19 @@ expression: artifact "error_kind": "string", "string": "attempt to multiply with overflow" }, - "10437400104653976995": { - "error_kind": "string", - "string": "Field failed to decompose into specified 6 limbs" - }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" + }, + "16061458491050355795": { + "error_kind": "string", + "string": "Field failed to decompose into specified 5 limbs" } } }, "bytecode": [ "func 0", - "current witness index : _62", + "current witness index : _58", "private parameters indices : [_0, _1]", "public parameters indices : []", "return value indices : []", @@ -89,65 +89,61 @@ expression: artifact "BLACKBOX::RANGE [(_19, 32)] []", "EXPR [ (1, _0) (-4294967296, _18) (-1, _19) 4294967264 ]", "EXPR [ (-1, _18) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_20, _21, _22, _23, _24, _25]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_20, _21, _22, _23, _24]]", "BLACKBOX::RANGE [(_20, 1)] []", "BLACKBOX::RANGE [(_21, 1)] []", "BLACKBOX::RANGE [(_22, 1)] []", "BLACKBOX::RANGE [(_23, 1)] []", "BLACKBOX::RANGE [(_24, 1)] []", - "BLACKBOX::RANGE [(_25, 1)] []", - "EXPR [ (1, _0) (-1, _20) (-2, _21) (-4, _22) (-8, _23) (-16, _24) (-32, _25) 0 ]", - "EXPR [ (1, _25, _25) (2, _25) (-1, _26) 1 ]", - "EXPR [ (-1, _24) (-1, _27) 1 ]", - "EXPR [ (2, _24, _26) (1, _26, _27) (-1, _28) 0 ]", - "EXPR [ (1, _28, _28) (-1, _29) 0 ]", - "EXPR [ (-1, _23) (-1, _30) 1 ]", - "EXPR [ (2, _23, _29) (1, _29, _30) (-1, _31) 0 ]", - "EXPR [ (1, _31, _31) (-1, _32) 0 ]", - "EXPR [ (-1, _22) (-1, _33) 1 ]", - "EXPR [ (2, _22, _32) (1, _32, _33) (-1, _34) 0 ]", - "EXPR [ (1, _34, _34) (-1, _35) 0 ]", - "EXPR [ (-1, _21) (-1, _36) 1 ]", - "EXPR [ (2, _21, _35) (1, _35, _36) (-1, _37) 0 ]", - "EXPR [ (1, _37, _37) (-1, _38) 0 ]", - "EXPR [ (-1, _20) (-1, _39) 1 ]", - "EXPR [ (2, _20, _38) (1, _38, _39) (-1, _40) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _40) 0 ], EXPR [ 4294967296 ]], outputs: [_41, _42]", + "EXPR [ (1, _0) (-1, _20) (-2, _21) (-4, _22) (-8, _23) (-16, _24) 0 ]", + "EXPR [ (1, _24, _24) (2, _24) (-1, _25) 1 ]", + "EXPR [ (-1, _23) (-1, _26) 1 ]", + "EXPR [ (2, _23, _25) (1, _25, _26) (-1, _27) 0 ]", + "EXPR [ (1, _27, _27) (-1, _28) 0 ]", + "EXPR [ (-1, _22) (-1, _29) 1 ]", + "EXPR [ (2, _22, _28) (1, _28, _29) (-1, _30) 0 ]", + "EXPR [ (1, _30, _30) (-1, _31) 0 ]", + "EXPR [ (-1, _21) (-1, _32) 1 ]", + "EXPR [ (2, _21, _31) (1, _31, _32) (-1, _33) 0 ]", + "EXPR [ (1, _33, _33) (-1, _34) 0 ]", + "EXPR [ (-1, _20) (-1, _35) 1 ]", + "EXPR [ (2, _20, _34) (1, _34, _35) (-1, _36) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _36) 0 ], EXPR [ 4294967296 ]], outputs: [_37, _38]", + "BLACKBOX::RANGE [(_37, 32)] []", + "EXPR [ (1, _1, _36) (-4294967296, _37) (-1, _38) 0 ]", + "EXPR [ (1, _38) -72 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _36) 0 ]], outputs: [_39]", + "EXPR [ (1, _36, _39) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ (1, _36) 0 ]], outputs: [_40, _41]", "BLACKBOX::RANGE [(_41, 32)] []", - "EXPR [ (1, _1, _40) (-4294967296, _41) (-1, _42) 0 ]", - "EXPR [ (1, _42) -72 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 0 ]], outputs: [_43]", - "EXPR [ (1, _40, _43) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ (1, _40) 0 ]], outputs: [_44, _45]", + "EXPR [ (1, _36) (-1, _41) (-1, _42) -1 ]", + "BLACKBOX::RANGE [(_42, 32)] []", + "EXPR [ (-1, _36, _40) (1, _1) (-1, _41) 0 ]", + "EXPR [ (1, _40) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_43]", + "EXPR [ (1, _0, _43) (-1, _1, _43) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_44, _45]", + "BLACKBOX::RANGE [(_44, 1)] []", "BLACKBOX::RANGE [(_45, 32)] []", - "EXPR [ (1, _40) (-1, _45) (-1, _46) -1 ]", - "BLACKBOX::RANGE [(_46, 32)] []", - "EXPR [ (-1, _40, _44) (1, _1) (-1, _45) 0 ]", - "EXPR [ (1, _44) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_47]", - "EXPR [ (1, _0, _47) (-1, _1, _47) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_48, _49]", - "BLACKBOX::RANGE [(_48, 1)] []", - "BLACKBOX::RANGE [(_49, 32)] []", - "EXPR [ (1, _0) (-1, _1) (-4294967296, _48) (-1, _49) 4294967296 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _0) (1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_50, _51]", - "BLACKBOX::RANGE [(_50, 1)] []", - "BLACKBOX::RANGE [(_51, 32)] []", - "EXPR [ (-1, _0) (1, _1) (-4294967296, _50) (-1, _51) 4294967296 ]", - "EXPR [ (-1, _48, _50) (2, _48) (-1, _52) 0 ]", - "EXPR [ (1, _48, _52) 0 ]", - "EXPR [ (-1, _48, _50) (2, _50) (-1, _53) 0 ]", - "EXPR [ (1, _50, _53) (-1, _54) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _54) 0 ]], outputs: [_55]", - "EXPR [ (1, _54, _55) (1, _56) -1 ]", - "EXPR [ (1, _54, _56) 0 ]", - "EXPR [ (1, _48, _56) (-1, _57) 0 ]", - "EXPR [ (-1, _50) (-1, _58) 1 ]", - "EXPR [ (1, _50, _57) (2, _57, _58) (-1, _59) 0 ]", - "EXPR [ (1, _57, _59) (-1, _60) 0 ]", - "EXPR [ (-1, _56) (-1, _61) 1 ]", - "EXPR [ (1, _50, _53) (-1, _62) 0 ]", - "EXPR [ (1, _56, _60) (1, _61, _62) -2 ]", + "EXPR [ (1, _0) (-1, _1) (-4294967296, _44) (-1, _45) 4294967296 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _0) (1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_46, _47]", + "BLACKBOX::RANGE [(_46, 1)] []", + "BLACKBOX::RANGE [(_47, 32)] []", + "EXPR [ (-1, _0) (1, _1) (-4294967296, _46) (-1, _47) 4294967296 ]", + "EXPR [ (-1, _44, _46) (2, _44) (-1, _48) 0 ]", + "EXPR [ (1, _44, _48) 0 ]", + "EXPR [ (-1, _44, _46) (2, _46) (-1, _49) 0 ]", + "EXPR [ (1, _46, _49) (-1, _50) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _50) 0 ]], outputs: [_51]", + "EXPR [ (1, _50, _51) (1, _52) -1 ]", + "EXPR [ (1, _50, _52) 0 ]", + "EXPR [ (1, _44, _52) (-1, _53) 0 ]", + "EXPR [ (-1, _46) (-1, _54) 1 ]", + "EXPR [ (1, _46, _53) (2, _53, _54) (-1, _55) 0 ]", + "EXPR [ (1, _53, _55) (-1, _56) 0 ]", + "EXPR [ (-1, _52) (-1, _57) 1 ]", + "EXPR [ (1, _46, _49) (-1, _58) 0 ]", + "EXPR [ (1, _52, _56) (1, _57, _58) -2 ]", "unconstrained func 0", "[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) } }]", "unconstrained func 1", @@ -155,7 +151,7 @@ expression: artifact "unconstrained func 2", "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" ], - "debug_symbols": "pZdNbuMwDIXv4nUWEv8k9SqDQeGmbhHASAI3KTAoevehaspNFxJmlNWXxOEDn0TS0sfwPD1dXx8Px5fT2/Dw62N4Wg7zfHh9nE/78XI4HfXXj8/dUL4+XpZp0p+Gm+cadR6X6XgZHo7Xed4N7+N8/frT23k8fvEyLvrU7Ybp+KxUwZfDPOVPn7vvaFcPhRQsGB1t4fwz3tfjvTgxAS/oagrNDIoAAnTEI24OqOqAGg4CcHEQKHVlsDmQLgdhcxCrDkLDQSQqDqLErgyKA3I9DsgXBwT1KmoI+CRYLKQYulLYLFCXBd4sSN0CNurYRTAF8E66UtgsxC4LKVo8O65akIYFcGURANB3pVAEGLgjnqnMMqZqFfjUsIBYFACZelLAVFKQnkLkrQw4VqcJQMMCcRlIQCF1peBNQFxPvGwTURCrFrhhgUOZSMCpL4UiIF27KFJ2UUJ1FyE2LEjaLATfZUFKO0rqGcrBl5EYsKcQA5dCDFzNH1uFmFxZREhQLQRsDEVm2Bqa8Wao/YfCdz9xoopCcxlKM4SAHcvo/daO3tdfTdh4QSMIb2ec0DMXPVApJg+xeszCxmREH7ckfKomQe7ugiB/73Y2fYCnbTGp+pKiRk3h94xHFulK4p92lPj+xZR7u6utUN2O3/pl3B+WHzeWAdTwbkCdabuBhgd1wLkvdoOsCCviirTCO6M3Qi5jperkzfRkZKMYgzEa00rIerq0kPW07yDraX8A5mOYkoxslHwmU4Z8KlDG/GpVpjzn1Y4zeiMY0UhGNooxGKPR9Mj0yPTI9Mj0yPTI9Mj0yPTI9Mj02PTY9Nj02PTY9Nj02PTY9Nj0OOvpeknW060TbwQjGsnIRjGGfE1UxjxDlGllcPnypfRGMKKRcqMp2SjGYMw6ml/0+fSuBCMaycj5aKwUY1xbLKaVyRlzHvmV9z4uh/Fpnuyy/XI97m/u3pc/5/Kk3M7Py2k/PV+XKVf91zPtg78=", + "debug_symbols": "pZfdbuMgEIXfxde5gPkD+iqrVeWmbmXJciI3qbSq+u4L9UDTC9AuufqSOHM0B2bG8DE8T0/X18d5fTm9DQ+/PoanbV6W+fVxOR3Hy3xa468fn4chf328bNMUfxpunseo87hN62V4WK/Lchjex+X69ae387h+8TJu8ak5DNP6HBkFX+ZlSp8+D9/Rph4KwWkwGirh/DPe1uOtGFEBK2hqCs0MsgACdMQjFgdUdUANBw44O3AUujIoDqTLgSsOfNWBazjwRNmBF9+VQXZApscB2eyAoF5FDQEbBLOF4F1XCsUCdVngYkHqFrBRx8aDKoA10pVCseC7LASv8Wy4akEaFsDkRQBA25VCFmDgjnimPMuYqlVgQ8MCYlYAZOpJAUNOQXoKkUsZsK9OE4CGBeI8kIBc6ErBqoCYnngpE1EQqxa4YYFdnkjAoS+FLCBduyiSd1FcdRfBNyxIKBac7bIguR0l9AxlZ/NIdNhTiI5zITqu5o+tQgwmLyIEqBYCNoYiM5SGZrwZav+h8N1PHKii0FyG3AzOYccyWlva0dr6qwkbL2gE4XLGcT1z0QLlYrLgq8csbExGtL4kYUM1CTJ3FwTZe7ez6QMslcWk6kuKGjWF3zMeWaQriX/aUeL7F1Pu7a62QnU7fscv43HeftxYBoiGDwPGmXYYaHiIDjj1xWGQHW6H3xF2WKO0SkhlHBl10mZaUrJSlE7plWEnJL24tJD0Yt9B0ov9AZiOYZGkZKWkM1mkS6eCSJ9erZEhzfloxyitEpSoJCUrRemUXql6pHqkeqR6pHqkeqR6pHqkeqR6pHqseqx6rHqseqx6nPTienDSS1vjlF4ZdopRWiUoMV0DIynNiEhWSrpcRTqlV4adzqRGirRKUKIy6cT8nEun80ivDDu9Udp09I0EJe0t5FkpypRHeqW9j9s8Pi2TXqZfruvx5m59+XPOT/Lt+7ydjtPzdZtSVX89i3X+Fw==", "file_map": { "5": { "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n if result {\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n }\n result\n }\n}\n\nimpl Eq for str {\n fn eq(self, other: str) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use super::{Eq, max, min};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0_u64, 1), 0);\n assert_eq(min(0_u64, 0), 0);\n assert_eq(min(1_u64, 1), 1);\n assert_eq(min(255_u8, 0), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0_u64, 1), 1);\n assert_eq(max(0_u64, 0), 0);\n assert_eq(max(1_u64, 1), 1);\n assert_eq(max(255_u8, 0), 255);\n }\n\n #[test]\n fn correctly_handles_unequal_length_slices() {\n let slice_1 = &[0, 1, 2, 3];\n let slice_2 = &[0, 1, 2];\n assert(!slice_1.eq(slice_2));\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 9288525a612..81fa519cbd8 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/binary_operator_overloading/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -40,19 +40,19 @@ expression: artifact "error_kind": "string", "string": "attempt to multiply with overflow" }, - "10437400104653976995": { - "error_kind": "string", - "string": "Field failed to decompose into specified 6 limbs" - }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" + }, + "16061458491050355795": { + "error_kind": "string", + "string": "Field failed to decompose into specified 5 limbs" } } }, "bytecode": [ "func 0", - "current witness index : _62", + "current witness index : _58", "private parameters indices : [_0, _1]", "public parameters indices : []", "return value indices : []", @@ -89,65 +89,61 @@ expression: artifact "BLACKBOX::RANGE [(_19, 32)] []", "EXPR [ (1, _0) (-4294967296, _18) (-1, _19) 4294967264 ]", "EXPR [ (-1, _18) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_20, _21, _22, _23, _24, _25]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_20, _21, _22, _23, _24]]", "BLACKBOX::RANGE [(_20, 1)] []", "BLACKBOX::RANGE [(_21, 1)] []", "BLACKBOX::RANGE [(_22, 1)] []", "BLACKBOX::RANGE [(_23, 1)] []", "BLACKBOX::RANGE [(_24, 1)] []", - "BLACKBOX::RANGE [(_25, 1)] []", - "EXPR [ (1, _0) (-1, _20) (-2, _21) (-4, _22) (-8, _23) (-16, _24) (-32, _25) 0 ]", - "EXPR [ (1, _25, _25) (2, _25) (-1, _26) 1 ]", - "EXPR [ (-1, _24) (-1, _27) 1 ]", - "EXPR [ (2, _24, _26) (1, _26, _27) (-1, _28) 0 ]", - "EXPR [ (1, _28, _28) (-1, _29) 0 ]", - "EXPR [ (-1, _23) (-1, _30) 1 ]", - "EXPR [ (2, _23, _29) (1, _29, _30) (-1, _31) 0 ]", - "EXPR [ (1, _31, _31) (-1, _32) 0 ]", - "EXPR [ (-1, _22) (-1, _33) 1 ]", - "EXPR [ (2, _22, _32) (1, _32, _33) (-1, _34) 0 ]", - "EXPR [ (1, _34, _34) (-1, _35) 0 ]", - "EXPR [ (-1, _21) (-1, _36) 1 ]", - "EXPR [ (2, _21, _35) (1, _35, _36) (-1, _37) 0 ]", - "EXPR [ (1, _37, _37) (-1, _38) 0 ]", - "EXPR [ (-1, _20) (-1, _39) 1 ]", - "EXPR [ (2, _20, _38) (1, _38, _39) (-1, _40) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _40) 0 ], EXPR [ 4294967296 ]], outputs: [_41, _42]", + "EXPR [ (1, _0) (-1, _20) (-2, _21) (-4, _22) (-8, _23) (-16, _24) 0 ]", + "EXPR [ (1, _24, _24) (2, _24) (-1, _25) 1 ]", + "EXPR [ (-1, _23) (-1, _26) 1 ]", + "EXPR [ (2, _23, _25) (1, _25, _26) (-1, _27) 0 ]", + "EXPR [ (1, _27, _27) (-1, _28) 0 ]", + "EXPR [ (-1, _22) (-1, _29) 1 ]", + "EXPR [ (2, _22, _28) (1, _28, _29) (-1, _30) 0 ]", + "EXPR [ (1, _30, _30) (-1, _31) 0 ]", + "EXPR [ (-1, _21) (-1, _32) 1 ]", + "EXPR [ (2, _21, _31) (1, _31, _32) (-1, _33) 0 ]", + "EXPR [ (1, _33, _33) (-1, _34) 0 ]", + "EXPR [ (-1, _20) (-1, _35) 1 ]", + "EXPR [ (2, _20, _34) (1, _34, _35) (-1, _36) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _36) 0 ], EXPR [ 4294967296 ]], outputs: [_37, _38]", + "BLACKBOX::RANGE [(_37, 32)] []", + "EXPR [ (1, _1, _36) (-4294967296, _37) (-1, _38) 0 ]", + "EXPR [ (1, _38) -72 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _36) 0 ]], outputs: [_39]", + "EXPR [ (1, _36, _39) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ (1, _36) 0 ]], outputs: [_40, _41]", "BLACKBOX::RANGE [(_41, 32)] []", - "EXPR [ (1, _1, _40) (-4294967296, _41) (-1, _42) 0 ]", - "EXPR [ (1, _42) -72 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 0 ]], outputs: [_43]", - "EXPR [ (1, _40, _43) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ (1, _40) 0 ]], outputs: [_44, _45]", + "EXPR [ (1, _36) (-1, _41) (-1, _42) -1 ]", + "BLACKBOX::RANGE [(_42, 32)] []", + "EXPR [ (-1, _36, _40) (1, _1) (-1, _41) 0 ]", + "EXPR [ (1, _40) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_43]", + "EXPR [ (1, _0, _43) (-1, _1, _43) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_44, _45]", + "BLACKBOX::RANGE [(_44, 1)] []", "BLACKBOX::RANGE [(_45, 32)] []", - "EXPR [ (1, _40) (-1, _45) (-1, _46) -1 ]", - "BLACKBOX::RANGE [(_46, 32)] []", - "EXPR [ (-1, _40, _44) (1, _1) (-1, _45) 0 ]", - "EXPR [ (1, _44) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_47]", - "EXPR [ (1, _0, _47) (-1, _1, _47) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_48, _49]", - "BLACKBOX::RANGE [(_48, 1)] []", - "BLACKBOX::RANGE [(_49, 32)] []", - "EXPR [ (1, _0) (-1, _1) (-4294967296, _48) (-1, _49) 4294967296 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _0) (1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_50, _51]", - "BLACKBOX::RANGE [(_50, 1)] []", - "BLACKBOX::RANGE [(_51, 32)] []", - "EXPR [ (-1, _0) (1, _1) (-4294967296, _50) (-1, _51) 4294967296 ]", - "EXPR [ (-1, _48, _50) (2, _48) (-1, _52) 0 ]", - "EXPR [ (1, _48, _52) 0 ]", - "EXPR [ (-1, _48, _50) (2, _50) (-1, _53) 0 ]", - "EXPR [ (1, _50, _53) (-1, _54) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _54) 0 ]], outputs: [_55]", - "EXPR [ (1, _54, _55) (1, _56) -1 ]", - "EXPR [ (1, _54, _56) 0 ]", - "EXPR [ (1, _48, _56) (-1, _57) 0 ]", - "EXPR [ (-1, _50) (-1, _58) 1 ]", - "EXPR [ (1, _50, _57) (2, _57, _58) (-1, _59) 0 ]", - "EXPR [ (1, _57, _59) (-1, _60) 0 ]", - "EXPR [ (-1, _56) (-1, _61) 1 ]", - "EXPR [ (1, _50, _53) (-1, _62) 0 ]", - "EXPR [ (1, _56, _60) (1, _61, _62) -2 ]", + "EXPR [ (1, _0) (-1, _1) (-4294967296, _44) (-1, _45) 4294967296 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _0) (1, _1) 4294967296 ], EXPR [ 4294967296 ]], outputs: [_46, _47]", + "BLACKBOX::RANGE [(_46, 1)] []", + "BLACKBOX::RANGE [(_47, 32)] []", + "EXPR [ (-1, _0) (1, _1) (-4294967296, _46) (-1, _47) 4294967296 ]", + "EXPR [ (-1, _44, _46) (2, _44) (-1, _48) 0 ]", + "EXPR [ (1, _44, _48) 0 ]", + "EXPR [ (-1, _44, _46) (2, _46) (-1, _49) 0 ]", + "EXPR [ (1, _46, _49) (-1, _50) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _50) 0 ]], outputs: [_51]", + "EXPR [ (1, _50, _51) (1, _52) -1 ]", + "EXPR [ (1, _50, _52) 0 ]", + "EXPR [ (1, _44, _52) (-1, _53) 0 ]", + "EXPR [ (-1, _46) (-1, _54) 1 ]", + "EXPR [ (1, _46, _53) (2, _53, _54) (-1, _55) 0 ]", + "EXPR [ (1, _53, _55) (-1, _56) 0 ]", + "EXPR [ (-1, _52) (-1, _57) 1 ]", + "EXPR [ (1, _46, _49) (-1, _58) 0 ]", + "EXPR [ (1, _52, _56) (1, _57, _58) -2 ]", "unconstrained func 0", "[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) } }]", "unconstrained func 1", @@ -155,7 +151,7 @@ expression: artifact "unconstrained func 2", "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" ], - "debug_symbols": "pZdNbuMwDIXv4nUWEv8k9SqDQeGmbhHASAI3KTAoevehaspNFxJmlNWXxOEDn0TS0sfwPD1dXx8Px5fT2/Dw62N4Wg7zfHh9nE/78XI4HfXXj8/dUL4+XpZp0p+Gm+cadR6X6XgZHo7Xed4N7+N8/frT23k8fvEyLvrU7Ybp+KxUwZfDPOVPn7vvaFcPhRQsGB1t4fwz3tfjvTgxAS/oagrNDIoAAnTEI24OqOqAGg4CcHEQKHVlsDmQLgdhcxCrDkLDQSQqDqLErgyKA3I9DsgXBwT1KmoI+CRYLKQYulLYLFCXBd4sSN0CNurYRTAF8E66UtgsxC4LKVo8O65akIYFcGURANB3pVAEGLgjnqnMMqZqFfjUsIBYFACZelLAVFKQnkLkrQw4VqcJQMMCcRlIQCF1peBNQFxPvGwTURCrFrhhgUOZSMCpL4UiIF27KFJ2UUJ1FyE2LEjaLATfZUFKO0rqGcrBl5EYsKcQA5dCDFzNH1uFmFxZREhQLQRsDEVm2Bqa8Wao/YfCdz9xoopCcxlKM4SAHcvo/daO3tdfTdh4QSMIb2ec0DMXPVApJg+xeszCxmREH7ckfKomQe7ugiB/73Y2fYCnbTGp+pKiRk3h94xHFulK4p92lPj+xZR7u6utUN2O3/pl3B+WHzeWAdTwbkCdabuBhgd1wLkvdoOsCCviirTCO6M3Qi5jperkzfRkZKMYgzEa00rIerq0kPW07yDraX8A5mOYkoxslHwmU4Z8KlDG/GpVpjzn1Y4zeiMY0UhGNooxGKPR9Mj0yPTI9Mj0yPTI9Mj0yPTI9Mj02PTY9Nj02PTY9Nj02PTY9Nj0OOvpeknW060TbwQjGsnIRjGGfE1UxjxDlGllcPnypfRGMKKRcqMp2SjGYMw6ml/0+fSuBCMaycj5aKwUY1xbLKaVyRlzHvmV9z4uh/Fpnuyy/XI97m/u3pc/5/Kk3M7Py2k/PV+XKVf91zPtg78=", + "debug_symbols": "pZfdbuMgEIXfxde5gPkD+iqrVeWmbmXJciI3qbSq+u4L9UDTC9AuufqSOHM0B2bG8DE8T0/X18d5fTm9DQ+/PoanbV6W+fVxOR3Hy3xa468fn4chf328bNMUfxpunseo87hN62V4WK/Lchjex+X69ae387h+8TJu8ak5DNP6HBkFX+ZlSp8+D9/Rph4KwWkwGirh/DPe1uOtGFEBK2hqCs0MsgACdMQjFgdUdUANBw44O3AUujIoDqTLgSsOfNWBazjwRNmBF9+VQXZApscB2eyAoF5FDQEbBLOF4F1XCsUCdVngYkHqFrBRx8aDKoA10pVCseC7LASv8Wy4akEaFsDkRQBA25VCFmDgjnimPMuYqlVgQ8MCYlYAZOpJAUNOQXoKkUsZsK9OE4CGBeI8kIBc6ErBqoCYnngpE1EQqxa4YYFdnkjAoS+FLCBduyiSd1FcdRfBNyxIKBac7bIguR0l9AxlZ/NIdNhTiI5zITqu5o+tQgwmLyIEqBYCNoYiM5SGZrwZav+h8N1PHKii0FyG3AzOYccyWlva0dr6qwkbL2gE4XLGcT1z0QLlYrLgq8csbExGtL4kYUM1CTJ3FwTZe7ez6QMslcWk6kuKGjWF3zMeWaQriX/aUeL7F1Pu7a62QnU7fscv43HeftxYBoiGDwPGmXYYaHiIDjj1xWGQHW6H3xF2WKO0SkhlHBl10mZaUrJSlE7plWEnJL24tJD0Yt9B0ov9AZiOYZGkZKWkM1mkS6eCSJ9erZEhzfloxyitEpSoJCUrRemUXql6pHqkeqR6pHqkeqR6pHqkeqR6pHqseqx6rHqseqx6nPTienDSS1vjlF4ZdopRWiUoMV0DIynNiEhWSrpcRTqlV4adzqRGirRKUKIy6cT8nEun80ivDDu9Udp09I0EJe0t5FkpypRHeqW9j9s8Pi2TXqZfruvx5m59+XPOT/Lt+7ydjtPzdZtSVX89i3X+Fw==", "file_map": { "5": { "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n if result {\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n }\n result\n }\n}\n\nimpl Eq for str {\n fn eq(self, other: str) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use super::{Eq, max, min};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0_u64, 1), 0);\n assert_eq(min(0_u64, 0), 0);\n assert_eq(min(1_u64, 1), 1);\n assert_eq(min(255_u8, 0), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0_u64, 1), 1);\n assert_eq(max(0_u64, 0), 0);\n assert_eq(max(1_u64, 1), 1);\n assert_eq(max(255_u8, 0), 255);\n }\n\n #[test]\n fn correctly_handles_unequal_length_slices() {\n let slice_1 = &[0, 1, 2, 3];\n let slice_2 = &[0, 1, 2];\n assert(!slice_1.eq(slice_2));\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 8736411ce0f..4758282414b 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -54,23 +54,23 @@ expression: artifact "error_kind": "string", "string": "Field failed to decompose into specified 4 limbs" }, - "13958753312450585022": { + "10437400104653976995": { "error_kind": "string", - "string": "Field failed to decompose into specified 7 limbs" + "string": "Field failed to decompose into specified 6 limbs" }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" }, - "16061458491050355795": { + "15625123961815045929": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "Field failed to decompose into specified 3 limbs" } } }, "bytecode": [ "func 0", - "current witness index : _432", + "current witness index : _394", "private parameters indices : [_0, _1, _2, _3]", "public parameters indices : []", "return value indices : []", @@ -82,542 +82,518 @@ expression: artifact "BLACKBOX::RANGE [(_5, 64)] []", "EXPR [ (1, _1) (-18446744073709551616, _4) (-1, _5) 18446744073709551552 ]", "EXPR [ (-1, _4) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_6, _7, _8, _9, _10, _11, _12]]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_6, _7, _8, _9, _10, _11]]", "BLACKBOX::RANGE [(_6, 1)] []", "BLACKBOX::RANGE [(_7, 1)] []", "BLACKBOX::RANGE [(_8, 1)] []", "BLACKBOX::RANGE [(_9, 1)] []", "BLACKBOX::RANGE [(_10, 1)] []", "BLACKBOX::RANGE [(_11, 1)] []", - "BLACKBOX::RANGE [(_12, 1)] []", - "EXPR [ (1, _1) (-1, _6) (-2, _7) (-4, _8) (-8, _9) (-16, _10) (-32, _11) (-64, _12) 0 ]", - "EXPR [ (1, _12, _12) (2, _12) (-1, _13) 1 ]", - "EXPR [ (-1, _11) (-1, _14) 1 ]", - "EXPR [ (2, _11, _13) (1, _13, _14) (-1, _15) 0 ]", - "EXPR [ (1, _15, _15) (-1, _16) 0 ]", - "EXPR [ (-1, _10) (-1, _17) 1 ]", - "EXPR [ (2, _10, _16) (1, _16, _17) (-1, _18) 0 ]", - "EXPR [ (1, _18, _18) (-1, _19) 0 ]", - "EXPR [ (-1, _9) (-1, _20) 1 ]", - "EXPR [ (2, _9, _19) (1, _19, _20) (-1, _21) 0 ]", - "EXPR [ (1, _21, _21) (-1, _22) 0 ]", - "EXPR [ (-1, _8) (-1, _23) 1 ]", - "EXPR [ (2, _8, _22) (1, _22, _23) (-1, _24) 0 ]", - "EXPR [ (1, _24, _24) (-1, _25) 0 ]", - "EXPR [ (-1, _7) (-1, _26) 1 ]", - "EXPR [ (2, _7, _25) (1, _25, _26) (-1, _27) 0 ]", - "EXPR [ (1, _27, _27) (-1, _28) 0 ]", - "EXPR [ (-1, _6) (-1, _29) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (128, _28, _6) (64, _28, _29) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_30, _31]", - "BLACKBOX::RANGE [(_30, 7)] []", - "EXPR [ (128, _6, _28) (-1, _362) 0 ]", - "EXPR [ (64, _28, _29) (-1, _363) 0 ]", - "EXPR [ (-18446744073709551616, _30) (-1, _31) (1, _362) (1, _363) 0 ]", - "EXPR [ (1, _31) -128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _28, _6) (1, _28, _29) 0 ]], outputs: [_32]", - "EXPR [ (-1, _33) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _362) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _363) 0 ]", - "EXPR [ (1, _32, _33) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ 64 ], EXPR [ (1, _33) 0 ]], outputs: [_34, _35]", - "BLACKBOX::RANGE [(_35, 64)] []", - "EXPR [ (1, _33) (-1, _35) (-1, _36) -1 ]", - "BLACKBOX::RANGE [(_36, 64)] []", - "EXPR [ (-1, _33, _34) (-1, _35) 64 ]", - "EXPR [ (1, _34) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _33) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_37, _38]", + "EXPR [ (1, _1) (-1, _6) (-2, _7) (-4, _8) (-8, _9) (-16, _10) (-32, _11) 0 ]", + "EXPR [ (1, _11, _11) (2, _11) (-1, _12) 1 ]", + "EXPR [ (-1, _10) (-1, _13) 1 ]", + "EXPR [ (2, _10, _12) (1, _12, _13) (-1, _14) 0 ]", + "EXPR [ (1, _14, _14) (-1, _15) 0 ]", + "EXPR [ (-1, _9) (-1, _16) 1 ]", + "EXPR [ (2, _9, _15) (1, _15, _16) (-1, _17) 0 ]", + "EXPR [ (1, _17, _17) (-1, _18) 0 ]", + "EXPR [ (-1, _8) (-1, _19) 1 ]", + "EXPR [ (2, _8, _18) (1, _18, _19) (-1, _20) 0 ]", + "EXPR [ (1, _20, _20) (-1, _21) 0 ]", + "EXPR [ (-1, _7) (-1, _22) 1 ]", + "EXPR [ (2, _7, _21) (1, _21, _22) (-1, _23) 0 ]", + "EXPR [ (1, _23, _23) (-1, _24) 0 ]", + "EXPR [ (-1, _6) (-1, _25) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (128, _24, _6) (64, _24, _25) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_26, _27]", + "BLACKBOX::RANGE [(_26, 7)] []", + "EXPR [ (128, _6, _24) (-1, _336) 0 ]", + "EXPR [ (64, _24, _25) (-1, _337) 0 ]", + "EXPR [ (-18446744073709551616, _26) (-1, _27) (1, _336) (1, _337) 0 ]", + "EXPR [ (1, _27) -128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _24, _6) (1, _24, _25) 0 ]], outputs: [_28]", + "EXPR [ (-1, _29) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _336) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _337) 0 ]", + "EXPR [ (1, _28, _29) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ 64 ], EXPR [ (1, _29) 0 ]], outputs: [_30, _31]", + "BLACKBOX::RANGE [(_31, 64)] []", + "EXPR [ (1, _29) (-1, _31) (-1, _32) -1 ]", + "BLACKBOX::RANGE [(_32, 64)] []", + "EXPR [ (-1, _29, _30) (-1, _31) 64 ]", + "EXPR [ (1, _30) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _29) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_33, _34]", + "BLACKBOX::RANGE [(_33, 64)] []", + "EXPR [ (1, _0, _29) (-18446744073709551616, _33) (-1, _34) 0 ]", + "EXPR [ (1, _34) -128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _29) 0 ]], outputs: [_35]", + "EXPR [ (1, _29, _35) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _29) 0 ]], outputs: [_36, _37]", "BLACKBOX::RANGE [(_37, 64)] []", - "EXPR [ (1, _0, _33) (-18446744073709551616, _37) (-1, _38) 0 ]", - "EXPR [ (1, _38) -128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _33) 0 ]], outputs: [_39]", - "EXPR [ (1, _33, _39) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _33) 0 ]], outputs: [_40, _41]", - "BLACKBOX::RANGE [(_41, 64)] []", - "EXPR [ (1, _33) (-1, _41) (-1, _42) -1 ]", + "EXPR [ (1, _29) (-1, _37) (-1, _38) -1 ]", + "BLACKBOX::RANGE [(_38, 64)] []", + "EXPR [ (-1, _29, _36) (1, _0) (-1, _37) 0 ]", + "EXPR [ (1, _36) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 36893488147419103230 ], EXPR [ 18446744073709551616 ]], outputs: [_39, _40]", + "BLACKBOX::RANGE [(_39, 2)] []", + "BLACKBOX::RANGE [(_40, 64)] []", + "EXPR [ (1, _0) (-18446744073709551616, _39) (-1, _40) 36893488147419103230 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_41, _42]", + "BLACKBOX::RANGE [(_41, 1)] []", "BLACKBOX::RANGE [(_42, 64)] []", - "EXPR [ (-1, _33, _40) (1, _0) (-1, _41) 0 ]", - "EXPR [ (1, _40) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 36893488147419103230 ], EXPR [ 18446744073709551616 ]], outputs: [_43, _44]", - "BLACKBOX::RANGE [(_43, 2)] []", + "EXPR [ (1, _0) (-18446744073709551616, _41) (-1, _42) 9223372036854775808 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_43, _44]", + "BLACKBOX::RANGE [(_43, 1)] []", "BLACKBOX::RANGE [(_44, 64)] []", - "EXPR [ (1, _0) (-18446744073709551616, _43) (-1, _44) 36893488147419103230 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_45, _46]", - "BLACKBOX::RANGE [(_45, 1)] []", - "BLACKBOX::RANGE [(_46, 64)] []", - "EXPR [ (1, _0) (-18446744073709551616, _45) (-1, _46) 9223372036854775808 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _44) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_47, _48]", - "BLACKBOX::RANGE [(_47, 1)] []", - "BLACKBOX::RANGE [(_48, 64)] []", - "EXPR [ (1, _44) (-18446744073709551616, _47) (-1, _48) 9223372036854775808 ]", - "EXPR [ (1, _45) (-1, _47) (-1, _49) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _49) 0 ]], outputs: [_50]", - "EXPR [ (1, _49, _50) (1, _51) -1 ]", - "EXPR [ (1, _49, _51) 0 ]", - "EXPR [ (1, _45, _51) (-1, _45) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _44) 18446744073709551553 ], EXPR [ 18446744073709551616 ]], outputs: [_52, _53]", - "BLACKBOX::RANGE [(_53, 64)] []", - "EXPR [ (1, _44) (-18446744073709551616, _52) (-1, _53) 18446744073709551553 ]", - "EXPR [ (-1, _52) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _44) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_54, _55, _56, _57, _58, _59, _60]]", + "EXPR [ (1, _40) (-18446744073709551616, _43) (-1, _44) 9223372036854775808 ]", + "EXPR [ (1, _41) (-1, _43) (-1, _45) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _45) 0 ]], outputs: [_46]", + "EXPR [ (1, _45, _46) (1, _47) -1 ]", + "EXPR [ (1, _45, _47) 0 ]", + "EXPR [ (1, _41, _47) (-1, _41) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 18446744073709551553 ], EXPR [ 18446744073709551616 ]], outputs: [_48, _49]", + "BLACKBOX::RANGE [(_49, 64)] []", + "EXPR [ (1, _40) (-18446744073709551616, _48) (-1, _49) 18446744073709551553 ]", + "EXPR [ (-1, _48) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _40) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_50, _51, _52, _53, _54, _55]]", + "BLACKBOX::RANGE [(_50, 1)] []", + "BLACKBOX::RANGE [(_51, 1)] []", + "BLACKBOX::RANGE [(_52, 1)] []", + "BLACKBOX::RANGE [(_53, 1)] []", "BLACKBOX::RANGE [(_54, 1)] []", "BLACKBOX::RANGE [(_55, 1)] []", - "BLACKBOX::RANGE [(_56, 1)] []", - "BLACKBOX::RANGE [(_57, 1)] []", - "BLACKBOX::RANGE [(_58, 1)] []", - "BLACKBOX::RANGE [(_59, 1)] []", - "BLACKBOX::RANGE [(_60, 1)] []", - "EXPR [ (1, _44) (-1, _54) (-2, _55) (-4, _56) (-8, _57) (-16, _58) (-32, _59) (-64, _60) 0 ]", - "EXPR [ (1, _60, _60) (2, _60) (-1, _61) 1 ]", - "EXPR [ (-1, _59) (-1, _62) 1 ]", - "EXPR [ (2, _59, _61) (1, _61, _62) (-1, _63) 0 ]", - "EXPR [ (1, _63, _63) (-1, _64) 0 ]", - "EXPR [ (-1, _58) (-1, _65) 1 ]", - "EXPR [ (2, _58, _64) (1, _64, _65) (-1, _66) 0 ]", - "EXPR [ (1, _66, _66) (-1, _67) 0 ]", - "EXPR [ (-1, _57) (-1, _68) 1 ]", - "EXPR [ (2, _57, _67) (1, _67, _68) (-1, _69) 0 ]", - "EXPR [ (1, _69, _69) (-1, _70) 0 ]", - "EXPR [ (-1, _56) (-1, _71) 1 ]", - "EXPR [ (2, _56, _70) (1, _70, _71) (-1, _72) 0 ]", - "EXPR [ (1, _72, _72) (-1, _73) 0 ]", - "EXPR [ (-1, _55) (-1, _74) 1 ]", - "EXPR [ (2, _55, _73) (1, _73, _74) (-1, _75) 0 ]", - "EXPR [ (1, _75, _75) (-1, _76) 0 ]", - "EXPR [ (-1, _54) (-1, _77) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_78, _79]", + "EXPR [ (1, _40) (-1, _50) (-2, _51) (-4, _52) (-8, _53) (-16, _54) (-32, _55) 0 ]", + "EXPR [ (1, _55, _55) (2, _55) (-1, _56) 1 ]", + "EXPR [ (-1, _54) (-1, _57) 1 ]", + "EXPR [ (2, _54, _56) (1, _56, _57) (-1, _58) 0 ]", + "EXPR [ (1, _58, _58) (-1, _59) 0 ]", + "EXPR [ (-1, _53) (-1, _60) 1 ]", + "EXPR [ (2, _53, _59) (1, _59, _60) (-1, _61) 0 ]", + "EXPR [ (1, _61, _61) (-1, _62) 0 ]", + "EXPR [ (-1, _52) (-1, _63) 1 ]", + "EXPR [ (2, _52, _62) (1, _62, _63) (-1, _64) 0 ]", + "EXPR [ (1, _64, _64) (-1, _65) 0 ]", + "EXPR [ (-1, _51) (-1, _66) 1 ]", + "EXPR [ (2, _51, _65) (1, _65, _66) (-1, _67) 0 ]", + "EXPR [ (1, _67, _67) (-1, _68) 0 ]", + "EXPR [ (-1, _50) (-1, _69) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_70, _71]", + "BLACKBOX::RANGE [(_70, 1)] []", + "BLACKBOX::RANGE [(_71, 63)] []", + "EXPR [ (1, _3) (-9223372036854775808, _70) (-1, _71) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 36893488147419103232 ], EXPR [ 36893488147419103232 ]], outputs: [_72, _73]", + "BLACKBOX::RANGE [(_72, 1)] []", + "BLACKBOX::RANGE [(_73, 65)] []", + "EXPR [ (1, _3) (-36893488147419103232, _72) (-1, _73) 36893488147419103232 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _72, _70) (1, _3) (-1, _70) (-1, _72) 1 ], EXPR [ 18446744073709551616 ]], outputs: [_74, _75]", + "BLACKBOX::RANGE [(_74, 1)] []", + "BLACKBOX::RANGE [(_75, 64)] []", + "EXPR [ (2, _70, _72) (1, _3) (-1, _70) (-1, _72) (-18446744073709551616, _74) (-1, _75) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _68, _50) (1, _68, _69) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_76, _77]", + "BLACKBOX::RANGE [(_76, 1)] []", + "BLACKBOX::RANGE [(_77, 63)] []", + "EXPR [ (2, _50, _68) (-1, _350) 0 ]", + "EXPR [ (1, _68, _69) (-1, _351) 0 ]", + "EXPR [ (-9223372036854775808, _76) (-1, _77) (1, _350) (1, _351) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _75) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_78, _79]", "BLACKBOX::RANGE [(_78, 1)] []", "BLACKBOX::RANGE [(_79, 63)] []", - "EXPR [ (1, _3) (-9223372036854775808, _78) (-1, _79) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 36893488147419103232 ], EXPR [ 36893488147419103232 ]], outputs: [_80, _81]", - "BLACKBOX::RANGE [(_80, 1)] []", - "BLACKBOX::RANGE [(_81, 65)] []", - "EXPR [ (1, _3) (-36893488147419103232, _80) (-1, _81) 36893488147419103232 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _80, _78) (1, _3) (-1, _78) (-1, _80) 1 ], EXPR [ 18446744073709551616 ]], outputs: [_82, _83]", - "BLACKBOX::RANGE [(_82, 1)] []", + "EXPR [ (1, _75) (-9223372036854775808, _78) (-1, _79) 0 ]", + "EXPR [ (-1, _80) (-1, _350) (-1, _351) 9223372036854775808 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _68, _50) (1, _68, _69) (2, _80, _76) 0 ]], outputs: [_81]", + "EXPR [ (2, _76, _80) (-1, _82) (1, _350) (1, _351) 0 ]", + "EXPR [ (1, _81, _82) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _75, _78) (1, _75) (18446744073709551616, _78) 0 ], EXPR [ (1, _82) 0 ]], outputs: [_83, _84]", "BLACKBOX::RANGE [(_83, 64)] []", - "EXPR [ (2, _78, _80) (1, _3) (-1, _78) (-1, _80) (-18446744073709551616, _82) (-1, _83) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _76, _54) (1, _76, _77) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_84, _85]", - "BLACKBOX::RANGE [(_84, 1)] []", - "BLACKBOX::RANGE [(_85, 63)] []", - "EXPR [ (2, _54, _76) (-1, _378) 0 ]", - "EXPR [ (1, _76, _77) (-1, _379) 0 ]", - "EXPR [ (-9223372036854775808, _84) (-1, _85) (1, _378) (1, _379) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _83) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_86, _87]", - "BLACKBOX::RANGE [(_86, 1)] []", - "BLACKBOX::RANGE [(_87, 63)] []", - "EXPR [ (1, _83) (-9223372036854775808, _86) (-1, _87) 0 ]", - "EXPR [ (-1, _88) (-1, _378) (-1, _379) 9223372036854775808 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _76, _54) (1, _76, _77) (2, _88, _84) 0 ]], outputs: [_89]", - "EXPR [ (2, _84, _88) (-1, _90) (1, _378) (1, _379) 0 ]", - "EXPR [ (1, _89, _90) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _83, _86) (1, _83) (18446744073709551616, _86) 0 ], EXPR [ (1, _90) 0 ]], outputs: [_91, _92]", - "BLACKBOX::RANGE [(_91, 64)] []", - "BLACKBOX::RANGE [(_92, 64)] []", - "EXPR [ (1, _90) (-1, _92) (-1, _93) -1 ]", - "BLACKBOX::RANGE [(_93, 64)] []", - "EXPR [ (-2, _83, _86) (-1, _90, _91) (1, _83) (18446744073709551616, _86) (-1, _92) 0 ]", - "EXPR [ (-1, _91) (-1, _94) 9223372036854775808 ]", - "EXPR [ (-2, _84, _86) (1, _84) (1, _86) (-1, _95) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _91) 0 ]], outputs: [_96]", - "EXPR [ (1, _91, _96) (1, _97) -1 ]", - "EXPR [ (1, _91, _97) 0 ]", - "EXPR [ (2, _94, _95) (1, _91) (-1, _98) 0 ]", - "EXPR [ (-1, _97) (-1, _99) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _92) 0 ]], outputs: [_100]", - "EXPR [ (1, _92, _100) (1, _101) -1 ]", - "EXPR [ (1, _92, _101) 0 ]", - "EXPR [ (-2, _86, _92) (18446744073709551616, _86) (1, _92) (-1, _102) 0 ]", - "EXPR [ (-1, _101) (-1, _103) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _80, _78) (1, _98, _99) (1, _78) (1, _80) 36893488147419103231 ], EXPR [ 18446744073709551616 ]], outputs: [_104, _105]", - "BLACKBOX::RANGE [(_104, 2)] []", - "EXPR [ (-2, _78, _80) (1, _98, _99) (1, _78) (1, _80) (-18446744073709551616, _104) (-1, _105) 36893488147419103231 ]", - "EXPR [ (1, _105) -18446744073709551615 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 256 ]], outputs: [_106, _107]", - "BLACKBOX::RANGE [(_106, 56)] []", - "BLACKBOX::RANGE [(_107, 8)] []", - "EXPR [ (1, _1) (-256, _106) (-1, _107) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 256 ]], outputs: [_108, _109]", - "BLACKBOX::RANGE [(_108, 56)] []", - "BLACKBOX::RANGE [(_109, 8)] []", - "EXPR [ (1, _0) (-256, _108) (-1, _109) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _109) 0 ], EXPR [ 256 ]], outputs: [_110, _111]", + "BLACKBOX::RANGE [(_84, 64)] []", + "EXPR [ (1, _82) (-1, _84) (-1, _85) -1 ]", + "BLACKBOX::RANGE [(_85, 64)] []", + "EXPR [ (-2, _75, _78) (-1, _82, _83) (1, _75) (18446744073709551616, _78) (-1, _84) 0 ]", + "EXPR [ (-1, _83) (-1, _86) 9223372036854775808 ]", + "EXPR [ (-2, _76, _78) (1, _76) (1, _78) (-1, _87) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _83) 0 ]], outputs: [_88]", + "EXPR [ (1, _83, _88) (1, _89) -1 ]", + "EXPR [ (1, _83, _89) 0 ]", + "EXPR [ (2, _86, _87) (1, _83) (-1, _90) 0 ]", + "EXPR [ (-1, _89) (-1, _91) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _84) 0 ]], outputs: [_92]", + "EXPR [ (1, _84, _92) (1, _93) -1 ]", + "EXPR [ (1, _84, _93) 0 ]", + "EXPR [ (-2, _78, _84) (18446744073709551616, _78) (1, _84) (-1, _94) 0 ]", + "EXPR [ (-1, _93) (-1, _95) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _72, _70) (1, _90, _91) (1, _70) (1, _72) 36893488147419103231 ], EXPR [ 18446744073709551616 ]], outputs: [_96, _97]", + "BLACKBOX::RANGE [(_96, 2)] []", + "EXPR [ (-2, _70, _72) (1, _90, _91) (1, _70) (1, _72) (-18446744073709551616, _96) (-1, _97) 36893488147419103231 ]", + "EXPR [ (1, _97) -18446744073709551615 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 256 ]], outputs: [_98, _99]", + "BLACKBOX::RANGE [(_98, 56)] []", + "BLACKBOX::RANGE [(_99, 8)] []", + "EXPR [ (1, _1) (-256, _98) (-1, _99) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 256 ]], outputs: [_100, _101]", + "BLACKBOX::RANGE [(_100, 56)] []", + "BLACKBOX::RANGE [(_101, 8)] []", + "EXPR [ (1, _0) (-256, _100) (-1, _101) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _101) 0 ], EXPR [ 256 ]], outputs: [_102, _103]", + "BLACKBOX::RANGE [(_102, 1)] []", + "BLACKBOX::RANGE [(_103, 8)] []", + "EXPR [ (2, _101) (-256, _102) (-1, _103) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _103) 0 ], EXPR [ 256 ]], outputs: [_104, _105]", + "BLACKBOX::RANGE [(_104, 1)] []", + "EXPR [ (1, _103) (-256, _104) (-1, _105) 0 ]", + "EXPR [ (1, _105) -128 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _101) 0 ], EXPR [ 128 ]], outputs: [_106, _107]", + "BLACKBOX::RANGE [(_106, 1)] []", + "BLACKBOX::RANGE [(_107, 7)] []", + "EXPR [ (1, _101) (-128, _106) (-1, _107) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _101) 512 ], EXPR [ 512 ]], outputs: [_108, _109]", + "BLACKBOX::RANGE [(_108, 1)] []", + "BLACKBOX::RANGE [(_109, 9)] []", + "EXPR [ (1, _101) (-512, _108) (-1, _109) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _108, _106) (1, _101) (-1, _106) (-1, _108) 1 ], EXPR [ 256 ]], outputs: [_110, _111]", "BLACKBOX::RANGE [(_110, 1)] []", "BLACKBOX::RANGE [(_111, 8)] []", - "EXPR [ (2, _109) (-256, _110) (-1, _111) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 256 ]], outputs: [_112, _113]", + "EXPR [ (2, _106, _108) (1, _101) (-1, _106) (-1, _108) (-256, _110) (-1, _111) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 128 ]], outputs: [_112, _113]", "BLACKBOX::RANGE [(_112, 1)] []", - "EXPR [ (1, _111) (-256, _112) (-1, _113) 0 ]", - "EXPR [ (1, _113) -128 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _109) 0 ], EXPR [ 128 ]], outputs: [_114, _115]", - "BLACKBOX::RANGE [(_114, 1)] []", - "BLACKBOX::RANGE [(_115, 7)] []", - "EXPR [ (1, _109) (-128, _114) (-1, _115) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _109) 512 ], EXPR [ 512 ]], outputs: [_116, _117]", - "BLACKBOX::RANGE [(_116, 1)] []", - "BLACKBOX::RANGE [(_117, 9)] []", - "EXPR [ (1, _109) (-512, _116) (-1, _117) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _116, _114) (1, _109) (-1, _114) (-1, _116) 1 ], EXPR [ 256 ]], outputs: [_118, _119]", - "BLACKBOX::RANGE [(_118, 1)] []", - "BLACKBOX::RANGE [(_119, 8)] []", - "EXPR [ (2, _114, _116) (1, _109) (-1, _114) (-1, _116) (-256, _118) (-1, _119) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _119) 0 ], EXPR [ 128 ]], outputs: [_120, _121]", - "BLACKBOX::RANGE [(_120, 1)] []", - "BLACKBOX::RANGE [(_121, 7)] []", - "EXPR [ (1, _119) (-128, _120) (-1, _121) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _119, _120) (1, _119) (256, _120) 0 ], EXPR [ 4 ]], outputs: [_122, _123]", - "BLACKBOX::RANGE [(_122, 6)] []", - "BLACKBOX::RANGE [(_123, 2)] []", - "EXPR [ (-2, _119, _120) (1, _119) (256, _120) (-4, _122) (-1, _123) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _122) 0 ]], outputs: [_124]", - "EXPR [ (1, _122, _124) (1, _125) -1 ]", - "EXPR [ (1, _122, _125) 0 ]", - "EXPR [ (-2, _120, _122) (256, _120) (1, _122) (-1, _126) 0 ]", - "EXPR [ (-1, _125) (-1, _127) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _123) 0 ]], outputs: [_128]", - "EXPR [ (1, _123, _128) (1, _129) -1 ]", - "EXPR [ (1, _123, _129) 0 ]", - "EXPR [ (-2, _120, _123) (256, _120) (1, _123) (-1, _130) 0 ]", - "EXPR [ (-1, _129) (-1, _131) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _116, _114) (1, _126, _127) (1, _114) (1, _116) 511 ], EXPR [ 256 ]], outputs: [_132, _133]", - "BLACKBOX::RANGE [(_132, 2)] []", - "EXPR [ (-2, _114, _116) (1, _126, _127) (1, _114) (1, _116) (-256, _132) (-1, _133) 511 ]", - "EXPR [ (1, _133) -16 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _107) 249 ], EXPR [ 256 ]], outputs: [_134, _135]", - "BLACKBOX::RANGE [(_135, 8)] []", - "EXPR [ (1, _107) (-256, _134) (-1, _135) 249 ]", - "EXPR [ (-1, _134) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _107) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_136, _137, _138, _139]]", + "BLACKBOX::RANGE [(_113, 7)] []", + "EXPR [ (1, _111) (-128, _112) (-1, _113) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _111, _112) (1, _111) (256, _112) 0 ], EXPR [ 4 ]], outputs: [_114, _115]", + "BLACKBOX::RANGE [(_114, 6)] []", + "BLACKBOX::RANGE [(_115, 2)] []", + "EXPR [ (-2, _111, _112) (1, _111) (256, _112) (-4, _114) (-1, _115) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _114) 0 ]], outputs: [_116]", + "EXPR [ (1, _114, _116) (1, _117) -1 ]", + "EXPR [ (1, _114, _117) 0 ]", + "EXPR [ (-2, _112, _114) (256, _112) (1, _114) (-1, _118) 0 ]", + "EXPR [ (-1, _117) (-1, _119) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _115) 0 ]], outputs: [_120]", + "EXPR [ (1, _115, _120) (1, _121) -1 ]", + "EXPR [ (1, _115, _121) 0 ]", + "EXPR [ (-2, _112, _115) (256, _112) (1, _115) (-1, _122) 0 ]", + "EXPR [ (-1, _121) (-1, _123) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _108, _106) (1, _118, _119) (1, _106) (1, _108) 511 ], EXPR [ 256 ]], outputs: [_124, _125]", + "BLACKBOX::RANGE [(_124, 2)] []", + "EXPR [ (-2, _106, _108) (1, _118, _119) (1, _106) (1, _108) (-256, _124) (-1, _125) 511 ]", + "EXPR [ (1, _125) -16 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _99) 249 ], EXPR [ 256 ]], outputs: [_126, _127]", + "BLACKBOX::RANGE [(_127, 8)] []", + "EXPR [ (1, _99) (-256, _126) (-1, _127) 249 ]", + "EXPR [ (-1, _126) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _99) 0 ], EXPR [ 3 ], EXPR [ 2 ]], outputs: [[_128, _129, _130]]", + "BLACKBOX::RANGE [(_128, 1)] []", + "BLACKBOX::RANGE [(_129, 1)] []", + "BLACKBOX::RANGE [(_130, 1)] []", + "EXPR [ (1, _99) (-1, _128) (-2, _129) (-4, _130) 0 ]", + "EXPR [ (1, _130, _130) (2, _130) (-1, _131) 1 ]", + "EXPR [ (-1, _129) (-1, _132) 1 ]", + "EXPR [ (2, _129, _131) (1, _131, _132) (-1, _133) 0 ]", + "EXPR [ (1, _133, _133) (-1, _134) 0 ]", + "EXPR [ (-1, _128) (-1, _135) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _134, _128) (1, _134, _135) 0 ], EXPR [ 128 ]], outputs: [_136, _137]", "BLACKBOX::RANGE [(_136, 1)] []", - "BLACKBOX::RANGE [(_137, 1)] []", + "BLACKBOX::RANGE [(_137, 7)] []", + "EXPR [ (2, _128, _134) (-1, _360) 0 ]", + "EXPR [ (1, _134, _135) (-1, _361) 0 ]", + "EXPR [ (-128, _136) (-1, _137) (1, _360) (1, _361) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 128 ]], outputs: [_138, _139]", "BLACKBOX::RANGE [(_138, 1)] []", - "BLACKBOX::RANGE [(_139, 1)] []", - "EXPR [ (1, _107) (-1, _136) (-2, _137) (-4, _138) (-8, _139) 0 ]", - "EXPR [ (1, _139, _139) (2, _139) (-1, _140) 1 ]", - "EXPR [ (-1, _138) (-1, _141) 1 ]", - "EXPR [ (2, _138, _140) (1, _140, _141) (-1, _142) 0 ]", - "EXPR [ (1, _142, _142) (-1, _143) 0 ]", - "EXPR [ (-1, _137) (-1, _144) 1 ]", - "EXPR [ (2, _137, _143) (1, _143, _144) (-1, _145) 0 ]", - "EXPR [ (1, _145, _145) (-1, _146) 0 ]", - "EXPR [ (-1, _136) (-1, _147) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _146, _136) (1, _146, _147) 0 ], EXPR [ 128 ]], outputs: [_148, _149]", - "BLACKBOX::RANGE [(_148, 1)] []", - "BLACKBOX::RANGE [(_149, 7)] []", - "EXPR [ (2, _136, _146) (-1, _391) 0 ]", - "EXPR [ (1, _146, _147) (-1, _392) 0 ]", - "EXPR [ (-128, _148) (-1, _149) (1, _391) (1, _392) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _119) 0 ], EXPR [ 128 ]], outputs: [_150, _151]", - "BLACKBOX::RANGE [(_150, 1)] []", - "BLACKBOX::RANGE [(_151, 7)] []", - "EXPR [ (1, _119) (-128, _150) (-1, _151) 0 ]", - "EXPR [ (-1, _152) (-1, _391) (-1, _392) 128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _146, _136) (1, _146, _147) (2, _152, _148) 0 ]], outputs: [_153]", - "EXPR [ (2, _148, _152) (-1, _154) (1, _391) (1, _392) 0 ]", - "EXPR [ (1, _153, _154) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _119, _150) (1, _119) (256, _150) 0 ], EXPR [ (1, _154) 0 ]], outputs: [_155, _156]", - "BLACKBOX::RANGE [(_155, 8)] []", - "BLACKBOX::RANGE [(_156, 8)] []", - "EXPR [ (1, _154) (-1, _156) (-1, _157) -1 ]", - "BLACKBOX::RANGE [(_157, 8)] []", - "EXPR [ (-2, _119, _150) (-1, _154, _155) (1, _119) (256, _150) (-1, _156) 0 ]", - "EXPR [ (-1, _155) (-1, _158) 128 ]", - "EXPR [ (-2, _148, _150) (1, _148) (1, _150) (-1, _159) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _155) 0 ]], outputs: [_160]", - "EXPR [ (1, _155, _160) (1, _161) -1 ]", - "EXPR [ (1, _155, _161) 0 ]", - "EXPR [ (2, _158, _159) (1, _155) (-1, _162) 0 ]", - "EXPR [ (-1, _161) (-1, _163) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _156) 0 ]], outputs: [_164]", - "EXPR [ (1, _156, _164) (1, _165) -1 ]", - "EXPR [ (1, _156, _165) 0 ]", - "EXPR [ (-2, _150, _156) (256, _150) (1, _156) (-1, _166) 0 ]", - "EXPR [ (-1, _165) (-1, _167) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _116, _114) (1, _162, _163) (1, _114) (1, _116) 511 ], EXPR [ 256 ]], outputs: [_168, _169]", + "BLACKBOX::RANGE [(_139, 7)] []", + "EXPR [ (1, _111) (-128, _138) (-1, _139) 0 ]", + "EXPR [ (-1, _140) (-1, _360) (-1, _361) 128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _134, _128) (1, _134, _135) (2, _140, _136) 0 ]], outputs: [_141]", + "EXPR [ (2, _136, _140) (-1, _142) (1, _360) (1, _361) 0 ]", + "EXPR [ (1, _141, _142) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _111, _138) (1, _111) (256, _138) 0 ], EXPR [ (1, _142) 0 ]], outputs: [_143, _144]", + "BLACKBOX::RANGE [(_143, 8)] []", + "BLACKBOX::RANGE [(_144, 8)] []", + "EXPR [ (1, _142) (-1, _144) (-1, _145) -1 ]", + "BLACKBOX::RANGE [(_145, 8)] []", + "EXPR [ (-2, _111, _138) (-1, _142, _143) (1, _111) (256, _138) (-1, _144) 0 ]", + "EXPR [ (-1, _143) (-1, _146) 128 ]", + "EXPR [ (-2, _136, _138) (1, _136) (1, _138) (-1, _147) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _143) 0 ]], outputs: [_148]", + "EXPR [ (1, _143, _148) (1, _149) -1 ]", + "EXPR [ (1, _143, _149) 0 ]", + "EXPR [ (2, _146, _147) (1, _143) (-1, _150) 0 ]", + "EXPR [ (-1, _149) (-1, _151) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _144) 0 ]], outputs: [_152]", + "EXPR [ (1, _144, _152) (1, _153) -1 ]", + "EXPR [ (1, _144, _153) 0 ]", + "EXPR [ (-2, _138, _144) (256, _138) (1, _144) (-1, _154) 0 ]", + "EXPR [ (-1, _153) (-1, _155) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _108, _106) (1, _150, _151) (1, _106) (1, _108) 511 ], EXPR [ 256 ]], outputs: [_156, _157]", + "BLACKBOX::RANGE [(_156, 2)] []", + "EXPR [ (-2, _106, _108) (1, _150, _151) (1, _106) (1, _108) (-256, _156) (-1, _157) 511 ]", + "EXPR [ (1, _157) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _99) 512 ], EXPR [ 256 ]], outputs: [_158, _159]", + "BLACKBOX::RANGE [(_158, 2)] []", + "BLACKBOX::RANGE [(_159, 8)] []", + "EXPR [ (-1, _99) (-256, _158) (-1, _159) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _99) 128 ], EXPR [ 256 ]], outputs: [_160, _161]", + "BLACKBOX::RANGE [(_160, 1)] []", + "BLACKBOX::RANGE [(_161, 8)] []", + "EXPR [ (1, _99) (-256, _160) (-1, _161) 128 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _159) 128 ], EXPR [ 256 ]], outputs: [_162, _163]", + "BLACKBOX::RANGE [(_162, 1)] []", + "BLACKBOX::RANGE [(_163, 8)] []", + "EXPR [ (1, _159) (-256, _162) (-1, _163) 128 ]", + "EXPR [ (-1, _160, _162) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (64, _159) 0 ], EXPR [ 256 ]], outputs: [_164, _165]", + "BLACKBOX::RANGE [(_164, 6)] []", + "BLACKBOX::RANGE [(_165, 8)] []", + "EXPR [ (64, _159) (-256, _164) (-1, _165) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _165) 0 ], EXPR [ 256 ]], outputs: [_166, _167]", + "BLACKBOX::RANGE [(_166, 1)] []", + "EXPR [ (1, _165) (-256, _166) (-1, _167) 0 ]", + "EXPR [ (1, _167) -192 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _159) 512 ], EXPR [ 256 ]], outputs: [_168, _169]", "BLACKBOX::RANGE [(_168, 2)] []", - "EXPR [ (-2, _114, _116) (1, _162, _163) (1, _114) (1, _116) (-256, _168) (-1, _169) 511 ]", - "EXPR [ (1, _169) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _107) 512 ], EXPR [ 256 ]], outputs: [_170, _171]", - "BLACKBOX::RANGE [(_170, 2)] []", + "BLACKBOX::RANGE [(_169, 8)] []", + "EXPR [ (-1, _159) (-256, _168) (-1, _169) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _169) 128 ], EXPR [ 256 ]], outputs: [_170, _171]", + "BLACKBOX::RANGE [(_170, 1)] []", "BLACKBOX::RANGE [(_171, 8)] []", - "EXPR [ (-1, _107) (-256, _170) (-1, _171) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _107) 128 ], EXPR [ 256 ]], outputs: [_172, _173]", - "BLACKBOX::RANGE [(_172, 1)] []", + "EXPR [ (1, _169) (-256, _170) (-1, _171) 128 ]", + "EXPR [ (-1, _162, _170) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _169) 249 ], EXPR [ 256 ]], outputs: [_172, _173]", "BLACKBOX::RANGE [(_173, 8)] []", - "EXPR [ (1, _107) (-256, _172) (-1, _173) 128 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _171) 128 ], EXPR [ 256 ]], outputs: [_174, _175]", + "EXPR [ (1, _169) (-256, _172) (-1, _173) 249 ]", + "EXPR [ (-1, _172) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _169) 0 ], EXPR [ 3 ], EXPR [ 2 ]], outputs: [[_174, _175, _176]]", "BLACKBOX::RANGE [(_174, 1)] []", - "BLACKBOX::RANGE [(_175, 8)] []", - "EXPR [ (1, _171) (-256, _174) (-1, _175) 128 ]", - "EXPR [ (-1, _172, _174) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (64, _171) 0 ], EXPR [ 256 ]], outputs: [_176, _177]", - "BLACKBOX::RANGE [(_176, 6)] []", - "BLACKBOX::RANGE [(_177, 8)] []", - "EXPR [ (64, _171) (-256, _176) (-1, _177) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _177) 0 ], EXPR [ 256 ]], outputs: [_178, _179]", - "BLACKBOX::RANGE [(_178, 1)] []", - "EXPR [ (1, _177) (-256, _178) (-1, _179) 0 ]", - "EXPR [ (1, _179) -192 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _171) 512 ], EXPR [ 256 ]], outputs: [_180, _181]", - "BLACKBOX::RANGE [(_180, 2)] []", - "BLACKBOX::RANGE [(_181, 8)] []", - "EXPR [ (-1, _171) (-256, _180) (-1, _181) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _181) 128 ], EXPR [ 256 ]], outputs: [_182, _183]", - "BLACKBOX::RANGE [(_182, 1)] []", + "BLACKBOX::RANGE [(_175, 1)] []", + "BLACKBOX::RANGE [(_176, 1)] []", + "EXPR [ (1, _169) (-1, _174) (-2, _175) (-4, _176) 0 ]", + "EXPR [ (1, _176, _176) (2, _176) (-1, _177) 1 ]", + "EXPR [ (-1, _175) (-1, _178) 1 ]", + "EXPR [ (2, _175, _177) (1, _177, _178) (-1, _179) 0 ]", + "EXPR [ (1, _179, _179) (-1, _180) 0 ]", + "EXPR [ (-1, _174) (-1, _181) 1 ]", + "EXPR [ (2, _174, _180) (1, _180, _181) (-1, _182) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _159, _182) 0 ], EXPR [ 256 ]], outputs: [_183, _184]", "BLACKBOX::RANGE [(_183, 8)] []", - "EXPR [ (1, _181) (-256, _182) (-1, _183) 128 ]", - "EXPR [ (-1, _174, _182) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _181) 249 ], EXPR [ 256 ]], outputs: [_184, _185]", - "BLACKBOX::RANGE [(_185, 8)] []", - "EXPR [ (1, _181) (-256, _184) (-1, _185) 249 ]", - "EXPR [ (-1, _184) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _181) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_186, _187, _188, _189]]", - "BLACKBOX::RANGE [(_186, 1)] []", - "BLACKBOX::RANGE [(_187, 1)] []", - "BLACKBOX::RANGE [(_188, 1)] []", - "BLACKBOX::RANGE [(_189, 1)] []", - "EXPR [ (1, _181) (-1, _186) (-2, _187) (-4, _188) (-8, _189) 0 ]", - "EXPR [ (1, _189, _189) (2, _189) (-1, _190) 1 ]", - "EXPR [ (-1, _188) (-1, _191) 1 ]", - "EXPR [ (2, _188, _190) (1, _190, _191) (-1, _192) 0 ]", - "EXPR [ (1, _192, _192) (-1, _193) 0 ]", - "EXPR [ (-1, _187) (-1, _194) 1 ]", - "EXPR [ (2, _187, _193) (1, _193, _194) (-1, _195) 0 ]", - "EXPR [ (1, _195, _195) (-1, _196) 0 ]", - "EXPR [ (-1, _186) (-1, _197) 1 ]", - "EXPR [ (2, _186, _196) (1, _196, _197) (-1, _198) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _171, _198) 0 ], EXPR [ 256 ]], outputs: [_199, _200]", - "BLACKBOX::RANGE [(_199, 8)] []", - "BLACKBOX::RANGE [(_200, 8)] []", - "EXPR [ (1, _171, _198) (-256, _199) (-1, _200) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _200) 0 ], EXPR [ 256 ]], outputs: [_201, _202]", - "BLACKBOX::RANGE [(_201, 1)] []", - "EXPR [ (1, _200) (-256, _201) (-1, _202) 0 ]", - "EXPR [ (1, _202) -254 ]", - "EXPR [ (1, _0) (-1, _203) -1 ]", - "BLACKBOX::RANGE [(_203, 64)] []", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _203) 18446744073709551552 ], EXPR [ 18446744073709551616 ]], outputs: [_204, _205]", - "BLACKBOX::RANGE [(_205, 64)] []", - "EXPR [ (1, _203) (-18446744073709551616, _204) (-1, _205) 18446744073709551552 ]", - "EXPR [ (-1, _204) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _203) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_206, _207, _208, _209, _210, _211, _212]]", - "BLACKBOX::RANGE [(_206, 1)] []", - "BLACKBOX::RANGE [(_207, 1)] []", - "BLACKBOX::RANGE [(_208, 1)] []", - "BLACKBOX::RANGE [(_209, 1)] []", - "BLACKBOX::RANGE [(_210, 1)] []", - "BLACKBOX::RANGE [(_211, 1)] []", - "BLACKBOX::RANGE [(_212, 1)] []", - "EXPR [ (1, _203) (-1, _206) (-2, _207) (-4, _208) (-8, _209) (-16, _210) (-32, _211) (-64, _212) 0 ]", - "EXPR [ (1, _212, _212) (2, _212) (-1, _213) 1 ]", - "EXPR [ (-1, _211) (-1, _214) 1 ]", - "EXPR [ (2, _211, _213) (1, _213, _214) (-1, _215) 0 ]", - "EXPR [ (1, _215, _215) (-1, _216) 0 ]", - "EXPR [ (-1, _210) (-1, _217) 1 ]", - "EXPR [ (2, _210, _216) (1, _216, _217) (-1, _218) 0 ]", - "EXPR [ (1, _218, _218) (-1, _219) 0 ]", - "EXPR [ (-1, _209) (-1, _220) 1 ]", - "EXPR [ (2, _209, _219) (1, _219, _220) (-1, _221) 0 ]", - "EXPR [ (1, _221, _221) (-1, _222) 0 ]", - "EXPR [ (-1, _208) (-1, _223) 1 ]", - "EXPR [ (2, _208, _222) (1, _222, _223) (-1, _224) 0 ]", - "EXPR [ (1, _224, _224) (-1, _225) 0 ]", - "EXPR [ (-1, _207) (-1, _226) 1 ]", - "EXPR [ (2, _207, _225) (1, _225, _226) (-1, _227) 0 ]", - "EXPR [ (1, _227, _227) (-1, _228) 0 ]", - "EXPR [ (-1, _206) (-1, _229) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _228, _206) (1, _228, _229) 0 ]], outputs: [_230]", - "EXPR [ (2, _206, _228) (1, _228, _229) (-1, _231) 0 ]", - "EXPR [ (1, _230, _231) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _231) 0 ]], outputs: [_232, _233]", - "BLACKBOX::RANGE [(_233, 64)] []", - "EXPR [ (1, _231) (-1, _233) (-1, _234) -1 ]", - "BLACKBOX::RANGE [(_234, 64)] []", - "EXPR [ (-1, _231, _232) (1, _0) (-1, _233) 0 ]", - "EXPR [ (1, _232) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 32768 ]], outputs: [_235, _236]", + "BLACKBOX::RANGE [(_184, 8)] []", + "EXPR [ (1, _159, _182) (-256, _183) (-1, _184) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _184) 0 ], EXPR [ 256 ]], outputs: [_185, _186]", + "BLACKBOX::RANGE [(_185, 1)] []", + "EXPR [ (1, _184) (-256, _185) (-1, _186) 0 ]", + "EXPR [ (1, _186) -254 ]", + "EXPR [ (1, _0) (-1, _187) -1 ]", + "BLACKBOX::RANGE [(_187, 64)] []", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _187) 18446744073709551552 ], EXPR [ 18446744073709551616 ]], outputs: [_188, _189]", + "BLACKBOX::RANGE [(_189, 64)] []", + "EXPR [ (1, _187) (-18446744073709551616, _188) (-1, _189) 18446744073709551552 ]", + "EXPR [ (-1, _188) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _187) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_190, _191, _192, _193, _194, _195]]", + "BLACKBOX::RANGE [(_190, 1)] []", + "BLACKBOX::RANGE [(_191, 1)] []", + "BLACKBOX::RANGE [(_192, 1)] []", + "BLACKBOX::RANGE [(_193, 1)] []", + "BLACKBOX::RANGE [(_194, 1)] []", + "BLACKBOX::RANGE [(_195, 1)] []", + "EXPR [ (1, _187) (-1, _190) (-2, _191) (-4, _192) (-8, _193) (-16, _194) (-32, _195) 0 ]", + "EXPR [ (1, _195, _195) (2, _195) (-1, _196) 1 ]", + "EXPR [ (-1, _194) (-1, _197) 1 ]", + "EXPR [ (2, _194, _196) (1, _196, _197) (-1, _198) 0 ]", + "EXPR [ (1, _198, _198) (-1, _199) 0 ]", + "EXPR [ (-1, _193) (-1, _200) 1 ]", + "EXPR [ (2, _193, _199) (1, _199, _200) (-1, _201) 0 ]", + "EXPR [ (1, _201, _201) (-1, _202) 0 ]", + "EXPR [ (-1, _192) (-1, _203) 1 ]", + "EXPR [ (2, _192, _202) (1, _202, _203) (-1, _204) 0 ]", + "EXPR [ (1, _204, _204) (-1, _205) 0 ]", + "EXPR [ (-1, _191) (-1, _206) 1 ]", + "EXPR [ (2, _191, _205) (1, _205, _206) (-1, _207) 0 ]", + "EXPR [ (1, _207, _207) (-1, _208) 0 ]", + "EXPR [ (-1, _190) (-1, _209) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _208, _190) (1, _208, _209) 0 ]], outputs: [_210]", + "EXPR [ (2, _190, _208) (1, _208, _209) (-1, _211) 0 ]", + "EXPR [ (1, _210, _211) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _211) 0 ]], outputs: [_212, _213]", + "BLACKBOX::RANGE [(_213, 64)] []", + "EXPR [ (1, _211) (-1, _213) (-1, _214) -1 ]", + "BLACKBOX::RANGE [(_214, 64)] []", + "EXPR [ (-1, _211, _212) (1, _0) (-1, _213) 0 ]", + "EXPR [ (1, _212) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 32768 ]], outputs: [_215, _216]", + "BLACKBOX::RANGE [(_215, 1)] []", + "BLACKBOX::RANGE [(_216, 15)] []", + "EXPR [ (1, _2) (-32768, _215) (-1, _216) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 131072 ], EXPR [ 131072 ]], outputs: [_217, _218]", + "BLACKBOX::RANGE [(_217, 1)] []", + "BLACKBOX::RANGE [(_218, 17)] []", + "EXPR [ (1, _2) (-131072, _217) (-1, _218) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _217, _215) (1, _2) (-1, _215) (-1, _217) 1 ], EXPR [ 65536 ]], outputs: [_219, _220]", + "BLACKBOX::RANGE [(_219, 1)] []", + "BLACKBOX::RANGE [(_220, 16)] []", + "EXPR [ (2, _215, _217) (1, _2) (-1, _215) (-1, _217) (-65536, _219) (-1, _220) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_221, _222]", + "BLACKBOX::RANGE [(_221, 1)] []", + "BLACKBOX::RANGE [(_222, 15)] []", + "EXPR [ (1, _220) (-32768, _221) (-1, _222) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _221) (1, _220) (65536, _221) 0 ], EXPR [ 8 ]], outputs: [_223, _224]", + "BLACKBOX::RANGE [(_223, 13)] []", + "BLACKBOX::RANGE [(_224, 3)] []", + "EXPR [ (-2, _220, _221) (1, _220) (65536, _221) (-8, _223) (-1, _224) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _223) 0 ]], outputs: [_225]", + "EXPR [ (1, _223, _225) (1, _226) -1 ]", + "EXPR [ (1, _223, _226) 0 ]", + "EXPR [ (-2, _221, _223) (65536, _221) (1, _223) (-1, _227) 0 ]", + "EXPR [ (-1, _226) (-1, _228) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _224) 0 ]], outputs: [_229]", + "EXPR [ (1, _224, _229) (1, _230) -1 ]", + "EXPR [ (1, _224, _230) 0 ]", + "EXPR [ (-2, _221, _224) (65536, _221) (1, _224) (-1, _231) 0 ]", + "EXPR [ (-1, _230) (-1, _232) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _227, _228) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_233, _234]", + "BLACKBOX::RANGE [(_233, 2)] []", + "EXPR [ (-2, _215, _217) (1, _227, _228) (1, _215) (1, _217) (-65536, _233) (-1, _234) 131071 ]", + "EXPR [ (1, _234) -65439 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_235, _236]", "BLACKBOX::RANGE [(_235, 1)] []", "BLACKBOX::RANGE [(_236, 15)] []", - "EXPR [ (1, _2) (-32768, _235) (-1, _236) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 131072 ], EXPR [ 131072 ]], outputs: [_237, _238]", - "BLACKBOX::RANGE [(_237, 1)] []", - "BLACKBOX::RANGE [(_238, 17)] []", - "EXPR [ (1, _2) (-131072, _237) (-1, _238) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _237, _235) (1, _2) (-1, _235) (-1, _237) 1 ], EXPR [ 65536 ]], outputs: [_239, _240]", - "BLACKBOX::RANGE [(_239, 1)] []", - "BLACKBOX::RANGE [(_240, 16)] []", - "EXPR [ (2, _235, _237) (1, _2) (-1, _235) (-1, _237) (-65536, _239) (-1, _240) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_241, _242]", - "BLACKBOX::RANGE [(_241, 1)] []", - "BLACKBOX::RANGE [(_242, 15)] []", - "EXPR [ (1, _240) (-32768, _241) (-1, _242) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _241) (1, _240) (65536, _241) 0 ], EXPR [ 8 ]], outputs: [_243, _244]", - "BLACKBOX::RANGE [(_243, 13)] []", - "BLACKBOX::RANGE [(_244, 3)] []", - "EXPR [ (-2, _240, _241) (1, _240) (65536, _241) (-8, _243) (-1, _244) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _243) 0 ]], outputs: [_245]", - "EXPR [ (1, _243, _245) (1, _246) -1 ]", - "EXPR [ (1, _243, _246) 0 ]", - "EXPR [ (-2, _241, _243) (65536, _241) (1, _243) (-1, _247) 0 ]", - "EXPR [ (-1, _246) (-1, _248) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _244) 0 ]], outputs: [_249]", - "EXPR [ (1, _244, _249) (1, _250) -1 ]", - "EXPR [ (1, _244, _250) 0 ]", - "EXPR [ (-2, _241, _244) (65536, _241) (1, _244) (-1, _251) 0 ]", - "EXPR [ (-1, _250) (-1, _252) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _247, _248) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_253, _254]", - "BLACKBOX::RANGE [(_253, 2)] []", - "EXPR [ (-2, _235, _237) (1, _247, _248) (1, _235) (1, _237) (-65536, _253) (-1, _254) 131071 ]", - "EXPR [ (1, _254) -65439 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_255, _256]", - "BLACKBOX::RANGE [(_255, 1)] []", - "BLACKBOX::RANGE [(_256, 15)] []", - "EXPR [ (1, _240) (-32768, _255) (-1, _256) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _255) (1, _240) (65536, _255) 0 ], EXPR [ 16384 ]], outputs: [_257, _258]", - "BLACKBOX::RANGE [(_257, 2)] []", - "BLACKBOX::RANGE [(_258, 14)] []", - "EXPR [ (-2, _240, _255) (1, _240) (65536, _255) (-16384, _257) (-1, _258) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _257) 0 ]], outputs: [_259]", - "EXPR [ (1, _257, _259) (1, _260) -1 ]", - "EXPR [ (1, _257, _260) 0 ]", - "EXPR [ (-2, _255, _257) (65536, _255) (1, _257) (-1, _261) 0 ]", - "EXPR [ (-1, _260) (-1, _262) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _258) 0 ]], outputs: [_263]", - "EXPR [ (1, _258, _263) (1, _264) -1 ]", - "EXPR [ (1, _258, _264) 0 ]", - "EXPR [ (-2, _255, _258) (65536, _255) (1, _258) (-1, _265) 0 ]", - "EXPR [ (-1, _264) (-1, _266) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _261, _262) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_267, _268]", - "BLACKBOX::RANGE [(_267, 2)] []", - "EXPR [ (-2, _235, _237) (1, _261, _262) (1, _235) (1, _237) (-65536, _267) (-1, _268) 131071 ]", - "EXPR [ (1, _268) -65535 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 65536 ]], outputs: [_269, _270]", - "BLACKBOX::RANGE [(_269, 48)] []", - "BLACKBOX::RANGE [(_270, 16)] []", - "EXPR [ (1, _0) (-65536, _269) (-1, _270) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _270) 0 ], EXPR [ 32768 ]], outputs: [_271, _272]", - "BLACKBOX::RANGE [(_271, 1)] []", - "BLACKBOX::RANGE [(_272, 15)] []", - "EXPR [ (1, _270) (-32768, _271) (-1, _272) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _270) 131086 ], EXPR [ 131072 ]], outputs: [_273, _274]", - "BLACKBOX::RANGE [(_273, 1)] []", - "BLACKBOX::RANGE [(_274, 17)] []", - "EXPR [ (-1, _270) (-131072, _273) (-1, _274) 131086 ]", - "EXPR [ (-2, _271, _273) (1, _271) (1, _273) (-1, _275) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (28, _273, _271) (1, _275, _270) (-14, _271) (-14, _273) 65535 ], EXPR [ 65536 ]], outputs: [_276, _277]", + "EXPR [ (1, _220) (-32768, _235) (-1, _236) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _235) (1, _220) (65536, _235) 0 ], EXPR [ 16384 ]], outputs: [_237, _238]", + "BLACKBOX::RANGE [(_237, 2)] []", + "BLACKBOX::RANGE [(_238, 14)] []", + "EXPR [ (-2, _220, _235) (1, _220) (65536, _235) (-16384, _237) (-1, _238) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _237) 0 ]], outputs: [_239]", + "EXPR [ (1, _237, _239) (1, _240) -1 ]", + "EXPR [ (1, _237, _240) 0 ]", + "EXPR [ (-2, _235, _237) (65536, _235) (1, _237) (-1, _241) 0 ]", + "EXPR [ (-1, _240) (-1, _242) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _238) 0 ]], outputs: [_243]", + "EXPR [ (1, _238, _243) (1, _244) -1 ]", + "EXPR [ (1, _238, _244) 0 ]", + "EXPR [ (-2, _235, _238) (65536, _235) (1, _238) (-1, _245) 0 ]", + "EXPR [ (-1, _244) (-1, _246) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _241, _242) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_247, _248]", + "BLACKBOX::RANGE [(_247, 2)] []", + "EXPR [ (-2, _215, _217) (1, _241, _242) (1, _215) (1, _217) (-65536, _247) (-1, _248) 131071 ]", + "EXPR [ (1, _248) -65535 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 65536 ]], outputs: [_249, _250]", + "BLACKBOX::RANGE [(_249, 48)] []", + "BLACKBOX::RANGE [(_250, 16)] []", + "EXPR [ (1, _0) (-65536, _249) (-1, _250) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _250) 0 ], EXPR [ 32768 ]], outputs: [_251, _252]", + "BLACKBOX::RANGE [(_251, 1)] []", + "BLACKBOX::RANGE [(_252, 15)] []", + "EXPR [ (1, _250) (-32768, _251) (-1, _252) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _250) 131086 ], EXPR [ 131072 ]], outputs: [_253, _254]", + "BLACKBOX::RANGE [(_253, 1)] []", + "BLACKBOX::RANGE [(_254, 17)] []", + "EXPR [ (-1, _250) (-131072, _253) (-1, _254) 131086 ]", + "EXPR [ (-2, _251, _253) (1, _251) (1, _253) (-1, _255) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (28, _253, _251) (1, _255, _250) (-14, _251) (-14, _253) 65535 ], EXPR [ 65536 ]], outputs: [_256, _257]", + "BLACKBOX::RANGE [(_257, 16)] []", + "EXPR [ (1, _250, _255) (28, _251, _253) (-14, _251) (-14, _253) (-65536, _256) (-1, _257) 65535 ]", + "EXPR [ (-1, _256) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (28, _253, _251) (1, _255, _250) (-14, _251) (-14, _253) 14 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_258, _259, _260, _261]]", + "BLACKBOX::RANGE [(_258, 1)] []", + "BLACKBOX::RANGE [(_259, 1)] []", + "BLACKBOX::RANGE [(_260, 1)] []", + "BLACKBOX::RANGE [(_261, 1)] []", + "EXPR [ (1, _250, _255) (28, _251, _253) (-14, _251) (-14, _253) (-1, _258) (-2, _259) (-4, _260) (-8, _261) 14 ]", + "EXPR [ (1, _261, _261) (2, _261) (-1, _262) 1 ]", + "EXPR [ (-1, _260) (-1, _263) 1 ]", + "EXPR [ (2, _260, _262) (1, _262, _263) (-1, _264) 0 ]", + "EXPR [ (1, _264, _264) (-1, _265) 0 ]", + "EXPR [ (-1, _259) (-1, _266) 1 ]", + "EXPR [ (2, _259, _265) (1, _265, _266) (-1, _267) 0 ]", + "EXPR [ (1, _267, _267) (-1, _268) 0 ]", + "EXPR [ (-1, _258) (-1, _269) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) 0 ], EXPR [ 32768 ]], outputs: [_270, _271]", + "BLACKBOX::RANGE [(_270, 1)] []", + "BLACKBOX::RANGE [(_271, 15)] []", + "EXPR [ (2, _258, _268) (-1, _393) 0 ]", + "EXPR [ (1, _268, _269) (-1, _394) 0 ]", + "EXPR [ (-32768, _270) (-1, _271) (1, _393) (1, _394) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_272, _273]", + "BLACKBOX::RANGE [(_272, 1)] []", + "BLACKBOX::RANGE [(_273, 15)] []", + "EXPR [ (1, _220) (-32768, _272) (-1, _273) 0 ]", + "EXPR [ (-1, _274) (-1, _393) (-1, _394) 32768 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) (2, _274, _270) 0 ]], outputs: [_275]", + "EXPR [ (2, _270, _274) (-1, _276) (1, _393) (1, _394) 0 ]", + "EXPR [ (1, _275, _276) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _272) (1, _220) (65536, _272) 0 ], EXPR [ (1, _276) 0 ]], outputs: [_277, _278]", "BLACKBOX::RANGE [(_277, 16)] []", - "EXPR [ (1, _270, _275) (28, _271, _273) (-14, _271) (-14, _273) (-65536, _276) (-1, _277) 65535 ]", - "EXPR [ (-1, _276) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (28, _273, _271) (1, _275, _270) (-14, _271) (-14, _273) 14 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_278, _279, _280, _281, _282]]", - "BLACKBOX::RANGE [(_278, 1)] []", - "BLACKBOX::RANGE [(_279, 1)] []", - "BLACKBOX::RANGE [(_280, 1)] []", - "BLACKBOX::RANGE [(_281, 1)] []", - "BLACKBOX::RANGE [(_282, 1)] []", - "EXPR [ (1, _270, _275) (28, _271, _273) (-14, _271) (-14, _273) (-1, _278) (-2, _279) (-4, _280) (-8, _281) (-16, _282) 14 ]", - "EXPR [ (1, _282, _282) (2, _282) (-1, _283) 1 ]", - "EXPR [ (-1, _281) (-1, _284) 1 ]", - "EXPR [ (2, _281, _283) (1, _283, _284) (-1, _285) 0 ]", - "EXPR [ (1, _285, _285) (-1, _286) 0 ]", - "EXPR [ (-1, _280) (-1, _287) 1 ]", - "EXPR [ (2, _280, _286) (1, _286, _287) (-1, _288) 0 ]", - "EXPR [ (1, _288, _288) (-1, _289) 0 ]", - "EXPR [ (-1, _279) (-1, _290) 1 ]", - "EXPR [ (2, _279, _289) (1, _289, _290) (-1, _291) 0 ]", - "EXPR [ (1, _291, _291) (-1, _292) 0 ]", - "EXPR [ (-1, _278) (-1, _293) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) 0 ], EXPR [ 32768 ]], outputs: [_294, _295]", + "BLACKBOX::RANGE [(_278, 16)] []", + "EXPR [ (1, _276) (-1, _278) (-1, _279) -1 ]", + "BLACKBOX::RANGE [(_279, 16)] []", + "EXPR [ (-2, _220, _272) (-1, _276, _277) (1, _220) (65536, _272) (-1, _278) 0 ]", + "EXPR [ (-1, _277) (-1, _280) 32768 ]", + "EXPR [ (-2, _270, _272) (1, _270) (1, _272) (-1, _281) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _277) 0 ]], outputs: [_282]", + "EXPR [ (1, _277, _282) (1, _283) -1 ]", + "EXPR [ (1, _277, _283) 0 ]", + "EXPR [ (2, _280, _281) (1, _277) (-1, _284) 0 ]", + "EXPR [ (-1, _283) (-1, _285) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _278) 0 ]], outputs: [_286]", + "EXPR [ (1, _278, _286) (1, _287) -1 ]", + "EXPR [ (1, _278, _287) 0 ]", + "EXPR [ (-2, _272, _278) (65536, _272) (1, _278) (-1, _288) 0 ]", + "EXPR [ (-1, _287) (-1, _289) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _284, _285) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_290, _291]", + "BLACKBOX::RANGE [(_290, 2)] []", + "EXPR [ (-2, _215, _217) (1, _284, _285) (1, _215) (1, _217) (-65536, _290) (-1, _291) 131071 ]", + "EXPR [ (1, _291) -65535 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _2) 131072 ], EXPR [ 65536 ]], outputs: [_292, _293]", + "BLACKBOX::RANGE [(_292, 2)] []", + "BLACKBOX::RANGE [(_293, 16)] []", + "EXPR [ (-1, _2) (-65536, _292) (-1, _293) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 32768 ], EXPR [ 65536 ]], outputs: [_294, _295]", "BLACKBOX::RANGE [(_294, 1)] []", - "BLACKBOX::RANGE [(_295, 15)] []", - "EXPR [ (2, _278, _292) (-1, _431) 0 ]", - "EXPR [ (1, _292, _293) (-1, _432) 0 ]", - "EXPR [ (-32768, _294) (-1, _295) (1, _431) (1, _432) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_296, _297]", + "BLACKBOX::RANGE [(_295, 16)] []", + "EXPR [ (1, _2) (-65536, _294) (-1, _295) 32768 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 32768 ], EXPR [ 65536 ]], outputs: [_296, _297]", "BLACKBOX::RANGE [(_296, 1)] []", - "BLACKBOX::RANGE [(_297, 15)] []", - "EXPR [ (1, _240) (-32768, _296) (-1, _297) 0 ]", - "EXPR [ (-1, _298) (-1, _431) (-1, _432) 32768 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) (2, _298, _294) 0 ]], outputs: [_299]", - "EXPR [ (2, _294, _298) (-1, _300) (1, _431) (1, _432) 0 ]", - "EXPR [ (1, _299, _300) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _296) (1, _240) (65536, _296) 0 ], EXPR [ (1, _300) 0 ]], outputs: [_301, _302]", - "BLACKBOX::RANGE [(_301, 16)] []", - "BLACKBOX::RANGE [(_302, 16)] []", - "EXPR [ (1, _300) (-1, _302) (-1, _303) -1 ]", + "BLACKBOX::RANGE [(_297, 16)] []", + "EXPR [ (1, _293) (-65536, _296) (-1, _297) 32768 ]", + "EXPR [ (-1, _294, _296) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 0 ], EXPR [ 32768 ]], outputs: [_298, _299]", + "BLACKBOX::RANGE [(_298, 1)] []", + "BLACKBOX::RANGE [(_299, 15)] []", + "EXPR [ (1, _293) (-32768, _298) (-1, _299) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 131072 ], EXPR [ 131072 ]], outputs: [_300, _301]", + "BLACKBOX::RANGE [(_300, 1)] []", + "BLACKBOX::RANGE [(_301, 17)] []", + "EXPR [ (1, _293) (-131072, _300) (-1, _301) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _300, _298) (1, _293) (-1, _298) (-1, _300) 1 ], EXPR [ 65536 ]], outputs: [_302, _303]", + "BLACKBOX::RANGE [(_302, 1)] []", "BLACKBOX::RANGE [(_303, 16)] []", - "EXPR [ (-2, _240, _296) (-1, _300, _301) (1, _240) (65536, _296) (-1, _302) 0 ]", - "EXPR [ (-1, _301) (-1, _304) 32768 ]", - "EXPR [ (-2, _294, _296) (1, _294) (1, _296) (-1, _305) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _301) 0 ]], outputs: [_306]", - "EXPR [ (1, _301, _306) (1, _307) -1 ]", - "EXPR [ (1, _301, _307) 0 ]", - "EXPR [ (2, _304, _305) (1, _301) (-1, _308) 0 ]", - "EXPR [ (-1, _307) (-1, _309) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _302) 0 ]], outputs: [_310]", - "EXPR [ (1, _302, _310) (1, _311) -1 ]", - "EXPR [ (1, _302, _311) 0 ]", - "EXPR [ (-2, _296, _302) (65536, _296) (1, _302) (-1, _312) 0 ]", - "EXPR [ (-1, _311) (-1, _313) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _308, _309) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_314, _315]", - "BLACKBOX::RANGE [(_314, 2)] []", - "EXPR [ (-2, _235, _237) (1, _308, _309) (1, _235) (1, _237) (-65536, _314) (-1, _315) 131071 ]", - "EXPR [ (1, _315) -65535 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _2) 131072 ], EXPR [ 65536 ]], outputs: [_316, _317]", - "BLACKBOX::RANGE [(_316, 2)] []", - "BLACKBOX::RANGE [(_317, 16)] []", - "EXPR [ (-1, _2) (-65536, _316) (-1, _317) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 32768 ], EXPR [ 65536 ]], outputs: [_318, _319]", - "BLACKBOX::RANGE [(_318, 1)] []", - "BLACKBOX::RANGE [(_319, 16)] []", - "EXPR [ (1, _2) (-65536, _318) (-1, _319) 32768 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 32768 ], EXPR [ 65536 ]], outputs: [_320, _321]", - "BLACKBOX::RANGE [(_320, 1)] []", - "BLACKBOX::RANGE [(_321, 16)] []", - "EXPR [ (1, _317) (-65536, _320) (-1, _321) 32768 ]", - "EXPR [ (-1, _318, _320) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 0 ], EXPR [ 32768 ]], outputs: [_322, _323]", - "BLACKBOX::RANGE [(_322, 1)] []", - "BLACKBOX::RANGE [(_323, 15)] []", - "EXPR [ (1, _317) (-32768, _322) (-1, _323) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 131072 ], EXPR [ 131072 ]], outputs: [_324, _325]", - "BLACKBOX::RANGE [(_324, 1)] []", - "BLACKBOX::RANGE [(_325, 17)] []", - "EXPR [ (1, _317) (-131072, _324) (-1, _325) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _324, _322) (1, _317) (-1, _322) (-1, _324) 1 ], EXPR [ 65536 ]], outputs: [_326, _327]", - "BLACKBOX::RANGE [(_326, 1)] []", - "BLACKBOX::RANGE [(_327, 16)] []", - "EXPR [ (2, _322, _324) (1, _317) (-1, _322) (-1, _324) (-65536, _326) (-1, _327) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) 0 ], EXPR [ 32768 ]], outputs: [_328, _329]", - "BLACKBOX::RANGE [(_328, 1)] []", - "BLACKBOX::RANGE [(_329, 15)] []", - "EXPR [ (-32768, _328) (-1, _329) (1, _431) (1, _432) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _327) 0 ], EXPR [ 32768 ]], outputs: [_330, _331]", - "BLACKBOX::RANGE [(_330, 1)] []", - "BLACKBOX::RANGE [(_331, 15)] []", - "EXPR [ (1, _327) (-32768, _330) (-1, _331) 0 ]", - "EXPR [ (-1, _332) (-1, _431) (-1, _432) 32768 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) (2, _332, _328) 0 ]], outputs: [_333]", - "EXPR [ (2, _328, _332) (-1, _334) (1, _431) (1, _432) 0 ]", - "EXPR [ (1, _333, _334) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _327, _330) (1, _327) (65536, _330) 0 ], EXPR [ (1, _334) 0 ]], outputs: [_335, _336]", - "BLACKBOX::RANGE [(_335, 16)] []", - "BLACKBOX::RANGE [(_336, 16)] []", - "EXPR [ (1, _334) (-1, _336) (-1, _337) -1 ]", - "BLACKBOX::RANGE [(_337, 16)] []", - "EXPR [ (-2, _327, _330) (-1, _334, _335) (1, _327) (65536, _330) (-1, _336) 0 ]", - "EXPR [ (-1, _335) (-1, _338) 32768 ]", - "EXPR [ (-2, _328, _330) (1, _328) (1, _330) (-1, _339) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _335) 0 ]], outputs: [_340]", - "EXPR [ (1, _335, _340) (1, _341) -1 ]", - "EXPR [ (1, _335, _341) 0 ]", - "EXPR [ (2, _338, _339) (1, _335) (-1, _342) 0 ]", - "EXPR [ (-1, _341) (-1, _343) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _336) 0 ]], outputs: [_344]", - "EXPR [ (1, _336, _344) (1, _345) -1 ]", - "EXPR [ (1, _336, _345) 0 ]", - "EXPR [ (-2, _330, _336) (65536, _330) (1, _336) (-1, _346) 0 ]", - "EXPR [ (-1, _345) (-1, _347) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _324, _322) (1, _342, _343) (1, _322) (1, _324) 131071 ], EXPR [ 65536 ]], outputs: [_348, _349]", - "BLACKBOX::RANGE [(_348, 2)] []", - "EXPR [ (-2, _322, _324) (1, _342, _343) (1, _322) (1, _324) (-65536, _348) (-1, _349) 131071 ]", - "EXPR [ (1, _349) 0 ]", + "EXPR [ (2, _298, _300) (1, _293) (-1, _298) (-1, _300) (-65536, _302) (-1, _303) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) 0 ], EXPR [ 32768 ]], outputs: [_304, _305]", + "BLACKBOX::RANGE [(_304, 1)] []", + "BLACKBOX::RANGE [(_305, 15)] []", + "EXPR [ (-32768, _304) (-1, _305) (1, _393) (1, _394) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _303) 0 ], EXPR [ 32768 ]], outputs: [_306, _307]", + "BLACKBOX::RANGE [(_306, 1)] []", + "BLACKBOX::RANGE [(_307, 15)] []", + "EXPR [ (1, _303) (-32768, _306) (-1, _307) 0 ]", + "EXPR [ (-1, _308) (-1, _393) (-1, _394) 32768 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) (2, _308, _304) 0 ]], outputs: [_309]", + "EXPR [ (2, _304, _308) (-1, _310) (1, _393) (1, _394) 0 ]", + "EXPR [ (1, _309, _310) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _303, _306) (1, _303) (65536, _306) 0 ], EXPR [ (1, _310) 0 ]], outputs: [_311, _312]", + "BLACKBOX::RANGE [(_311, 16)] []", + "BLACKBOX::RANGE [(_312, 16)] []", + "EXPR [ (1, _310) (-1, _312) (-1, _313) -1 ]", + "BLACKBOX::RANGE [(_313, 16)] []", + "EXPR [ (-2, _303, _306) (-1, _310, _311) (1, _303) (65536, _306) (-1, _312) 0 ]", + "EXPR [ (-1, _311) (-1, _314) 32768 ]", + "EXPR [ (-2, _304, _306) (1, _304) (1, _306) (-1, _315) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _311) 0 ]], outputs: [_316]", + "EXPR [ (1, _311, _316) (1, _317) -1 ]", + "EXPR [ (1, _311, _317) 0 ]", + "EXPR [ (2, _314, _315) (1, _311) (-1, _318) 0 ]", + "EXPR [ (-1, _317) (-1, _319) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _312) 0 ]], outputs: [_320]", + "EXPR [ (1, _312, _320) (1, _321) -1 ]", + "EXPR [ (1, _312, _321) 0 ]", + "EXPR [ (-2, _306, _312) (65536, _306) (1, _312) (-1, _322) 0 ]", + "EXPR [ (-1, _321) (-1, _323) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _300, _298) (1, _318, _319) (1, _298) (1, _300) 131071 ], EXPR [ 65536 ]], outputs: [_324, _325]", + "BLACKBOX::RANGE [(_324, 2)] []", + "EXPR [ (-2, _298, _300) (1, _318, _319) (1, _298) (1, _300) (-65536, _324) (-1, _325) 131071 ]", + "EXPR [ (1, _325) 0 ]", "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) } }]", "unconstrained func 1", @@ -625,7 +601,7 @@ expression: artifact "unconstrained func 2", "[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": "rdnNblNJEEDhd/E6i1t/Xd3zKqMRCmBQpCigkCCNEO8+t273ycBiNtezcZ0k1Eccu23H+XH5eH3/+vndw9OnL98uf/z54/L++eHx8eHzu8cvH+5fHr487Z/98fPuwofvXp6v1/1Tl1++vm99vX++Pr1c/nh6fXy8u3y/f3w9/tG3r/dPx3y5f96/ut1drk8f97mDnx4er1U/7/7d3v57VTZfyyLyth6n9vuZfVP2bdy273Fmf4y1r9uN+6In9lUb+3br/pmfv2msfTO7cT/P7Mt42++37buf2PeNn5/LmevvxvV3P3P7ebztN7lx/8z58W7s9xv3x5nzExu3X8iN+3rm5xdvjx9hZ+4/4cl+2G37bTuzn2/Xv5+6/un/2/6Z89+2vvbbqfPXNn3b9xv3z9z/m3H7Nbcb9888/rXG+Wu53bjfzuwPvv889fz5y76c+f7z7fknTz1/pXN+MvK2/Xbq/8+365/jtv3ebtsfv5//v/aP7j88PP/2ivXi+0ueu0scl+24zOOyH5fjuJRtDplD57A5JiBTkEnINGQiMhWdik5Fp6JT0anoVHQqOhWdik7FpmJTsanYVGwqNhWbik3FpmK7sj9A+K7s58RlDp3D5vA5Yo42R86xK/vjo+/KfjeNbQ6ZY1f21x6xK/tNED5HzNHmyDn6HOMYbVf2x8xW12i/YZuuaWv6mrFmWzPX7GuOOXNbc3m5vFxeLi+Xl8vL5WV5dTcYc/ZtTVlT17Q1fc1Ys62Zay6vL28sbyxvLG8sbyxvLG8sbyxvLG8sT7aNEEIJI5wIohFJdAJZkAVZkAVZkAVZkAVZkAVZkRVZkRVZkRVZkRVZkRXZkA3ZkA3ZkA3ZkA3ZkA3ZkR3ZkR3ZkR3ZkR3ZkR05kAM5kAM5kOtEiVaUbBVJdGKsqLMlXiGEEkaUHBVBNCKJTowVxzE7ouRWUXJWGOFEEI1IohNjxXHgjhACuSN35I7ckTtyR+7IA3kgD+SBPJAH8kAeyAN5LFm3jRBCCSOcKLlXlDwqkujEWHGcwSOEUMIIJ4JAFmRBFmRFVmRFVmRFVmRFVmRFVmRDNmRDNmRDNmRDNmRDNmRHdmRHdmRHdmRHdmRHduRADuRADuRADuRADuRArjOoWz2Zb/VeSoUQShjhRBCNSKITY0UiJ3Ii1xlUrXAiiEYk0Ymxos6gWkXJXqGEEU4E0YgkOjFW1Bmsl7haZ3CGEkY4EUQjkujEmGHbRgihhBFOBNGIJDqBLMiCLMiCLMiCXGew3syyOoOaFZ0oudfLt40QQgkjnAiiEUl0AtmQDdmQDdmQDdmQDdmQDdmRHdmRHdmRHdmRHdmRHTmQAzmQAzmQAzmQ6wzqqNhl2yrGijqDM4RQwggngmhEEsgNOZETOZETOZETOZETOZETuSN35I7ckTtyR+7IHbkjd+SBXGfQjt8KStYKI5wIohFJdGLM8DqDM4RQwggngmhEEp1AFmRBFuQ6g3b8NlNy/XpSZ3BGI5IoOSrGijqDM4RQwggngii5VZScFZ0YK+oMzhBCCSOcCKIRyIZsyI7syI7syI7syI7syI7syIEcyIEcyIEcyIEcyIEcyA25ITfkhtyQG3JDbsgNuSEnciInciInciInciInciJ35I7ckTvycQZ7RcmjohFJdGKsOM7gEUIoYYQTyAN5INcZ9K1izIg6gzOEUMIIJ4JoRBKdQBZkQRZkQRZkQRZkQRZkQVZkRVZkRVZkRVZkRVZkRTZkQzZkQzZkQzZkQzZkQ3ZkR3bkOoNe7z59v39+uH//eP02/zj66fXpwy9/K335+ytf4a+pX5+/fLh+fH2+1rtUx9f2963+AQ==", + "debug_symbols": "rdnLbhNZEIDhd/E6i67LuRSvMhohEwyKZCWRSZBGiHefrj7n98BiNt1sUj9k6hucUIlxfpw+Xz69f/349Pzl5dvpw18/Tp9uT9fr09eP15fH89vTy/P6uz9+Ppz45ce32+Wy/tbpl/evW6/n2+X57fTh+f16fTh9P1/ft//o2+v5eZtv59v63uXhdHn+vM4V/PJ0vWT9fPhve/n/VVl8LovIfb3s2u979k3Ztzi272XPfsTc1+XgvuiOfdXKvh3d3/PxNy1z38wO7rc9+xL3/X5s333Hvi98/Fz2PH43Hr/7ns+fl/t+lYP7e+7Hu7HfD+7HnvspC5+/Igf3dc/Hr9y/fhTb8/eneGO/2LH9uuzZb/fH33c9/uZ/bH/P/delz/266/7qovd9P7i/5+9/NT5/1e3g/p6vf7Vyf7UtB/frnv3gz992ff/8ZV/2/Pnb/ftP2/X9qzn300o7tl93/f/b/fG3OLbf67H9+P3+/15/dX58uv32jPXk61Oeh1PZ3tbtbdve9u1tbG9lGUPG0DFsjAHIEGQQMgwZiAxFh6JD0aHoUHQoOhQdig5Fh6JDsaHYUGwoNhQbiq3K+kXAVmW9BWtj9DFiG76MIWPoGDbGqqxfA31V1r+KXsdoY6zK+vzCV2X9MJdlDBlDx7AxfIwyxqqsXxdLPqL1k1f6nDFmXeaUOXVOm9PnLHPWOadXp1en16bXptem16bX0stPdZmzztnm7HPGmH2ZU+bUOW3O6fXp9en16fXp9enF9GJ6Mb2YXkwvphfTi+nF9GJ6siyEEEoY4UQhKtGITiALsiALsiALsiALsiALsiArsiIrsiIrsiIrsiIrsiIbsiEbsiEbsiEbsiEbsiE7siM7siM7siM7cl6RaEbKlhEz8pZGCJGyZxjhRCFSLhmN6ETM2I5rCyGUSLlmpNwyClGJRnQiZmxntoUQShiB3JAbckNuyA25I3fkjtyRO3JH7sgduSN35EAO5EAO5EAO5EDeLrBnpBwZMUK3G9xCCCWMcKIQlWhEJ5AFWZAFWZAFWZAFWZAFWZAVWZEVWZEVWZEVWZEVWZEN2ZAN2ZAN2ZAN2ZAN2ZAd2ZEd2ZEd2ZEdOW9Ql4yer3FkxIy8wRFCKGGEE4WoRCOQC3JFzhtUzVDCCCcKUYlGpGwZKXs+R1gIIZQwwolCVKIRKZeMmJE3OEIIJYxwohCVaARyRw7kQA7kQA7kQA7kQA7kmLLlDeYLSJY3qC1DiZR7hhOFqEQjOhEz8gZHCKEEsiALsiALsiALsiIrsiIrsiIrsiIrsiIrsiEbsiEbsiEbsiHnDWpk5HPHJSNmbM8ftxBCCSOcKEQlGoHsyAW5IBfkglyQC3JBLsgFuSBX5IpckStyRa7IFbkiV+SK3JDzBi2fgecN5gsxljc4wolCVKIRnYgZeYMjhEDuyB25I3fkjtyRO3IgB3Ig5w3a9m+FlD2jEJVoRMp5enmDGZ43OEIIJYxwohAp5z8t8gbzNQTPGxwRM/IGRwihhBFOFKISyIIsyIqsyIqsyIqsyIqsyIqsyIZsyIZsyIZsyIZsyIZsyI7syI7syI7syI7syI7syAW5IBfkglyQC3JBLsgFuSBvN9gzUo4MJYxwohCVaEQnYsZ2g1sgN+SGnDfoS0YhKtGITsSMvMERQihhBHJH7sgduSN35EAO5EAO5EAO5EAO5ECOKZdlIYRQwggnClGJRnQCWZAFWZAFWZAFWZAFWZDzBj1fqfl+vj2dP10v38YPEr+8Pz/+8nPFt39eeQ8/eXy9vTxePr/fLvmKzva+9TWefwE=", "file_map": { "50": { "source": "fn main(x: u64, y: u64, z: i16, u: i64) {\n // runtime shifts on compile-time known values\n assert(64 << y == 128);\n assert(64 >> y == 32);\n // runtime shifts on runtime values\n assert(x << y == 128);\n assert(x >> y == 32);\n // regression tests for issue #8176, superseded by issue #8791\n assert(u >> (x as i64 - 2) == -1);\n\n // Bit-shift with signed integers\n let mut a: i8 = y as i8;\n let mut b: i8 = x as i8;\n assert(b << 1 == -128);\n assert(b >> 2 == 16);\n assert(b >> a == 32);\n a = -a;\n assert(a << 6 == -64);\n assert(a << -a == -2);\n\n assert(x >> (x - 1) == 0);\n\n assert_eq(z >> 3, -97);\n\n assert(z >> 14 == -1);\n let rhs = (if x as i16 > 14 { 14 } else { x as i16 });\n assert(z >> rhs == -1);\n assert(-z >> rhs == 0);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_0.snap index 8736411ce0f..4758282414b 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_0.snap @@ -54,23 +54,23 @@ expression: artifact "error_kind": "string", "string": "Field failed to decompose into specified 4 limbs" }, - "13958753312450585022": { + "10437400104653976995": { "error_kind": "string", - "string": "Field failed to decompose into specified 7 limbs" + "string": "Field failed to decompose into specified 6 limbs" }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" }, - "16061458491050355795": { + "15625123961815045929": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "Field failed to decompose into specified 3 limbs" } } }, "bytecode": [ "func 0", - "current witness index : _432", + "current witness index : _394", "private parameters indices : [_0, _1, _2, _3]", "public parameters indices : []", "return value indices : []", @@ -82,542 +82,518 @@ expression: artifact "BLACKBOX::RANGE [(_5, 64)] []", "EXPR [ (1, _1) (-18446744073709551616, _4) (-1, _5) 18446744073709551552 ]", "EXPR [ (-1, _4) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_6, _7, _8, _9, _10, _11, _12]]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_6, _7, _8, _9, _10, _11]]", "BLACKBOX::RANGE [(_6, 1)] []", "BLACKBOX::RANGE [(_7, 1)] []", "BLACKBOX::RANGE [(_8, 1)] []", "BLACKBOX::RANGE [(_9, 1)] []", "BLACKBOX::RANGE [(_10, 1)] []", "BLACKBOX::RANGE [(_11, 1)] []", - "BLACKBOX::RANGE [(_12, 1)] []", - "EXPR [ (1, _1) (-1, _6) (-2, _7) (-4, _8) (-8, _9) (-16, _10) (-32, _11) (-64, _12) 0 ]", - "EXPR [ (1, _12, _12) (2, _12) (-1, _13) 1 ]", - "EXPR [ (-1, _11) (-1, _14) 1 ]", - "EXPR [ (2, _11, _13) (1, _13, _14) (-1, _15) 0 ]", - "EXPR [ (1, _15, _15) (-1, _16) 0 ]", - "EXPR [ (-1, _10) (-1, _17) 1 ]", - "EXPR [ (2, _10, _16) (1, _16, _17) (-1, _18) 0 ]", - "EXPR [ (1, _18, _18) (-1, _19) 0 ]", - "EXPR [ (-1, _9) (-1, _20) 1 ]", - "EXPR [ (2, _9, _19) (1, _19, _20) (-1, _21) 0 ]", - "EXPR [ (1, _21, _21) (-1, _22) 0 ]", - "EXPR [ (-1, _8) (-1, _23) 1 ]", - "EXPR [ (2, _8, _22) (1, _22, _23) (-1, _24) 0 ]", - "EXPR [ (1, _24, _24) (-1, _25) 0 ]", - "EXPR [ (-1, _7) (-1, _26) 1 ]", - "EXPR [ (2, _7, _25) (1, _25, _26) (-1, _27) 0 ]", - "EXPR [ (1, _27, _27) (-1, _28) 0 ]", - "EXPR [ (-1, _6) (-1, _29) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (128, _28, _6) (64, _28, _29) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_30, _31]", - "BLACKBOX::RANGE [(_30, 7)] []", - "EXPR [ (128, _6, _28) (-1, _362) 0 ]", - "EXPR [ (64, _28, _29) (-1, _363) 0 ]", - "EXPR [ (-18446744073709551616, _30) (-1, _31) (1, _362) (1, _363) 0 ]", - "EXPR [ (1, _31) -128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _28, _6) (1, _28, _29) 0 ]], outputs: [_32]", - "EXPR [ (-1, _33) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _362) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _363) 0 ]", - "EXPR [ (1, _32, _33) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ 64 ], EXPR [ (1, _33) 0 ]], outputs: [_34, _35]", - "BLACKBOX::RANGE [(_35, 64)] []", - "EXPR [ (1, _33) (-1, _35) (-1, _36) -1 ]", - "BLACKBOX::RANGE [(_36, 64)] []", - "EXPR [ (-1, _33, _34) (-1, _35) 64 ]", - "EXPR [ (1, _34) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _33) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_37, _38]", + "EXPR [ (1, _1) (-1, _6) (-2, _7) (-4, _8) (-8, _9) (-16, _10) (-32, _11) 0 ]", + "EXPR [ (1, _11, _11) (2, _11) (-1, _12) 1 ]", + "EXPR [ (-1, _10) (-1, _13) 1 ]", + "EXPR [ (2, _10, _12) (1, _12, _13) (-1, _14) 0 ]", + "EXPR [ (1, _14, _14) (-1, _15) 0 ]", + "EXPR [ (-1, _9) (-1, _16) 1 ]", + "EXPR [ (2, _9, _15) (1, _15, _16) (-1, _17) 0 ]", + "EXPR [ (1, _17, _17) (-1, _18) 0 ]", + "EXPR [ (-1, _8) (-1, _19) 1 ]", + "EXPR [ (2, _8, _18) (1, _18, _19) (-1, _20) 0 ]", + "EXPR [ (1, _20, _20) (-1, _21) 0 ]", + "EXPR [ (-1, _7) (-1, _22) 1 ]", + "EXPR [ (2, _7, _21) (1, _21, _22) (-1, _23) 0 ]", + "EXPR [ (1, _23, _23) (-1, _24) 0 ]", + "EXPR [ (-1, _6) (-1, _25) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (128, _24, _6) (64, _24, _25) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_26, _27]", + "BLACKBOX::RANGE [(_26, 7)] []", + "EXPR [ (128, _6, _24) (-1, _336) 0 ]", + "EXPR [ (64, _24, _25) (-1, _337) 0 ]", + "EXPR [ (-18446744073709551616, _26) (-1, _27) (1, _336) (1, _337) 0 ]", + "EXPR [ (1, _27) -128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _24, _6) (1, _24, _25) 0 ]], outputs: [_28]", + "EXPR [ (-1, _29) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _336) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _337) 0 ]", + "EXPR [ (1, _28, _29) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ 64 ], EXPR [ (1, _29) 0 ]], outputs: [_30, _31]", + "BLACKBOX::RANGE [(_31, 64)] []", + "EXPR [ (1, _29) (-1, _31) (-1, _32) -1 ]", + "BLACKBOX::RANGE [(_32, 64)] []", + "EXPR [ (-1, _29, _30) (-1, _31) 64 ]", + "EXPR [ (1, _30) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _29) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_33, _34]", + "BLACKBOX::RANGE [(_33, 64)] []", + "EXPR [ (1, _0, _29) (-18446744073709551616, _33) (-1, _34) 0 ]", + "EXPR [ (1, _34) -128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _29) 0 ]], outputs: [_35]", + "EXPR [ (1, _29, _35) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _29) 0 ]], outputs: [_36, _37]", "BLACKBOX::RANGE [(_37, 64)] []", - "EXPR [ (1, _0, _33) (-18446744073709551616, _37) (-1, _38) 0 ]", - "EXPR [ (1, _38) -128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _33) 0 ]], outputs: [_39]", - "EXPR [ (1, _33, _39) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _33) 0 ]], outputs: [_40, _41]", - "BLACKBOX::RANGE [(_41, 64)] []", - "EXPR [ (1, _33) (-1, _41) (-1, _42) -1 ]", + "EXPR [ (1, _29) (-1, _37) (-1, _38) -1 ]", + "BLACKBOX::RANGE [(_38, 64)] []", + "EXPR [ (-1, _29, _36) (1, _0) (-1, _37) 0 ]", + "EXPR [ (1, _36) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 36893488147419103230 ], EXPR [ 18446744073709551616 ]], outputs: [_39, _40]", + "BLACKBOX::RANGE [(_39, 2)] []", + "BLACKBOX::RANGE [(_40, 64)] []", + "EXPR [ (1, _0) (-18446744073709551616, _39) (-1, _40) 36893488147419103230 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_41, _42]", + "BLACKBOX::RANGE [(_41, 1)] []", "BLACKBOX::RANGE [(_42, 64)] []", - "EXPR [ (-1, _33, _40) (1, _0) (-1, _41) 0 ]", - "EXPR [ (1, _40) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 36893488147419103230 ], EXPR [ 18446744073709551616 ]], outputs: [_43, _44]", - "BLACKBOX::RANGE [(_43, 2)] []", + "EXPR [ (1, _0) (-18446744073709551616, _41) (-1, _42) 9223372036854775808 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_43, _44]", + "BLACKBOX::RANGE [(_43, 1)] []", "BLACKBOX::RANGE [(_44, 64)] []", - "EXPR [ (1, _0) (-18446744073709551616, _43) (-1, _44) 36893488147419103230 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_45, _46]", - "BLACKBOX::RANGE [(_45, 1)] []", - "BLACKBOX::RANGE [(_46, 64)] []", - "EXPR [ (1, _0) (-18446744073709551616, _45) (-1, _46) 9223372036854775808 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _44) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_47, _48]", - "BLACKBOX::RANGE [(_47, 1)] []", - "BLACKBOX::RANGE [(_48, 64)] []", - "EXPR [ (1, _44) (-18446744073709551616, _47) (-1, _48) 9223372036854775808 ]", - "EXPR [ (1, _45) (-1, _47) (-1, _49) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _49) 0 ]], outputs: [_50]", - "EXPR [ (1, _49, _50) (1, _51) -1 ]", - "EXPR [ (1, _49, _51) 0 ]", - "EXPR [ (1, _45, _51) (-1, _45) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _44) 18446744073709551553 ], EXPR [ 18446744073709551616 ]], outputs: [_52, _53]", - "BLACKBOX::RANGE [(_53, 64)] []", - "EXPR [ (1, _44) (-18446744073709551616, _52) (-1, _53) 18446744073709551553 ]", - "EXPR [ (-1, _52) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _44) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_54, _55, _56, _57, _58, _59, _60]]", + "EXPR [ (1, _40) (-18446744073709551616, _43) (-1, _44) 9223372036854775808 ]", + "EXPR [ (1, _41) (-1, _43) (-1, _45) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _45) 0 ]], outputs: [_46]", + "EXPR [ (1, _45, _46) (1, _47) -1 ]", + "EXPR [ (1, _45, _47) 0 ]", + "EXPR [ (1, _41, _47) (-1, _41) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 18446744073709551553 ], EXPR [ 18446744073709551616 ]], outputs: [_48, _49]", + "BLACKBOX::RANGE [(_49, 64)] []", + "EXPR [ (1, _40) (-18446744073709551616, _48) (-1, _49) 18446744073709551553 ]", + "EXPR [ (-1, _48) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _40) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_50, _51, _52, _53, _54, _55]]", + "BLACKBOX::RANGE [(_50, 1)] []", + "BLACKBOX::RANGE [(_51, 1)] []", + "BLACKBOX::RANGE [(_52, 1)] []", + "BLACKBOX::RANGE [(_53, 1)] []", "BLACKBOX::RANGE [(_54, 1)] []", "BLACKBOX::RANGE [(_55, 1)] []", - "BLACKBOX::RANGE [(_56, 1)] []", - "BLACKBOX::RANGE [(_57, 1)] []", - "BLACKBOX::RANGE [(_58, 1)] []", - "BLACKBOX::RANGE [(_59, 1)] []", - "BLACKBOX::RANGE [(_60, 1)] []", - "EXPR [ (1, _44) (-1, _54) (-2, _55) (-4, _56) (-8, _57) (-16, _58) (-32, _59) (-64, _60) 0 ]", - "EXPR [ (1, _60, _60) (2, _60) (-1, _61) 1 ]", - "EXPR [ (-1, _59) (-1, _62) 1 ]", - "EXPR [ (2, _59, _61) (1, _61, _62) (-1, _63) 0 ]", - "EXPR [ (1, _63, _63) (-1, _64) 0 ]", - "EXPR [ (-1, _58) (-1, _65) 1 ]", - "EXPR [ (2, _58, _64) (1, _64, _65) (-1, _66) 0 ]", - "EXPR [ (1, _66, _66) (-1, _67) 0 ]", - "EXPR [ (-1, _57) (-1, _68) 1 ]", - "EXPR [ (2, _57, _67) (1, _67, _68) (-1, _69) 0 ]", - "EXPR [ (1, _69, _69) (-1, _70) 0 ]", - "EXPR [ (-1, _56) (-1, _71) 1 ]", - "EXPR [ (2, _56, _70) (1, _70, _71) (-1, _72) 0 ]", - "EXPR [ (1, _72, _72) (-1, _73) 0 ]", - "EXPR [ (-1, _55) (-1, _74) 1 ]", - "EXPR [ (2, _55, _73) (1, _73, _74) (-1, _75) 0 ]", - "EXPR [ (1, _75, _75) (-1, _76) 0 ]", - "EXPR [ (-1, _54) (-1, _77) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_78, _79]", + "EXPR [ (1, _40) (-1, _50) (-2, _51) (-4, _52) (-8, _53) (-16, _54) (-32, _55) 0 ]", + "EXPR [ (1, _55, _55) (2, _55) (-1, _56) 1 ]", + "EXPR [ (-1, _54) (-1, _57) 1 ]", + "EXPR [ (2, _54, _56) (1, _56, _57) (-1, _58) 0 ]", + "EXPR [ (1, _58, _58) (-1, _59) 0 ]", + "EXPR [ (-1, _53) (-1, _60) 1 ]", + "EXPR [ (2, _53, _59) (1, _59, _60) (-1, _61) 0 ]", + "EXPR [ (1, _61, _61) (-1, _62) 0 ]", + "EXPR [ (-1, _52) (-1, _63) 1 ]", + "EXPR [ (2, _52, _62) (1, _62, _63) (-1, _64) 0 ]", + "EXPR [ (1, _64, _64) (-1, _65) 0 ]", + "EXPR [ (-1, _51) (-1, _66) 1 ]", + "EXPR [ (2, _51, _65) (1, _65, _66) (-1, _67) 0 ]", + "EXPR [ (1, _67, _67) (-1, _68) 0 ]", + "EXPR [ (-1, _50) (-1, _69) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_70, _71]", + "BLACKBOX::RANGE [(_70, 1)] []", + "BLACKBOX::RANGE [(_71, 63)] []", + "EXPR [ (1, _3) (-9223372036854775808, _70) (-1, _71) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 36893488147419103232 ], EXPR [ 36893488147419103232 ]], outputs: [_72, _73]", + "BLACKBOX::RANGE [(_72, 1)] []", + "BLACKBOX::RANGE [(_73, 65)] []", + "EXPR [ (1, _3) (-36893488147419103232, _72) (-1, _73) 36893488147419103232 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _72, _70) (1, _3) (-1, _70) (-1, _72) 1 ], EXPR [ 18446744073709551616 ]], outputs: [_74, _75]", + "BLACKBOX::RANGE [(_74, 1)] []", + "BLACKBOX::RANGE [(_75, 64)] []", + "EXPR [ (2, _70, _72) (1, _3) (-1, _70) (-1, _72) (-18446744073709551616, _74) (-1, _75) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _68, _50) (1, _68, _69) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_76, _77]", + "BLACKBOX::RANGE [(_76, 1)] []", + "BLACKBOX::RANGE [(_77, 63)] []", + "EXPR [ (2, _50, _68) (-1, _350) 0 ]", + "EXPR [ (1, _68, _69) (-1, _351) 0 ]", + "EXPR [ (-9223372036854775808, _76) (-1, _77) (1, _350) (1, _351) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _75) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_78, _79]", "BLACKBOX::RANGE [(_78, 1)] []", "BLACKBOX::RANGE [(_79, 63)] []", - "EXPR [ (1, _3) (-9223372036854775808, _78) (-1, _79) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 36893488147419103232 ], EXPR [ 36893488147419103232 ]], outputs: [_80, _81]", - "BLACKBOX::RANGE [(_80, 1)] []", - "BLACKBOX::RANGE [(_81, 65)] []", - "EXPR [ (1, _3) (-36893488147419103232, _80) (-1, _81) 36893488147419103232 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _80, _78) (1, _3) (-1, _78) (-1, _80) 1 ], EXPR [ 18446744073709551616 ]], outputs: [_82, _83]", - "BLACKBOX::RANGE [(_82, 1)] []", + "EXPR [ (1, _75) (-9223372036854775808, _78) (-1, _79) 0 ]", + "EXPR [ (-1, _80) (-1, _350) (-1, _351) 9223372036854775808 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _68, _50) (1, _68, _69) (2, _80, _76) 0 ]], outputs: [_81]", + "EXPR [ (2, _76, _80) (-1, _82) (1, _350) (1, _351) 0 ]", + "EXPR [ (1, _81, _82) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _75, _78) (1, _75) (18446744073709551616, _78) 0 ], EXPR [ (1, _82) 0 ]], outputs: [_83, _84]", "BLACKBOX::RANGE [(_83, 64)] []", - "EXPR [ (2, _78, _80) (1, _3) (-1, _78) (-1, _80) (-18446744073709551616, _82) (-1, _83) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _76, _54) (1, _76, _77) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_84, _85]", - "BLACKBOX::RANGE [(_84, 1)] []", - "BLACKBOX::RANGE [(_85, 63)] []", - "EXPR [ (2, _54, _76) (-1, _378) 0 ]", - "EXPR [ (1, _76, _77) (-1, _379) 0 ]", - "EXPR [ (-9223372036854775808, _84) (-1, _85) (1, _378) (1, _379) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _83) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_86, _87]", - "BLACKBOX::RANGE [(_86, 1)] []", - "BLACKBOX::RANGE [(_87, 63)] []", - "EXPR [ (1, _83) (-9223372036854775808, _86) (-1, _87) 0 ]", - "EXPR [ (-1, _88) (-1, _378) (-1, _379) 9223372036854775808 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _76, _54) (1, _76, _77) (2, _88, _84) 0 ]], outputs: [_89]", - "EXPR [ (2, _84, _88) (-1, _90) (1, _378) (1, _379) 0 ]", - "EXPR [ (1, _89, _90) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _83, _86) (1, _83) (18446744073709551616, _86) 0 ], EXPR [ (1, _90) 0 ]], outputs: [_91, _92]", - "BLACKBOX::RANGE [(_91, 64)] []", - "BLACKBOX::RANGE [(_92, 64)] []", - "EXPR [ (1, _90) (-1, _92) (-1, _93) -1 ]", - "BLACKBOX::RANGE [(_93, 64)] []", - "EXPR [ (-2, _83, _86) (-1, _90, _91) (1, _83) (18446744073709551616, _86) (-1, _92) 0 ]", - "EXPR [ (-1, _91) (-1, _94) 9223372036854775808 ]", - "EXPR [ (-2, _84, _86) (1, _84) (1, _86) (-1, _95) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _91) 0 ]], outputs: [_96]", - "EXPR [ (1, _91, _96) (1, _97) -1 ]", - "EXPR [ (1, _91, _97) 0 ]", - "EXPR [ (2, _94, _95) (1, _91) (-1, _98) 0 ]", - "EXPR [ (-1, _97) (-1, _99) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _92) 0 ]], outputs: [_100]", - "EXPR [ (1, _92, _100) (1, _101) -1 ]", - "EXPR [ (1, _92, _101) 0 ]", - "EXPR [ (-2, _86, _92) (18446744073709551616, _86) (1, _92) (-1, _102) 0 ]", - "EXPR [ (-1, _101) (-1, _103) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _80, _78) (1, _98, _99) (1, _78) (1, _80) 36893488147419103231 ], EXPR [ 18446744073709551616 ]], outputs: [_104, _105]", - "BLACKBOX::RANGE [(_104, 2)] []", - "EXPR [ (-2, _78, _80) (1, _98, _99) (1, _78) (1, _80) (-18446744073709551616, _104) (-1, _105) 36893488147419103231 ]", - "EXPR [ (1, _105) -18446744073709551615 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 256 ]], outputs: [_106, _107]", - "BLACKBOX::RANGE [(_106, 56)] []", - "BLACKBOX::RANGE [(_107, 8)] []", - "EXPR [ (1, _1) (-256, _106) (-1, _107) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 256 ]], outputs: [_108, _109]", - "BLACKBOX::RANGE [(_108, 56)] []", - "BLACKBOX::RANGE [(_109, 8)] []", - "EXPR [ (1, _0) (-256, _108) (-1, _109) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _109) 0 ], EXPR [ 256 ]], outputs: [_110, _111]", + "BLACKBOX::RANGE [(_84, 64)] []", + "EXPR [ (1, _82) (-1, _84) (-1, _85) -1 ]", + "BLACKBOX::RANGE [(_85, 64)] []", + "EXPR [ (-2, _75, _78) (-1, _82, _83) (1, _75) (18446744073709551616, _78) (-1, _84) 0 ]", + "EXPR [ (-1, _83) (-1, _86) 9223372036854775808 ]", + "EXPR [ (-2, _76, _78) (1, _76) (1, _78) (-1, _87) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _83) 0 ]], outputs: [_88]", + "EXPR [ (1, _83, _88) (1, _89) -1 ]", + "EXPR [ (1, _83, _89) 0 ]", + "EXPR [ (2, _86, _87) (1, _83) (-1, _90) 0 ]", + "EXPR [ (-1, _89) (-1, _91) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _84) 0 ]], outputs: [_92]", + "EXPR [ (1, _84, _92) (1, _93) -1 ]", + "EXPR [ (1, _84, _93) 0 ]", + "EXPR [ (-2, _78, _84) (18446744073709551616, _78) (1, _84) (-1, _94) 0 ]", + "EXPR [ (-1, _93) (-1, _95) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _72, _70) (1, _90, _91) (1, _70) (1, _72) 36893488147419103231 ], EXPR [ 18446744073709551616 ]], outputs: [_96, _97]", + "BLACKBOX::RANGE [(_96, 2)] []", + "EXPR [ (-2, _70, _72) (1, _90, _91) (1, _70) (1, _72) (-18446744073709551616, _96) (-1, _97) 36893488147419103231 ]", + "EXPR [ (1, _97) -18446744073709551615 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 256 ]], outputs: [_98, _99]", + "BLACKBOX::RANGE [(_98, 56)] []", + "BLACKBOX::RANGE [(_99, 8)] []", + "EXPR [ (1, _1) (-256, _98) (-1, _99) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 256 ]], outputs: [_100, _101]", + "BLACKBOX::RANGE [(_100, 56)] []", + "BLACKBOX::RANGE [(_101, 8)] []", + "EXPR [ (1, _0) (-256, _100) (-1, _101) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _101) 0 ], EXPR [ 256 ]], outputs: [_102, _103]", + "BLACKBOX::RANGE [(_102, 1)] []", + "BLACKBOX::RANGE [(_103, 8)] []", + "EXPR [ (2, _101) (-256, _102) (-1, _103) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _103) 0 ], EXPR [ 256 ]], outputs: [_104, _105]", + "BLACKBOX::RANGE [(_104, 1)] []", + "EXPR [ (1, _103) (-256, _104) (-1, _105) 0 ]", + "EXPR [ (1, _105) -128 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _101) 0 ], EXPR [ 128 ]], outputs: [_106, _107]", + "BLACKBOX::RANGE [(_106, 1)] []", + "BLACKBOX::RANGE [(_107, 7)] []", + "EXPR [ (1, _101) (-128, _106) (-1, _107) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _101) 512 ], EXPR [ 512 ]], outputs: [_108, _109]", + "BLACKBOX::RANGE [(_108, 1)] []", + "BLACKBOX::RANGE [(_109, 9)] []", + "EXPR [ (1, _101) (-512, _108) (-1, _109) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _108, _106) (1, _101) (-1, _106) (-1, _108) 1 ], EXPR [ 256 ]], outputs: [_110, _111]", "BLACKBOX::RANGE [(_110, 1)] []", "BLACKBOX::RANGE [(_111, 8)] []", - "EXPR [ (2, _109) (-256, _110) (-1, _111) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 256 ]], outputs: [_112, _113]", + "EXPR [ (2, _106, _108) (1, _101) (-1, _106) (-1, _108) (-256, _110) (-1, _111) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 128 ]], outputs: [_112, _113]", "BLACKBOX::RANGE [(_112, 1)] []", - "EXPR [ (1, _111) (-256, _112) (-1, _113) 0 ]", - "EXPR [ (1, _113) -128 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _109) 0 ], EXPR [ 128 ]], outputs: [_114, _115]", - "BLACKBOX::RANGE [(_114, 1)] []", - "BLACKBOX::RANGE [(_115, 7)] []", - "EXPR [ (1, _109) (-128, _114) (-1, _115) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _109) 512 ], EXPR [ 512 ]], outputs: [_116, _117]", - "BLACKBOX::RANGE [(_116, 1)] []", - "BLACKBOX::RANGE [(_117, 9)] []", - "EXPR [ (1, _109) (-512, _116) (-1, _117) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _116, _114) (1, _109) (-1, _114) (-1, _116) 1 ], EXPR [ 256 ]], outputs: [_118, _119]", - "BLACKBOX::RANGE [(_118, 1)] []", - "BLACKBOX::RANGE [(_119, 8)] []", - "EXPR [ (2, _114, _116) (1, _109) (-1, _114) (-1, _116) (-256, _118) (-1, _119) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _119) 0 ], EXPR [ 128 ]], outputs: [_120, _121]", - "BLACKBOX::RANGE [(_120, 1)] []", - "BLACKBOX::RANGE [(_121, 7)] []", - "EXPR [ (1, _119) (-128, _120) (-1, _121) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _119, _120) (1, _119) (256, _120) 0 ], EXPR [ 4 ]], outputs: [_122, _123]", - "BLACKBOX::RANGE [(_122, 6)] []", - "BLACKBOX::RANGE [(_123, 2)] []", - "EXPR [ (-2, _119, _120) (1, _119) (256, _120) (-4, _122) (-1, _123) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _122) 0 ]], outputs: [_124]", - "EXPR [ (1, _122, _124) (1, _125) -1 ]", - "EXPR [ (1, _122, _125) 0 ]", - "EXPR [ (-2, _120, _122) (256, _120) (1, _122) (-1, _126) 0 ]", - "EXPR [ (-1, _125) (-1, _127) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _123) 0 ]], outputs: [_128]", - "EXPR [ (1, _123, _128) (1, _129) -1 ]", - "EXPR [ (1, _123, _129) 0 ]", - "EXPR [ (-2, _120, _123) (256, _120) (1, _123) (-1, _130) 0 ]", - "EXPR [ (-1, _129) (-1, _131) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _116, _114) (1, _126, _127) (1, _114) (1, _116) 511 ], EXPR [ 256 ]], outputs: [_132, _133]", - "BLACKBOX::RANGE [(_132, 2)] []", - "EXPR [ (-2, _114, _116) (1, _126, _127) (1, _114) (1, _116) (-256, _132) (-1, _133) 511 ]", - "EXPR [ (1, _133) -16 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _107) 249 ], EXPR [ 256 ]], outputs: [_134, _135]", - "BLACKBOX::RANGE [(_135, 8)] []", - "EXPR [ (1, _107) (-256, _134) (-1, _135) 249 ]", - "EXPR [ (-1, _134) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _107) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_136, _137, _138, _139]]", + "BLACKBOX::RANGE [(_113, 7)] []", + "EXPR [ (1, _111) (-128, _112) (-1, _113) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _111, _112) (1, _111) (256, _112) 0 ], EXPR [ 4 ]], outputs: [_114, _115]", + "BLACKBOX::RANGE [(_114, 6)] []", + "BLACKBOX::RANGE [(_115, 2)] []", + "EXPR [ (-2, _111, _112) (1, _111) (256, _112) (-4, _114) (-1, _115) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _114) 0 ]], outputs: [_116]", + "EXPR [ (1, _114, _116) (1, _117) -1 ]", + "EXPR [ (1, _114, _117) 0 ]", + "EXPR [ (-2, _112, _114) (256, _112) (1, _114) (-1, _118) 0 ]", + "EXPR [ (-1, _117) (-1, _119) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _115) 0 ]], outputs: [_120]", + "EXPR [ (1, _115, _120) (1, _121) -1 ]", + "EXPR [ (1, _115, _121) 0 ]", + "EXPR [ (-2, _112, _115) (256, _112) (1, _115) (-1, _122) 0 ]", + "EXPR [ (-1, _121) (-1, _123) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _108, _106) (1, _118, _119) (1, _106) (1, _108) 511 ], EXPR [ 256 ]], outputs: [_124, _125]", + "BLACKBOX::RANGE [(_124, 2)] []", + "EXPR [ (-2, _106, _108) (1, _118, _119) (1, _106) (1, _108) (-256, _124) (-1, _125) 511 ]", + "EXPR [ (1, _125) -16 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _99) 249 ], EXPR [ 256 ]], outputs: [_126, _127]", + "BLACKBOX::RANGE [(_127, 8)] []", + "EXPR [ (1, _99) (-256, _126) (-1, _127) 249 ]", + "EXPR [ (-1, _126) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _99) 0 ], EXPR [ 3 ], EXPR [ 2 ]], outputs: [[_128, _129, _130]]", + "BLACKBOX::RANGE [(_128, 1)] []", + "BLACKBOX::RANGE [(_129, 1)] []", + "BLACKBOX::RANGE [(_130, 1)] []", + "EXPR [ (1, _99) (-1, _128) (-2, _129) (-4, _130) 0 ]", + "EXPR [ (1, _130, _130) (2, _130) (-1, _131) 1 ]", + "EXPR [ (-1, _129) (-1, _132) 1 ]", + "EXPR [ (2, _129, _131) (1, _131, _132) (-1, _133) 0 ]", + "EXPR [ (1, _133, _133) (-1, _134) 0 ]", + "EXPR [ (-1, _128) (-1, _135) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _134, _128) (1, _134, _135) 0 ], EXPR [ 128 ]], outputs: [_136, _137]", "BLACKBOX::RANGE [(_136, 1)] []", - "BLACKBOX::RANGE [(_137, 1)] []", + "BLACKBOX::RANGE [(_137, 7)] []", + "EXPR [ (2, _128, _134) (-1, _360) 0 ]", + "EXPR [ (1, _134, _135) (-1, _361) 0 ]", + "EXPR [ (-128, _136) (-1, _137) (1, _360) (1, _361) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 128 ]], outputs: [_138, _139]", "BLACKBOX::RANGE [(_138, 1)] []", - "BLACKBOX::RANGE [(_139, 1)] []", - "EXPR [ (1, _107) (-1, _136) (-2, _137) (-4, _138) (-8, _139) 0 ]", - "EXPR [ (1, _139, _139) (2, _139) (-1, _140) 1 ]", - "EXPR [ (-1, _138) (-1, _141) 1 ]", - "EXPR [ (2, _138, _140) (1, _140, _141) (-1, _142) 0 ]", - "EXPR [ (1, _142, _142) (-1, _143) 0 ]", - "EXPR [ (-1, _137) (-1, _144) 1 ]", - "EXPR [ (2, _137, _143) (1, _143, _144) (-1, _145) 0 ]", - "EXPR [ (1, _145, _145) (-1, _146) 0 ]", - "EXPR [ (-1, _136) (-1, _147) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _146, _136) (1, _146, _147) 0 ], EXPR [ 128 ]], outputs: [_148, _149]", - "BLACKBOX::RANGE [(_148, 1)] []", - "BLACKBOX::RANGE [(_149, 7)] []", - "EXPR [ (2, _136, _146) (-1, _391) 0 ]", - "EXPR [ (1, _146, _147) (-1, _392) 0 ]", - "EXPR [ (-128, _148) (-1, _149) (1, _391) (1, _392) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _119) 0 ], EXPR [ 128 ]], outputs: [_150, _151]", - "BLACKBOX::RANGE [(_150, 1)] []", - "BLACKBOX::RANGE [(_151, 7)] []", - "EXPR [ (1, _119) (-128, _150) (-1, _151) 0 ]", - "EXPR [ (-1, _152) (-1, _391) (-1, _392) 128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _146, _136) (1, _146, _147) (2, _152, _148) 0 ]], outputs: [_153]", - "EXPR [ (2, _148, _152) (-1, _154) (1, _391) (1, _392) 0 ]", - "EXPR [ (1, _153, _154) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _119, _150) (1, _119) (256, _150) 0 ], EXPR [ (1, _154) 0 ]], outputs: [_155, _156]", - "BLACKBOX::RANGE [(_155, 8)] []", - "BLACKBOX::RANGE [(_156, 8)] []", - "EXPR [ (1, _154) (-1, _156) (-1, _157) -1 ]", - "BLACKBOX::RANGE [(_157, 8)] []", - "EXPR [ (-2, _119, _150) (-1, _154, _155) (1, _119) (256, _150) (-1, _156) 0 ]", - "EXPR [ (-1, _155) (-1, _158) 128 ]", - "EXPR [ (-2, _148, _150) (1, _148) (1, _150) (-1, _159) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _155) 0 ]], outputs: [_160]", - "EXPR [ (1, _155, _160) (1, _161) -1 ]", - "EXPR [ (1, _155, _161) 0 ]", - "EXPR [ (2, _158, _159) (1, _155) (-1, _162) 0 ]", - "EXPR [ (-1, _161) (-1, _163) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _156) 0 ]], outputs: [_164]", - "EXPR [ (1, _156, _164) (1, _165) -1 ]", - "EXPR [ (1, _156, _165) 0 ]", - "EXPR [ (-2, _150, _156) (256, _150) (1, _156) (-1, _166) 0 ]", - "EXPR [ (-1, _165) (-1, _167) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _116, _114) (1, _162, _163) (1, _114) (1, _116) 511 ], EXPR [ 256 ]], outputs: [_168, _169]", + "BLACKBOX::RANGE [(_139, 7)] []", + "EXPR [ (1, _111) (-128, _138) (-1, _139) 0 ]", + "EXPR [ (-1, _140) (-1, _360) (-1, _361) 128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _134, _128) (1, _134, _135) (2, _140, _136) 0 ]], outputs: [_141]", + "EXPR [ (2, _136, _140) (-1, _142) (1, _360) (1, _361) 0 ]", + "EXPR [ (1, _141, _142) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _111, _138) (1, _111) (256, _138) 0 ], EXPR [ (1, _142) 0 ]], outputs: [_143, _144]", + "BLACKBOX::RANGE [(_143, 8)] []", + "BLACKBOX::RANGE [(_144, 8)] []", + "EXPR [ (1, _142) (-1, _144) (-1, _145) -1 ]", + "BLACKBOX::RANGE [(_145, 8)] []", + "EXPR [ (-2, _111, _138) (-1, _142, _143) (1, _111) (256, _138) (-1, _144) 0 ]", + "EXPR [ (-1, _143) (-1, _146) 128 ]", + "EXPR [ (-2, _136, _138) (1, _136) (1, _138) (-1, _147) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _143) 0 ]], outputs: [_148]", + "EXPR [ (1, _143, _148) (1, _149) -1 ]", + "EXPR [ (1, _143, _149) 0 ]", + "EXPR [ (2, _146, _147) (1, _143) (-1, _150) 0 ]", + "EXPR [ (-1, _149) (-1, _151) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _144) 0 ]], outputs: [_152]", + "EXPR [ (1, _144, _152) (1, _153) -1 ]", + "EXPR [ (1, _144, _153) 0 ]", + "EXPR [ (-2, _138, _144) (256, _138) (1, _144) (-1, _154) 0 ]", + "EXPR [ (-1, _153) (-1, _155) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _108, _106) (1, _150, _151) (1, _106) (1, _108) 511 ], EXPR [ 256 ]], outputs: [_156, _157]", + "BLACKBOX::RANGE [(_156, 2)] []", + "EXPR [ (-2, _106, _108) (1, _150, _151) (1, _106) (1, _108) (-256, _156) (-1, _157) 511 ]", + "EXPR [ (1, _157) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _99) 512 ], EXPR [ 256 ]], outputs: [_158, _159]", + "BLACKBOX::RANGE [(_158, 2)] []", + "BLACKBOX::RANGE [(_159, 8)] []", + "EXPR [ (-1, _99) (-256, _158) (-1, _159) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _99) 128 ], EXPR [ 256 ]], outputs: [_160, _161]", + "BLACKBOX::RANGE [(_160, 1)] []", + "BLACKBOX::RANGE [(_161, 8)] []", + "EXPR [ (1, _99) (-256, _160) (-1, _161) 128 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _159) 128 ], EXPR [ 256 ]], outputs: [_162, _163]", + "BLACKBOX::RANGE [(_162, 1)] []", + "BLACKBOX::RANGE [(_163, 8)] []", + "EXPR [ (1, _159) (-256, _162) (-1, _163) 128 ]", + "EXPR [ (-1, _160, _162) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (64, _159) 0 ], EXPR [ 256 ]], outputs: [_164, _165]", + "BLACKBOX::RANGE [(_164, 6)] []", + "BLACKBOX::RANGE [(_165, 8)] []", + "EXPR [ (64, _159) (-256, _164) (-1, _165) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _165) 0 ], EXPR [ 256 ]], outputs: [_166, _167]", + "BLACKBOX::RANGE [(_166, 1)] []", + "EXPR [ (1, _165) (-256, _166) (-1, _167) 0 ]", + "EXPR [ (1, _167) -192 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _159) 512 ], EXPR [ 256 ]], outputs: [_168, _169]", "BLACKBOX::RANGE [(_168, 2)] []", - "EXPR [ (-2, _114, _116) (1, _162, _163) (1, _114) (1, _116) (-256, _168) (-1, _169) 511 ]", - "EXPR [ (1, _169) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _107) 512 ], EXPR [ 256 ]], outputs: [_170, _171]", - "BLACKBOX::RANGE [(_170, 2)] []", + "BLACKBOX::RANGE [(_169, 8)] []", + "EXPR [ (-1, _159) (-256, _168) (-1, _169) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _169) 128 ], EXPR [ 256 ]], outputs: [_170, _171]", + "BLACKBOX::RANGE [(_170, 1)] []", "BLACKBOX::RANGE [(_171, 8)] []", - "EXPR [ (-1, _107) (-256, _170) (-1, _171) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _107) 128 ], EXPR [ 256 ]], outputs: [_172, _173]", - "BLACKBOX::RANGE [(_172, 1)] []", + "EXPR [ (1, _169) (-256, _170) (-1, _171) 128 ]", + "EXPR [ (-1, _162, _170) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _169) 249 ], EXPR [ 256 ]], outputs: [_172, _173]", "BLACKBOX::RANGE [(_173, 8)] []", - "EXPR [ (1, _107) (-256, _172) (-1, _173) 128 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _171) 128 ], EXPR [ 256 ]], outputs: [_174, _175]", + "EXPR [ (1, _169) (-256, _172) (-1, _173) 249 ]", + "EXPR [ (-1, _172) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _169) 0 ], EXPR [ 3 ], EXPR [ 2 ]], outputs: [[_174, _175, _176]]", "BLACKBOX::RANGE [(_174, 1)] []", - "BLACKBOX::RANGE [(_175, 8)] []", - "EXPR [ (1, _171) (-256, _174) (-1, _175) 128 ]", - "EXPR [ (-1, _172, _174) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (64, _171) 0 ], EXPR [ 256 ]], outputs: [_176, _177]", - "BLACKBOX::RANGE [(_176, 6)] []", - "BLACKBOX::RANGE [(_177, 8)] []", - "EXPR [ (64, _171) (-256, _176) (-1, _177) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _177) 0 ], EXPR [ 256 ]], outputs: [_178, _179]", - "BLACKBOX::RANGE [(_178, 1)] []", - "EXPR [ (1, _177) (-256, _178) (-1, _179) 0 ]", - "EXPR [ (1, _179) -192 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _171) 512 ], EXPR [ 256 ]], outputs: [_180, _181]", - "BLACKBOX::RANGE [(_180, 2)] []", - "BLACKBOX::RANGE [(_181, 8)] []", - "EXPR [ (-1, _171) (-256, _180) (-1, _181) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _181) 128 ], EXPR [ 256 ]], outputs: [_182, _183]", - "BLACKBOX::RANGE [(_182, 1)] []", + "BLACKBOX::RANGE [(_175, 1)] []", + "BLACKBOX::RANGE [(_176, 1)] []", + "EXPR [ (1, _169) (-1, _174) (-2, _175) (-4, _176) 0 ]", + "EXPR [ (1, _176, _176) (2, _176) (-1, _177) 1 ]", + "EXPR [ (-1, _175) (-1, _178) 1 ]", + "EXPR [ (2, _175, _177) (1, _177, _178) (-1, _179) 0 ]", + "EXPR [ (1, _179, _179) (-1, _180) 0 ]", + "EXPR [ (-1, _174) (-1, _181) 1 ]", + "EXPR [ (2, _174, _180) (1, _180, _181) (-1, _182) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _159, _182) 0 ], EXPR [ 256 ]], outputs: [_183, _184]", "BLACKBOX::RANGE [(_183, 8)] []", - "EXPR [ (1, _181) (-256, _182) (-1, _183) 128 ]", - "EXPR [ (-1, _174, _182) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _181) 249 ], EXPR [ 256 ]], outputs: [_184, _185]", - "BLACKBOX::RANGE [(_185, 8)] []", - "EXPR [ (1, _181) (-256, _184) (-1, _185) 249 ]", - "EXPR [ (-1, _184) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _181) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_186, _187, _188, _189]]", - "BLACKBOX::RANGE [(_186, 1)] []", - "BLACKBOX::RANGE [(_187, 1)] []", - "BLACKBOX::RANGE [(_188, 1)] []", - "BLACKBOX::RANGE [(_189, 1)] []", - "EXPR [ (1, _181) (-1, _186) (-2, _187) (-4, _188) (-8, _189) 0 ]", - "EXPR [ (1, _189, _189) (2, _189) (-1, _190) 1 ]", - "EXPR [ (-1, _188) (-1, _191) 1 ]", - "EXPR [ (2, _188, _190) (1, _190, _191) (-1, _192) 0 ]", - "EXPR [ (1, _192, _192) (-1, _193) 0 ]", - "EXPR [ (-1, _187) (-1, _194) 1 ]", - "EXPR [ (2, _187, _193) (1, _193, _194) (-1, _195) 0 ]", - "EXPR [ (1, _195, _195) (-1, _196) 0 ]", - "EXPR [ (-1, _186) (-1, _197) 1 ]", - "EXPR [ (2, _186, _196) (1, _196, _197) (-1, _198) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _171, _198) 0 ], EXPR [ 256 ]], outputs: [_199, _200]", - "BLACKBOX::RANGE [(_199, 8)] []", - "BLACKBOX::RANGE [(_200, 8)] []", - "EXPR [ (1, _171, _198) (-256, _199) (-1, _200) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _200) 0 ], EXPR [ 256 ]], outputs: [_201, _202]", - "BLACKBOX::RANGE [(_201, 1)] []", - "EXPR [ (1, _200) (-256, _201) (-1, _202) 0 ]", - "EXPR [ (1, _202) -254 ]", - "EXPR [ (1, _0) (-1, _203) -1 ]", - "BLACKBOX::RANGE [(_203, 64)] []", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _203) 18446744073709551552 ], EXPR [ 18446744073709551616 ]], outputs: [_204, _205]", - "BLACKBOX::RANGE [(_205, 64)] []", - "EXPR [ (1, _203) (-18446744073709551616, _204) (-1, _205) 18446744073709551552 ]", - "EXPR [ (-1, _204) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _203) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_206, _207, _208, _209, _210, _211, _212]]", - "BLACKBOX::RANGE [(_206, 1)] []", - "BLACKBOX::RANGE [(_207, 1)] []", - "BLACKBOX::RANGE [(_208, 1)] []", - "BLACKBOX::RANGE [(_209, 1)] []", - "BLACKBOX::RANGE [(_210, 1)] []", - "BLACKBOX::RANGE [(_211, 1)] []", - "BLACKBOX::RANGE [(_212, 1)] []", - "EXPR [ (1, _203) (-1, _206) (-2, _207) (-4, _208) (-8, _209) (-16, _210) (-32, _211) (-64, _212) 0 ]", - "EXPR [ (1, _212, _212) (2, _212) (-1, _213) 1 ]", - "EXPR [ (-1, _211) (-1, _214) 1 ]", - "EXPR [ (2, _211, _213) (1, _213, _214) (-1, _215) 0 ]", - "EXPR [ (1, _215, _215) (-1, _216) 0 ]", - "EXPR [ (-1, _210) (-1, _217) 1 ]", - "EXPR [ (2, _210, _216) (1, _216, _217) (-1, _218) 0 ]", - "EXPR [ (1, _218, _218) (-1, _219) 0 ]", - "EXPR [ (-1, _209) (-1, _220) 1 ]", - "EXPR [ (2, _209, _219) (1, _219, _220) (-1, _221) 0 ]", - "EXPR [ (1, _221, _221) (-1, _222) 0 ]", - "EXPR [ (-1, _208) (-1, _223) 1 ]", - "EXPR [ (2, _208, _222) (1, _222, _223) (-1, _224) 0 ]", - "EXPR [ (1, _224, _224) (-1, _225) 0 ]", - "EXPR [ (-1, _207) (-1, _226) 1 ]", - "EXPR [ (2, _207, _225) (1, _225, _226) (-1, _227) 0 ]", - "EXPR [ (1, _227, _227) (-1, _228) 0 ]", - "EXPR [ (-1, _206) (-1, _229) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _228, _206) (1, _228, _229) 0 ]], outputs: [_230]", - "EXPR [ (2, _206, _228) (1, _228, _229) (-1, _231) 0 ]", - "EXPR [ (1, _230, _231) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _231) 0 ]], outputs: [_232, _233]", - "BLACKBOX::RANGE [(_233, 64)] []", - "EXPR [ (1, _231) (-1, _233) (-1, _234) -1 ]", - "BLACKBOX::RANGE [(_234, 64)] []", - "EXPR [ (-1, _231, _232) (1, _0) (-1, _233) 0 ]", - "EXPR [ (1, _232) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 32768 ]], outputs: [_235, _236]", + "BLACKBOX::RANGE [(_184, 8)] []", + "EXPR [ (1, _159, _182) (-256, _183) (-1, _184) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _184) 0 ], EXPR [ 256 ]], outputs: [_185, _186]", + "BLACKBOX::RANGE [(_185, 1)] []", + "EXPR [ (1, _184) (-256, _185) (-1, _186) 0 ]", + "EXPR [ (1, _186) -254 ]", + "EXPR [ (1, _0) (-1, _187) -1 ]", + "BLACKBOX::RANGE [(_187, 64)] []", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _187) 18446744073709551552 ], EXPR [ 18446744073709551616 ]], outputs: [_188, _189]", + "BLACKBOX::RANGE [(_189, 64)] []", + "EXPR [ (1, _187) (-18446744073709551616, _188) (-1, _189) 18446744073709551552 ]", + "EXPR [ (-1, _188) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _187) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_190, _191, _192, _193, _194, _195]]", + "BLACKBOX::RANGE [(_190, 1)] []", + "BLACKBOX::RANGE [(_191, 1)] []", + "BLACKBOX::RANGE [(_192, 1)] []", + "BLACKBOX::RANGE [(_193, 1)] []", + "BLACKBOX::RANGE [(_194, 1)] []", + "BLACKBOX::RANGE [(_195, 1)] []", + "EXPR [ (1, _187) (-1, _190) (-2, _191) (-4, _192) (-8, _193) (-16, _194) (-32, _195) 0 ]", + "EXPR [ (1, _195, _195) (2, _195) (-1, _196) 1 ]", + "EXPR [ (-1, _194) (-1, _197) 1 ]", + "EXPR [ (2, _194, _196) (1, _196, _197) (-1, _198) 0 ]", + "EXPR [ (1, _198, _198) (-1, _199) 0 ]", + "EXPR [ (-1, _193) (-1, _200) 1 ]", + "EXPR [ (2, _193, _199) (1, _199, _200) (-1, _201) 0 ]", + "EXPR [ (1, _201, _201) (-1, _202) 0 ]", + "EXPR [ (-1, _192) (-1, _203) 1 ]", + "EXPR [ (2, _192, _202) (1, _202, _203) (-1, _204) 0 ]", + "EXPR [ (1, _204, _204) (-1, _205) 0 ]", + "EXPR [ (-1, _191) (-1, _206) 1 ]", + "EXPR [ (2, _191, _205) (1, _205, _206) (-1, _207) 0 ]", + "EXPR [ (1, _207, _207) (-1, _208) 0 ]", + "EXPR [ (-1, _190) (-1, _209) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _208, _190) (1, _208, _209) 0 ]], outputs: [_210]", + "EXPR [ (2, _190, _208) (1, _208, _209) (-1, _211) 0 ]", + "EXPR [ (1, _210, _211) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _211) 0 ]], outputs: [_212, _213]", + "BLACKBOX::RANGE [(_213, 64)] []", + "EXPR [ (1, _211) (-1, _213) (-1, _214) -1 ]", + "BLACKBOX::RANGE [(_214, 64)] []", + "EXPR [ (-1, _211, _212) (1, _0) (-1, _213) 0 ]", + "EXPR [ (1, _212) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 32768 ]], outputs: [_215, _216]", + "BLACKBOX::RANGE [(_215, 1)] []", + "BLACKBOX::RANGE [(_216, 15)] []", + "EXPR [ (1, _2) (-32768, _215) (-1, _216) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 131072 ], EXPR [ 131072 ]], outputs: [_217, _218]", + "BLACKBOX::RANGE [(_217, 1)] []", + "BLACKBOX::RANGE [(_218, 17)] []", + "EXPR [ (1, _2) (-131072, _217) (-1, _218) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _217, _215) (1, _2) (-1, _215) (-1, _217) 1 ], EXPR [ 65536 ]], outputs: [_219, _220]", + "BLACKBOX::RANGE [(_219, 1)] []", + "BLACKBOX::RANGE [(_220, 16)] []", + "EXPR [ (2, _215, _217) (1, _2) (-1, _215) (-1, _217) (-65536, _219) (-1, _220) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_221, _222]", + "BLACKBOX::RANGE [(_221, 1)] []", + "BLACKBOX::RANGE [(_222, 15)] []", + "EXPR [ (1, _220) (-32768, _221) (-1, _222) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _221) (1, _220) (65536, _221) 0 ], EXPR [ 8 ]], outputs: [_223, _224]", + "BLACKBOX::RANGE [(_223, 13)] []", + "BLACKBOX::RANGE [(_224, 3)] []", + "EXPR [ (-2, _220, _221) (1, _220) (65536, _221) (-8, _223) (-1, _224) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _223) 0 ]], outputs: [_225]", + "EXPR [ (1, _223, _225) (1, _226) -1 ]", + "EXPR [ (1, _223, _226) 0 ]", + "EXPR [ (-2, _221, _223) (65536, _221) (1, _223) (-1, _227) 0 ]", + "EXPR [ (-1, _226) (-1, _228) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _224) 0 ]], outputs: [_229]", + "EXPR [ (1, _224, _229) (1, _230) -1 ]", + "EXPR [ (1, _224, _230) 0 ]", + "EXPR [ (-2, _221, _224) (65536, _221) (1, _224) (-1, _231) 0 ]", + "EXPR [ (-1, _230) (-1, _232) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _227, _228) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_233, _234]", + "BLACKBOX::RANGE [(_233, 2)] []", + "EXPR [ (-2, _215, _217) (1, _227, _228) (1, _215) (1, _217) (-65536, _233) (-1, _234) 131071 ]", + "EXPR [ (1, _234) -65439 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_235, _236]", "BLACKBOX::RANGE [(_235, 1)] []", "BLACKBOX::RANGE [(_236, 15)] []", - "EXPR [ (1, _2) (-32768, _235) (-1, _236) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 131072 ], EXPR [ 131072 ]], outputs: [_237, _238]", - "BLACKBOX::RANGE [(_237, 1)] []", - "BLACKBOX::RANGE [(_238, 17)] []", - "EXPR [ (1, _2) (-131072, _237) (-1, _238) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _237, _235) (1, _2) (-1, _235) (-1, _237) 1 ], EXPR [ 65536 ]], outputs: [_239, _240]", - "BLACKBOX::RANGE [(_239, 1)] []", - "BLACKBOX::RANGE [(_240, 16)] []", - "EXPR [ (2, _235, _237) (1, _2) (-1, _235) (-1, _237) (-65536, _239) (-1, _240) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_241, _242]", - "BLACKBOX::RANGE [(_241, 1)] []", - "BLACKBOX::RANGE [(_242, 15)] []", - "EXPR [ (1, _240) (-32768, _241) (-1, _242) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _241) (1, _240) (65536, _241) 0 ], EXPR [ 8 ]], outputs: [_243, _244]", - "BLACKBOX::RANGE [(_243, 13)] []", - "BLACKBOX::RANGE [(_244, 3)] []", - "EXPR [ (-2, _240, _241) (1, _240) (65536, _241) (-8, _243) (-1, _244) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _243) 0 ]], outputs: [_245]", - "EXPR [ (1, _243, _245) (1, _246) -1 ]", - "EXPR [ (1, _243, _246) 0 ]", - "EXPR [ (-2, _241, _243) (65536, _241) (1, _243) (-1, _247) 0 ]", - "EXPR [ (-1, _246) (-1, _248) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _244) 0 ]], outputs: [_249]", - "EXPR [ (1, _244, _249) (1, _250) -1 ]", - "EXPR [ (1, _244, _250) 0 ]", - "EXPR [ (-2, _241, _244) (65536, _241) (1, _244) (-1, _251) 0 ]", - "EXPR [ (-1, _250) (-1, _252) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _247, _248) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_253, _254]", - "BLACKBOX::RANGE [(_253, 2)] []", - "EXPR [ (-2, _235, _237) (1, _247, _248) (1, _235) (1, _237) (-65536, _253) (-1, _254) 131071 ]", - "EXPR [ (1, _254) -65439 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_255, _256]", - "BLACKBOX::RANGE [(_255, 1)] []", - "BLACKBOX::RANGE [(_256, 15)] []", - "EXPR [ (1, _240) (-32768, _255) (-1, _256) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _255) (1, _240) (65536, _255) 0 ], EXPR [ 16384 ]], outputs: [_257, _258]", - "BLACKBOX::RANGE [(_257, 2)] []", - "BLACKBOX::RANGE [(_258, 14)] []", - "EXPR [ (-2, _240, _255) (1, _240) (65536, _255) (-16384, _257) (-1, _258) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _257) 0 ]], outputs: [_259]", - "EXPR [ (1, _257, _259) (1, _260) -1 ]", - "EXPR [ (1, _257, _260) 0 ]", - "EXPR [ (-2, _255, _257) (65536, _255) (1, _257) (-1, _261) 0 ]", - "EXPR [ (-1, _260) (-1, _262) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _258) 0 ]], outputs: [_263]", - "EXPR [ (1, _258, _263) (1, _264) -1 ]", - "EXPR [ (1, _258, _264) 0 ]", - "EXPR [ (-2, _255, _258) (65536, _255) (1, _258) (-1, _265) 0 ]", - "EXPR [ (-1, _264) (-1, _266) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _261, _262) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_267, _268]", - "BLACKBOX::RANGE [(_267, 2)] []", - "EXPR [ (-2, _235, _237) (1, _261, _262) (1, _235) (1, _237) (-65536, _267) (-1, _268) 131071 ]", - "EXPR [ (1, _268) -65535 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 65536 ]], outputs: [_269, _270]", - "BLACKBOX::RANGE [(_269, 48)] []", - "BLACKBOX::RANGE [(_270, 16)] []", - "EXPR [ (1, _0) (-65536, _269) (-1, _270) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _270) 0 ], EXPR [ 32768 ]], outputs: [_271, _272]", - "BLACKBOX::RANGE [(_271, 1)] []", - "BLACKBOX::RANGE [(_272, 15)] []", - "EXPR [ (1, _270) (-32768, _271) (-1, _272) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _270) 131086 ], EXPR [ 131072 ]], outputs: [_273, _274]", - "BLACKBOX::RANGE [(_273, 1)] []", - "BLACKBOX::RANGE [(_274, 17)] []", - "EXPR [ (-1, _270) (-131072, _273) (-1, _274) 131086 ]", - "EXPR [ (-2, _271, _273) (1, _271) (1, _273) (-1, _275) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (28, _273, _271) (1, _275, _270) (-14, _271) (-14, _273) 65535 ], EXPR [ 65536 ]], outputs: [_276, _277]", + "EXPR [ (1, _220) (-32768, _235) (-1, _236) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _235) (1, _220) (65536, _235) 0 ], EXPR [ 16384 ]], outputs: [_237, _238]", + "BLACKBOX::RANGE [(_237, 2)] []", + "BLACKBOX::RANGE [(_238, 14)] []", + "EXPR [ (-2, _220, _235) (1, _220) (65536, _235) (-16384, _237) (-1, _238) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _237) 0 ]], outputs: [_239]", + "EXPR [ (1, _237, _239) (1, _240) -1 ]", + "EXPR [ (1, _237, _240) 0 ]", + "EXPR [ (-2, _235, _237) (65536, _235) (1, _237) (-1, _241) 0 ]", + "EXPR [ (-1, _240) (-1, _242) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _238) 0 ]], outputs: [_243]", + "EXPR [ (1, _238, _243) (1, _244) -1 ]", + "EXPR [ (1, _238, _244) 0 ]", + "EXPR [ (-2, _235, _238) (65536, _235) (1, _238) (-1, _245) 0 ]", + "EXPR [ (-1, _244) (-1, _246) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _241, _242) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_247, _248]", + "BLACKBOX::RANGE [(_247, 2)] []", + "EXPR [ (-2, _215, _217) (1, _241, _242) (1, _215) (1, _217) (-65536, _247) (-1, _248) 131071 ]", + "EXPR [ (1, _248) -65535 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 65536 ]], outputs: [_249, _250]", + "BLACKBOX::RANGE [(_249, 48)] []", + "BLACKBOX::RANGE [(_250, 16)] []", + "EXPR [ (1, _0) (-65536, _249) (-1, _250) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _250) 0 ], EXPR [ 32768 ]], outputs: [_251, _252]", + "BLACKBOX::RANGE [(_251, 1)] []", + "BLACKBOX::RANGE [(_252, 15)] []", + "EXPR [ (1, _250) (-32768, _251) (-1, _252) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _250) 131086 ], EXPR [ 131072 ]], outputs: [_253, _254]", + "BLACKBOX::RANGE [(_253, 1)] []", + "BLACKBOX::RANGE [(_254, 17)] []", + "EXPR [ (-1, _250) (-131072, _253) (-1, _254) 131086 ]", + "EXPR [ (-2, _251, _253) (1, _251) (1, _253) (-1, _255) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (28, _253, _251) (1, _255, _250) (-14, _251) (-14, _253) 65535 ], EXPR [ 65536 ]], outputs: [_256, _257]", + "BLACKBOX::RANGE [(_257, 16)] []", + "EXPR [ (1, _250, _255) (28, _251, _253) (-14, _251) (-14, _253) (-65536, _256) (-1, _257) 65535 ]", + "EXPR [ (-1, _256) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (28, _253, _251) (1, _255, _250) (-14, _251) (-14, _253) 14 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_258, _259, _260, _261]]", + "BLACKBOX::RANGE [(_258, 1)] []", + "BLACKBOX::RANGE [(_259, 1)] []", + "BLACKBOX::RANGE [(_260, 1)] []", + "BLACKBOX::RANGE [(_261, 1)] []", + "EXPR [ (1, _250, _255) (28, _251, _253) (-14, _251) (-14, _253) (-1, _258) (-2, _259) (-4, _260) (-8, _261) 14 ]", + "EXPR [ (1, _261, _261) (2, _261) (-1, _262) 1 ]", + "EXPR [ (-1, _260) (-1, _263) 1 ]", + "EXPR [ (2, _260, _262) (1, _262, _263) (-1, _264) 0 ]", + "EXPR [ (1, _264, _264) (-1, _265) 0 ]", + "EXPR [ (-1, _259) (-1, _266) 1 ]", + "EXPR [ (2, _259, _265) (1, _265, _266) (-1, _267) 0 ]", + "EXPR [ (1, _267, _267) (-1, _268) 0 ]", + "EXPR [ (-1, _258) (-1, _269) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) 0 ], EXPR [ 32768 ]], outputs: [_270, _271]", + "BLACKBOX::RANGE [(_270, 1)] []", + "BLACKBOX::RANGE [(_271, 15)] []", + "EXPR [ (2, _258, _268) (-1, _393) 0 ]", + "EXPR [ (1, _268, _269) (-1, _394) 0 ]", + "EXPR [ (-32768, _270) (-1, _271) (1, _393) (1, _394) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_272, _273]", + "BLACKBOX::RANGE [(_272, 1)] []", + "BLACKBOX::RANGE [(_273, 15)] []", + "EXPR [ (1, _220) (-32768, _272) (-1, _273) 0 ]", + "EXPR [ (-1, _274) (-1, _393) (-1, _394) 32768 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) (2, _274, _270) 0 ]], outputs: [_275]", + "EXPR [ (2, _270, _274) (-1, _276) (1, _393) (1, _394) 0 ]", + "EXPR [ (1, _275, _276) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _272) (1, _220) (65536, _272) 0 ], EXPR [ (1, _276) 0 ]], outputs: [_277, _278]", "BLACKBOX::RANGE [(_277, 16)] []", - "EXPR [ (1, _270, _275) (28, _271, _273) (-14, _271) (-14, _273) (-65536, _276) (-1, _277) 65535 ]", - "EXPR [ (-1, _276) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (28, _273, _271) (1, _275, _270) (-14, _271) (-14, _273) 14 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_278, _279, _280, _281, _282]]", - "BLACKBOX::RANGE [(_278, 1)] []", - "BLACKBOX::RANGE [(_279, 1)] []", - "BLACKBOX::RANGE [(_280, 1)] []", - "BLACKBOX::RANGE [(_281, 1)] []", - "BLACKBOX::RANGE [(_282, 1)] []", - "EXPR [ (1, _270, _275) (28, _271, _273) (-14, _271) (-14, _273) (-1, _278) (-2, _279) (-4, _280) (-8, _281) (-16, _282) 14 ]", - "EXPR [ (1, _282, _282) (2, _282) (-1, _283) 1 ]", - "EXPR [ (-1, _281) (-1, _284) 1 ]", - "EXPR [ (2, _281, _283) (1, _283, _284) (-1, _285) 0 ]", - "EXPR [ (1, _285, _285) (-1, _286) 0 ]", - "EXPR [ (-1, _280) (-1, _287) 1 ]", - "EXPR [ (2, _280, _286) (1, _286, _287) (-1, _288) 0 ]", - "EXPR [ (1, _288, _288) (-1, _289) 0 ]", - "EXPR [ (-1, _279) (-1, _290) 1 ]", - "EXPR [ (2, _279, _289) (1, _289, _290) (-1, _291) 0 ]", - "EXPR [ (1, _291, _291) (-1, _292) 0 ]", - "EXPR [ (-1, _278) (-1, _293) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) 0 ], EXPR [ 32768 ]], outputs: [_294, _295]", + "BLACKBOX::RANGE [(_278, 16)] []", + "EXPR [ (1, _276) (-1, _278) (-1, _279) -1 ]", + "BLACKBOX::RANGE [(_279, 16)] []", + "EXPR [ (-2, _220, _272) (-1, _276, _277) (1, _220) (65536, _272) (-1, _278) 0 ]", + "EXPR [ (-1, _277) (-1, _280) 32768 ]", + "EXPR [ (-2, _270, _272) (1, _270) (1, _272) (-1, _281) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _277) 0 ]], outputs: [_282]", + "EXPR [ (1, _277, _282) (1, _283) -1 ]", + "EXPR [ (1, _277, _283) 0 ]", + "EXPR [ (2, _280, _281) (1, _277) (-1, _284) 0 ]", + "EXPR [ (-1, _283) (-1, _285) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _278) 0 ]], outputs: [_286]", + "EXPR [ (1, _278, _286) (1, _287) -1 ]", + "EXPR [ (1, _278, _287) 0 ]", + "EXPR [ (-2, _272, _278) (65536, _272) (1, _278) (-1, _288) 0 ]", + "EXPR [ (-1, _287) (-1, _289) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _284, _285) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_290, _291]", + "BLACKBOX::RANGE [(_290, 2)] []", + "EXPR [ (-2, _215, _217) (1, _284, _285) (1, _215) (1, _217) (-65536, _290) (-1, _291) 131071 ]", + "EXPR [ (1, _291) -65535 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _2) 131072 ], EXPR [ 65536 ]], outputs: [_292, _293]", + "BLACKBOX::RANGE [(_292, 2)] []", + "BLACKBOX::RANGE [(_293, 16)] []", + "EXPR [ (-1, _2) (-65536, _292) (-1, _293) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 32768 ], EXPR [ 65536 ]], outputs: [_294, _295]", "BLACKBOX::RANGE [(_294, 1)] []", - "BLACKBOX::RANGE [(_295, 15)] []", - "EXPR [ (2, _278, _292) (-1, _431) 0 ]", - "EXPR [ (1, _292, _293) (-1, _432) 0 ]", - "EXPR [ (-32768, _294) (-1, _295) (1, _431) (1, _432) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_296, _297]", + "BLACKBOX::RANGE [(_295, 16)] []", + "EXPR [ (1, _2) (-65536, _294) (-1, _295) 32768 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 32768 ], EXPR [ 65536 ]], outputs: [_296, _297]", "BLACKBOX::RANGE [(_296, 1)] []", - "BLACKBOX::RANGE [(_297, 15)] []", - "EXPR [ (1, _240) (-32768, _296) (-1, _297) 0 ]", - "EXPR [ (-1, _298) (-1, _431) (-1, _432) 32768 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) (2, _298, _294) 0 ]], outputs: [_299]", - "EXPR [ (2, _294, _298) (-1, _300) (1, _431) (1, _432) 0 ]", - "EXPR [ (1, _299, _300) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _296) (1, _240) (65536, _296) 0 ], EXPR [ (1, _300) 0 ]], outputs: [_301, _302]", - "BLACKBOX::RANGE [(_301, 16)] []", - "BLACKBOX::RANGE [(_302, 16)] []", - "EXPR [ (1, _300) (-1, _302) (-1, _303) -1 ]", + "BLACKBOX::RANGE [(_297, 16)] []", + "EXPR [ (1, _293) (-65536, _296) (-1, _297) 32768 ]", + "EXPR [ (-1, _294, _296) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 0 ], EXPR [ 32768 ]], outputs: [_298, _299]", + "BLACKBOX::RANGE [(_298, 1)] []", + "BLACKBOX::RANGE [(_299, 15)] []", + "EXPR [ (1, _293) (-32768, _298) (-1, _299) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 131072 ], EXPR [ 131072 ]], outputs: [_300, _301]", + "BLACKBOX::RANGE [(_300, 1)] []", + "BLACKBOX::RANGE [(_301, 17)] []", + "EXPR [ (1, _293) (-131072, _300) (-1, _301) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _300, _298) (1, _293) (-1, _298) (-1, _300) 1 ], EXPR [ 65536 ]], outputs: [_302, _303]", + "BLACKBOX::RANGE [(_302, 1)] []", "BLACKBOX::RANGE [(_303, 16)] []", - "EXPR [ (-2, _240, _296) (-1, _300, _301) (1, _240) (65536, _296) (-1, _302) 0 ]", - "EXPR [ (-1, _301) (-1, _304) 32768 ]", - "EXPR [ (-2, _294, _296) (1, _294) (1, _296) (-1, _305) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _301) 0 ]], outputs: [_306]", - "EXPR [ (1, _301, _306) (1, _307) -1 ]", - "EXPR [ (1, _301, _307) 0 ]", - "EXPR [ (2, _304, _305) (1, _301) (-1, _308) 0 ]", - "EXPR [ (-1, _307) (-1, _309) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _302) 0 ]], outputs: [_310]", - "EXPR [ (1, _302, _310) (1, _311) -1 ]", - "EXPR [ (1, _302, _311) 0 ]", - "EXPR [ (-2, _296, _302) (65536, _296) (1, _302) (-1, _312) 0 ]", - "EXPR [ (-1, _311) (-1, _313) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _308, _309) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_314, _315]", - "BLACKBOX::RANGE [(_314, 2)] []", - "EXPR [ (-2, _235, _237) (1, _308, _309) (1, _235) (1, _237) (-65536, _314) (-1, _315) 131071 ]", - "EXPR [ (1, _315) -65535 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _2) 131072 ], EXPR [ 65536 ]], outputs: [_316, _317]", - "BLACKBOX::RANGE [(_316, 2)] []", - "BLACKBOX::RANGE [(_317, 16)] []", - "EXPR [ (-1, _2) (-65536, _316) (-1, _317) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 32768 ], EXPR [ 65536 ]], outputs: [_318, _319]", - "BLACKBOX::RANGE [(_318, 1)] []", - "BLACKBOX::RANGE [(_319, 16)] []", - "EXPR [ (1, _2) (-65536, _318) (-1, _319) 32768 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 32768 ], EXPR [ 65536 ]], outputs: [_320, _321]", - "BLACKBOX::RANGE [(_320, 1)] []", - "BLACKBOX::RANGE [(_321, 16)] []", - "EXPR [ (1, _317) (-65536, _320) (-1, _321) 32768 ]", - "EXPR [ (-1, _318, _320) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 0 ], EXPR [ 32768 ]], outputs: [_322, _323]", - "BLACKBOX::RANGE [(_322, 1)] []", - "BLACKBOX::RANGE [(_323, 15)] []", - "EXPR [ (1, _317) (-32768, _322) (-1, _323) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 131072 ], EXPR [ 131072 ]], outputs: [_324, _325]", - "BLACKBOX::RANGE [(_324, 1)] []", - "BLACKBOX::RANGE [(_325, 17)] []", - "EXPR [ (1, _317) (-131072, _324) (-1, _325) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _324, _322) (1, _317) (-1, _322) (-1, _324) 1 ], EXPR [ 65536 ]], outputs: [_326, _327]", - "BLACKBOX::RANGE [(_326, 1)] []", - "BLACKBOX::RANGE [(_327, 16)] []", - "EXPR [ (2, _322, _324) (1, _317) (-1, _322) (-1, _324) (-65536, _326) (-1, _327) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) 0 ], EXPR [ 32768 ]], outputs: [_328, _329]", - "BLACKBOX::RANGE [(_328, 1)] []", - "BLACKBOX::RANGE [(_329, 15)] []", - "EXPR [ (-32768, _328) (-1, _329) (1, _431) (1, _432) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _327) 0 ], EXPR [ 32768 ]], outputs: [_330, _331]", - "BLACKBOX::RANGE [(_330, 1)] []", - "BLACKBOX::RANGE [(_331, 15)] []", - "EXPR [ (1, _327) (-32768, _330) (-1, _331) 0 ]", - "EXPR [ (-1, _332) (-1, _431) (-1, _432) 32768 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) (2, _332, _328) 0 ]], outputs: [_333]", - "EXPR [ (2, _328, _332) (-1, _334) (1, _431) (1, _432) 0 ]", - "EXPR [ (1, _333, _334) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _327, _330) (1, _327) (65536, _330) 0 ], EXPR [ (1, _334) 0 ]], outputs: [_335, _336]", - "BLACKBOX::RANGE [(_335, 16)] []", - "BLACKBOX::RANGE [(_336, 16)] []", - "EXPR [ (1, _334) (-1, _336) (-1, _337) -1 ]", - "BLACKBOX::RANGE [(_337, 16)] []", - "EXPR [ (-2, _327, _330) (-1, _334, _335) (1, _327) (65536, _330) (-1, _336) 0 ]", - "EXPR [ (-1, _335) (-1, _338) 32768 ]", - "EXPR [ (-2, _328, _330) (1, _328) (1, _330) (-1, _339) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _335) 0 ]], outputs: [_340]", - "EXPR [ (1, _335, _340) (1, _341) -1 ]", - "EXPR [ (1, _335, _341) 0 ]", - "EXPR [ (2, _338, _339) (1, _335) (-1, _342) 0 ]", - "EXPR [ (-1, _341) (-1, _343) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _336) 0 ]], outputs: [_344]", - "EXPR [ (1, _336, _344) (1, _345) -1 ]", - "EXPR [ (1, _336, _345) 0 ]", - "EXPR [ (-2, _330, _336) (65536, _330) (1, _336) (-1, _346) 0 ]", - "EXPR [ (-1, _345) (-1, _347) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _324, _322) (1, _342, _343) (1, _322) (1, _324) 131071 ], EXPR [ 65536 ]], outputs: [_348, _349]", - "BLACKBOX::RANGE [(_348, 2)] []", - "EXPR [ (-2, _322, _324) (1, _342, _343) (1, _322) (1, _324) (-65536, _348) (-1, _349) 131071 ]", - "EXPR [ (1, _349) 0 ]", + "EXPR [ (2, _298, _300) (1, _293) (-1, _298) (-1, _300) (-65536, _302) (-1, _303) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) 0 ], EXPR [ 32768 ]], outputs: [_304, _305]", + "BLACKBOX::RANGE [(_304, 1)] []", + "BLACKBOX::RANGE [(_305, 15)] []", + "EXPR [ (-32768, _304) (-1, _305) (1, _393) (1, _394) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _303) 0 ], EXPR [ 32768 ]], outputs: [_306, _307]", + "BLACKBOX::RANGE [(_306, 1)] []", + "BLACKBOX::RANGE [(_307, 15)] []", + "EXPR [ (1, _303) (-32768, _306) (-1, _307) 0 ]", + "EXPR [ (-1, _308) (-1, _393) (-1, _394) 32768 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) (2, _308, _304) 0 ]], outputs: [_309]", + "EXPR [ (2, _304, _308) (-1, _310) (1, _393) (1, _394) 0 ]", + "EXPR [ (1, _309, _310) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _303, _306) (1, _303) (65536, _306) 0 ], EXPR [ (1, _310) 0 ]], outputs: [_311, _312]", + "BLACKBOX::RANGE [(_311, 16)] []", + "BLACKBOX::RANGE [(_312, 16)] []", + "EXPR [ (1, _310) (-1, _312) (-1, _313) -1 ]", + "BLACKBOX::RANGE [(_313, 16)] []", + "EXPR [ (-2, _303, _306) (-1, _310, _311) (1, _303) (65536, _306) (-1, _312) 0 ]", + "EXPR [ (-1, _311) (-1, _314) 32768 ]", + "EXPR [ (-2, _304, _306) (1, _304) (1, _306) (-1, _315) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _311) 0 ]], outputs: [_316]", + "EXPR [ (1, _311, _316) (1, _317) -1 ]", + "EXPR [ (1, _311, _317) 0 ]", + "EXPR [ (2, _314, _315) (1, _311) (-1, _318) 0 ]", + "EXPR [ (-1, _317) (-1, _319) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _312) 0 ]], outputs: [_320]", + "EXPR [ (1, _312, _320) (1, _321) -1 ]", + "EXPR [ (1, _312, _321) 0 ]", + "EXPR [ (-2, _306, _312) (65536, _306) (1, _312) (-1, _322) 0 ]", + "EXPR [ (-1, _321) (-1, _323) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _300, _298) (1, _318, _319) (1, _298) (1, _300) 131071 ], EXPR [ 65536 ]], outputs: [_324, _325]", + "BLACKBOX::RANGE [(_324, 2)] []", + "EXPR [ (-2, _298, _300) (1, _318, _319) (1, _298) (1, _300) (-65536, _324) (-1, _325) 131071 ]", + "EXPR [ (1, _325) 0 ]", "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) } }]", "unconstrained func 1", @@ -625,7 +601,7 @@ expression: artifact "unconstrained func 2", "[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": "rdnNblNJEEDhd/E6i1t/Xd3zKqMRCmBQpCigkCCNEO8+t273ycBiNtezcZ0k1Eccu23H+XH5eH3/+vndw9OnL98uf/z54/L++eHx8eHzu8cvH+5fHr487Z/98fPuwofvXp6v1/1Tl1++vm99vX++Pr1c/nh6fXy8u3y/f3w9/tG3r/dPx3y5f96/ut1drk8f97mDnx4er1U/7/7d3v57VTZfyyLyth6n9vuZfVP2bdy273Fmf4y1r9uN+6In9lUb+3br/pmfv2msfTO7cT/P7Mt42++37buf2PeNn5/LmevvxvV3P3P7ebztN7lx/8z58W7s9xv3x5nzExu3X8iN+3rm5xdvjx9hZ+4/4cl+2G37bTuzn2/Xv5+6/un/2/6Z89+2vvbbqfPXNn3b9xv3z9z/m3H7Nbcb9888/rXG+Wu53bjfzuwPvv889fz5y76c+f7z7fknTz1/pXN+MvK2/Xbq/8+365/jtv3ebtsfv5//v/aP7j88PP/2ivXi+0ueu0scl+24zOOyH5fjuJRtDplD57A5JiBTkEnINGQiMhWdik5Fp6JT0anoVHQqOhWdik7FpmJTsanYVGwqNhWbik3FpmK7sj9A+K7s58RlDp3D5vA5Yo42R86xK/vjo+/KfjeNbQ6ZY1f21x6xK/tNED5HzNHmyDn6HOMYbVf2x8xW12i/YZuuaWv6mrFmWzPX7GuOOXNbc3m5vFxeLi+Xl8vL5WV5dTcYc/ZtTVlT17Q1fc1Ys62Zay6vL28sbyxvLG8sbyxvLG8sbyxvLG8sT7aNEEIJI5wIohFJdAJZkAVZkAVZkAVZkAVZkAVZkRVZkRVZkRVZkRVZkRXZkA3ZkA3ZkA3ZkA3ZkA3ZkR3ZkR3ZkR3ZkR3ZkR05kAM5kAM5kOtEiVaUbBVJdGKsqLMlXiGEEkaUHBVBNCKJTowVxzE7ouRWUXJWGOFEEI1IohNjxXHgjhACuSN35I7ckTtyR+7IA3kgD+SBPJAH8kAeyAN5LFm3jRBCCSOcKLlXlDwqkujEWHGcwSOEUMIIJ4JAFmRBFmRFVmRFVmRFVmRFVmRFVmRDNmRDNmRDNmRDNmRDNmRHdmRHdmRHdmRHdmRHduRADuRADuRADuRADuRArjOoWz2Zb/VeSoUQShjhRBCNSKITY0UiJ3Ii1xlUrXAiiEYk0Ymxos6gWkXJXqGEEU4E0YgkOjFW1Bmsl7haZ3CGEkY4EUQjkujEmGHbRgihhBFOBNGIJDqBLMiCLMiCLMiCXGew3syyOoOaFZ0oudfLt40QQgkjnAiiEUl0AtmQDdmQDdmQDdmQDdmQDdmRHdmRHdmRHdmRHdmRHTmQAzmQAzmQAzmQ6wzqqNhl2yrGijqDM4RQwggngmhEEsgNOZETOZETOZETOZETOZETuSN35I7ckTtyR+7IHbkjd+SBXGfQjt8KStYKI5wIohFJdGLM8DqDM4RQwggngmhEEp1AFmRBFuQ6g3b8NlNy/XpSZ3BGI5IoOSrGijqDM4RQwggngii5VZScFZ0YK+oMzhBCCSOcCKIRyIZsyI7syI7syI7syI7syI7syIEcyIEcyIEcyIEcyIEcyA25ITfkhtyQG3JDbsgNuSEnciInciInciInciInciJ35I7ckTvycQZ7RcmjohFJdGKsOM7gEUIoYYQTyAN5INcZ9K1izIg6gzOEUMIIJ4JoRBKdQBZkQRZkQRZkQRZkQRZkQVZkRVZkRVZkRVZkRVZkRTZkQzZkQzZkQzZkQzZkQ3ZkR3bkOoNe7z59v39+uH//eP02/zj66fXpwy9/K335+ytf4a+pX5+/fLh+fH2+1rtUx9f2963+AQ==", + "debug_symbols": "rdnLbhNZEIDhd/E6i67LuRSvMhohEwyKZCWRSZBGiHefrj7n98BiNt1sUj9k6hucUIlxfpw+Xz69f/349Pzl5dvpw18/Tp9uT9fr09eP15fH89vTy/P6uz9+Ppz45ce32+Wy/tbpl/evW6/n2+X57fTh+f16fTh9P1/ft//o2+v5eZtv59v63uXhdHn+vM4V/PJ0vWT9fPhve/n/VVl8LovIfb3s2u979k3Ztzi272XPfsTc1+XgvuiOfdXKvh3d3/PxNy1z38wO7rc9+xL3/X5s333Hvi98/Fz2PH43Hr/7ns+fl/t+lYP7e+7Hu7HfD+7HnvspC5+/Igf3dc/Hr9y/fhTb8/eneGO/2LH9uuzZb/fH33c9/uZ/bH/P/delz/266/7qovd9P7i/5+9/NT5/1e3g/p6vf7Vyf7UtB/frnv3gz992ff/8ZV/2/Pnb/ftP2/X9qzn300o7tl93/f/b/fG3OLbf67H9+P3+/15/dX58uv32jPXk61Oeh1PZ3tbtbdve9u1tbG9lGUPG0DFsjAHIEGQQMgwZiAxFh6JD0aHoUHQoOhQdig5Fh6JDsaHYUGwoNhQbiq3K+kXAVmW9BWtj9DFiG76MIWPoGDbGqqxfA31V1r+KXsdoY6zK+vzCV2X9MJdlDBlDx7AxfIwyxqqsXxdLPqL1k1f6nDFmXeaUOXVOm9PnLHPWOadXp1en16bXptem16bX0stPdZmzztnm7HPGmH2ZU+bUOW3O6fXp9en16fXp9enF9GJ6Mb2YXkwvphfTi+nF9GJ6siyEEEoY4UQhKtGITiALsiALsiALsiALsiALsiArsiIrsiIrsiIrsiIrsiIbsiEbsiEbsiEbsiEbsiE7siM7siM7siM7cl6RaEbKlhEz8pZGCJGyZxjhRCFSLhmN6ETM2I5rCyGUSLlmpNwyClGJRnQiZmxntoUQShiB3JAbckNuyA25I3fkjtyRO3JH7sgduSN35EAO5EAO5EAO5EDeLrBnpBwZMUK3G9xCCCWMcKIQlWhEJ5AFWZAFWZAFWZAFWZAFWZAVWZEVWZEVWZEVWZEVWZEN2ZAN2ZAN2ZAN2ZAN2ZAd2ZEd2ZEd2ZEdOW9Ql4yer3FkxIy8wRFCKGGEE4WoRCOQC3JFzhtUzVDCCCcKUYlGpGwZKXs+R1gIIZQwwolCVKIRKZeMmJE3OEIIJYxwohCVaARyRw7kQA7kQA7kQA7kQA7kmLLlDeYLSJY3qC1DiZR7hhOFqEQjOhEz8gZHCKEEsiALsiALsiALsiIrsiIrsiIrsiIrsiIrsiEbsiEbsiEbsiHnDWpk5HPHJSNmbM8ftxBCCSOcKEQlGoHsyAW5IBfkglyQC3JBLsgFuSBX5IpckStyRa7IFbkiV+SK3JDzBi2fgecN5gsxljc4wolCVKIRnYgZeYMjhEDuyB25I3fkjtyRO3IgB3Ig5w3a9m+FlD2jEJVoRMp5enmDGZ43OEIIJYxwohAp5z8t8gbzNQTPGxwRM/IGRwihhBFOFKISyIIsyIqsyIqsyIqsyIqsyIqsyIZsyIZsyIZsyIZsyIZsyI7syI7syI7syI7syI7syAW5IBfkglyQC3JBLsgFuSBvN9gzUo4MJYxwohCVaEQnYsZ2g1sgN+SGnDfoS0YhKtGITsSMvMERQihhBHJH7sgduSN35EAO5EAO5EAO5EAO5ECOKZdlIYRQwggnClGJRnQCWZAFWZAFWZAFWZAFWZDzBj1fqfl+vj2dP10v38YPEr+8Pz/+8nPFt39eeQ8/eXy9vTxePr/fLvmKzva+9TWefwE=", "file_map": { "50": { "source": "fn main(x: u64, y: u64, z: i16, u: i64) {\n // runtime shifts on compile-time known values\n assert(64 << y == 128);\n assert(64 >> y == 32);\n // runtime shifts on runtime values\n assert(x << y == 128);\n assert(x >> y == 32);\n // regression tests for issue #8176, superseded by issue #8791\n assert(u >> (x as i64 - 2) == -1);\n\n // Bit-shift with signed integers\n let mut a: i8 = y as i8;\n let mut b: i8 = x as i8;\n assert(b << 1 == -128);\n assert(b >> 2 == 16);\n assert(b >> a == 32);\n a = -a;\n assert(a << 6 == -64);\n assert(a << -a == -2);\n\n assert(x >> (x - 1) == 0);\n\n assert_eq(z >> 3, -97);\n\n assert(z >> 14 == -1);\n let rhs = (if x as i16 > 14 { 14 } else { x as i16 });\n assert(z >> rhs == -1);\n assert(-z >> rhs == 0);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 8736411ce0f..4758282414b 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/bit_shifts_runtime/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -54,23 +54,23 @@ expression: artifact "error_kind": "string", "string": "Field failed to decompose into specified 4 limbs" }, - "13958753312450585022": { + "10437400104653976995": { "error_kind": "string", - "string": "Field failed to decompose into specified 7 limbs" + "string": "Field failed to decompose into specified 6 limbs" }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" }, - "16061458491050355795": { + "15625123961815045929": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "Field failed to decompose into specified 3 limbs" } } }, "bytecode": [ "func 0", - "current witness index : _432", + "current witness index : _394", "private parameters indices : [_0, _1, _2, _3]", "public parameters indices : []", "return value indices : []", @@ -82,542 +82,518 @@ expression: artifact "BLACKBOX::RANGE [(_5, 64)] []", "EXPR [ (1, _1) (-18446744073709551616, _4) (-1, _5) 18446744073709551552 ]", "EXPR [ (-1, _4) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_6, _7, _8, _9, _10, _11, _12]]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_6, _7, _8, _9, _10, _11]]", "BLACKBOX::RANGE [(_6, 1)] []", "BLACKBOX::RANGE [(_7, 1)] []", "BLACKBOX::RANGE [(_8, 1)] []", "BLACKBOX::RANGE [(_9, 1)] []", "BLACKBOX::RANGE [(_10, 1)] []", "BLACKBOX::RANGE [(_11, 1)] []", - "BLACKBOX::RANGE [(_12, 1)] []", - "EXPR [ (1, _1) (-1, _6) (-2, _7) (-4, _8) (-8, _9) (-16, _10) (-32, _11) (-64, _12) 0 ]", - "EXPR [ (1, _12, _12) (2, _12) (-1, _13) 1 ]", - "EXPR [ (-1, _11) (-1, _14) 1 ]", - "EXPR [ (2, _11, _13) (1, _13, _14) (-1, _15) 0 ]", - "EXPR [ (1, _15, _15) (-1, _16) 0 ]", - "EXPR [ (-1, _10) (-1, _17) 1 ]", - "EXPR [ (2, _10, _16) (1, _16, _17) (-1, _18) 0 ]", - "EXPR [ (1, _18, _18) (-1, _19) 0 ]", - "EXPR [ (-1, _9) (-1, _20) 1 ]", - "EXPR [ (2, _9, _19) (1, _19, _20) (-1, _21) 0 ]", - "EXPR [ (1, _21, _21) (-1, _22) 0 ]", - "EXPR [ (-1, _8) (-1, _23) 1 ]", - "EXPR [ (2, _8, _22) (1, _22, _23) (-1, _24) 0 ]", - "EXPR [ (1, _24, _24) (-1, _25) 0 ]", - "EXPR [ (-1, _7) (-1, _26) 1 ]", - "EXPR [ (2, _7, _25) (1, _25, _26) (-1, _27) 0 ]", - "EXPR [ (1, _27, _27) (-1, _28) 0 ]", - "EXPR [ (-1, _6) (-1, _29) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (128, _28, _6) (64, _28, _29) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_30, _31]", - "BLACKBOX::RANGE [(_30, 7)] []", - "EXPR [ (128, _6, _28) (-1, _362) 0 ]", - "EXPR [ (64, _28, _29) (-1, _363) 0 ]", - "EXPR [ (-18446744073709551616, _30) (-1, _31) (1, _362) (1, _363) 0 ]", - "EXPR [ (1, _31) -128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _28, _6) (1, _28, _29) 0 ]], outputs: [_32]", - "EXPR [ (-1, _33) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _362) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _363) 0 ]", - "EXPR [ (1, _32, _33) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ 64 ], EXPR [ (1, _33) 0 ]], outputs: [_34, _35]", - "BLACKBOX::RANGE [(_35, 64)] []", - "EXPR [ (1, _33) (-1, _35) (-1, _36) -1 ]", - "BLACKBOX::RANGE [(_36, 64)] []", - "EXPR [ (-1, _33, _34) (-1, _35) 64 ]", - "EXPR [ (1, _34) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _33) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_37, _38]", + "EXPR [ (1, _1) (-1, _6) (-2, _7) (-4, _8) (-8, _9) (-16, _10) (-32, _11) 0 ]", + "EXPR [ (1, _11, _11) (2, _11) (-1, _12) 1 ]", + "EXPR [ (-1, _10) (-1, _13) 1 ]", + "EXPR [ (2, _10, _12) (1, _12, _13) (-1, _14) 0 ]", + "EXPR [ (1, _14, _14) (-1, _15) 0 ]", + "EXPR [ (-1, _9) (-1, _16) 1 ]", + "EXPR [ (2, _9, _15) (1, _15, _16) (-1, _17) 0 ]", + "EXPR [ (1, _17, _17) (-1, _18) 0 ]", + "EXPR [ (-1, _8) (-1, _19) 1 ]", + "EXPR [ (2, _8, _18) (1, _18, _19) (-1, _20) 0 ]", + "EXPR [ (1, _20, _20) (-1, _21) 0 ]", + "EXPR [ (-1, _7) (-1, _22) 1 ]", + "EXPR [ (2, _7, _21) (1, _21, _22) (-1, _23) 0 ]", + "EXPR [ (1, _23, _23) (-1, _24) 0 ]", + "EXPR [ (-1, _6) (-1, _25) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (128, _24, _6) (64, _24, _25) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_26, _27]", + "BLACKBOX::RANGE [(_26, 7)] []", + "EXPR [ (128, _6, _24) (-1, _336) 0 ]", + "EXPR [ (64, _24, _25) (-1, _337) 0 ]", + "EXPR [ (-18446744073709551616, _26) (-1, _27) (1, _336) (1, _337) 0 ]", + "EXPR [ (1, _27) -128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _24, _6) (1, _24, _25) 0 ]], outputs: [_28]", + "EXPR [ (-1, _29) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _336) (-342003794872488675347600089769644923258568193756500536620284440415247007744, _337) 0 ]", + "EXPR [ (1, _28, _29) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ 64 ], EXPR [ (1, _29) 0 ]], outputs: [_30, _31]", + "BLACKBOX::RANGE [(_31, 64)] []", + "EXPR [ (1, _29) (-1, _31) (-1, _32) -1 ]", + "BLACKBOX::RANGE [(_32, 64)] []", + "EXPR [ (-1, _29, _30) (-1, _31) 64 ]", + "EXPR [ (1, _30) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _29) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_33, _34]", + "BLACKBOX::RANGE [(_33, 64)] []", + "EXPR [ (1, _0, _29) (-18446744073709551616, _33) (-1, _34) 0 ]", + "EXPR [ (1, _34) -128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _29) 0 ]], outputs: [_35]", + "EXPR [ (1, _29, _35) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _29) 0 ]], outputs: [_36, _37]", "BLACKBOX::RANGE [(_37, 64)] []", - "EXPR [ (1, _0, _33) (-18446744073709551616, _37) (-1, _38) 0 ]", - "EXPR [ (1, _38) -128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _33) 0 ]], outputs: [_39]", - "EXPR [ (1, _33, _39) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _33) 0 ]], outputs: [_40, _41]", - "BLACKBOX::RANGE [(_41, 64)] []", - "EXPR [ (1, _33) (-1, _41) (-1, _42) -1 ]", + "EXPR [ (1, _29) (-1, _37) (-1, _38) -1 ]", + "BLACKBOX::RANGE [(_38, 64)] []", + "EXPR [ (-1, _29, _36) (1, _0) (-1, _37) 0 ]", + "EXPR [ (1, _36) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 36893488147419103230 ], EXPR [ 18446744073709551616 ]], outputs: [_39, _40]", + "BLACKBOX::RANGE [(_39, 2)] []", + "BLACKBOX::RANGE [(_40, 64)] []", + "EXPR [ (1, _0) (-18446744073709551616, _39) (-1, _40) 36893488147419103230 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_41, _42]", + "BLACKBOX::RANGE [(_41, 1)] []", "BLACKBOX::RANGE [(_42, 64)] []", - "EXPR [ (-1, _33, _40) (1, _0) (-1, _41) 0 ]", - "EXPR [ (1, _40) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 36893488147419103230 ], EXPR [ 18446744073709551616 ]], outputs: [_43, _44]", - "BLACKBOX::RANGE [(_43, 2)] []", + "EXPR [ (1, _0) (-18446744073709551616, _41) (-1, _42) 9223372036854775808 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_43, _44]", + "BLACKBOX::RANGE [(_43, 1)] []", "BLACKBOX::RANGE [(_44, 64)] []", - "EXPR [ (1, _0) (-18446744073709551616, _43) (-1, _44) 36893488147419103230 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_45, _46]", - "BLACKBOX::RANGE [(_45, 1)] []", - "BLACKBOX::RANGE [(_46, 64)] []", - "EXPR [ (1, _0) (-18446744073709551616, _45) (-1, _46) 9223372036854775808 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _44) 9223372036854775808 ], EXPR [ 18446744073709551616 ]], outputs: [_47, _48]", - "BLACKBOX::RANGE [(_47, 1)] []", - "BLACKBOX::RANGE [(_48, 64)] []", - "EXPR [ (1, _44) (-18446744073709551616, _47) (-1, _48) 9223372036854775808 ]", - "EXPR [ (1, _45) (-1, _47) (-1, _49) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _49) 0 ]], outputs: [_50]", - "EXPR [ (1, _49, _50) (1, _51) -1 ]", - "EXPR [ (1, _49, _51) 0 ]", - "EXPR [ (1, _45, _51) (-1, _45) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _44) 18446744073709551553 ], EXPR [ 18446744073709551616 ]], outputs: [_52, _53]", - "BLACKBOX::RANGE [(_53, 64)] []", - "EXPR [ (1, _44) (-18446744073709551616, _52) (-1, _53) 18446744073709551553 ]", - "EXPR [ (-1, _52) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _44) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_54, _55, _56, _57, _58, _59, _60]]", + "EXPR [ (1, _40) (-18446744073709551616, _43) (-1, _44) 9223372036854775808 ]", + "EXPR [ (1, _41) (-1, _43) (-1, _45) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _45) 0 ]], outputs: [_46]", + "EXPR [ (1, _45, _46) (1, _47) -1 ]", + "EXPR [ (1, _45, _47) 0 ]", + "EXPR [ (1, _41, _47) (-1, _41) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _40) 18446744073709551553 ], EXPR [ 18446744073709551616 ]], outputs: [_48, _49]", + "BLACKBOX::RANGE [(_49, 64)] []", + "EXPR [ (1, _40) (-18446744073709551616, _48) (-1, _49) 18446744073709551553 ]", + "EXPR [ (-1, _48) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _40) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_50, _51, _52, _53, _54, _55]]", + "BLACKBOX::RANGE [(_50, 1)] []", + "BLACKBOX::RANGE [(_51, 1)] []", + "BLACKBOX::RANGE [(_52, 1)] []", + "BLACKBOX::RANGE [(_53, 1)] []", "BLACKBOX::RANGE [(_54, 1)] []", "BLACKBOX::RANGE [(_55, 1)] []", - "BLACKBOX::RANGE [(_56, 1)] []", - "BLACKBOX::RANGE [(_57, 1)] []", - "BLACKBOX::RANGE [(_58, 1)] []", - "BLACKBOX::RANGE [(_59, 1)] []", - "BLACKBOX::RANGE [(_60, 1)] []", - "EXPR [ (1, _44) (-1, _54) (-2, _55) (-4, _56) (-8, _57) (-16, _58) (-32, _59) (-64, _60) 0 ]", - "EXPR [ (1, _60, _60) (2, _60) (-1, _61) 1 ]", - "EXPR [ (-1, _59) (-1, _62) 1 ]", - "EXPR [ (2, _59, _61) (1, _61, _62) (-1, _63) 0 ]", - "EXPR [ (1, _63, _63) (-1, _64) 0 ]", - "EXPR [ (-1, _58) (-1, _65) 1 ]", - "EXPR [ (2, _58, _64) (1, _64, _65) (-1, _66) 0 ]", - "EXPR [ (1, _66, _66) (-1, _67) 0 ]", - "EXPR [ (-1, _57) (-1, _68) 1 ]", - "EXPR [ (2, _57, _67) (1, _67, _68) (-1, _69) 0 ]", - "EXPR [ (1, _69, _69) (-1, _70) 0 ]", - "EXPR [ (-1, _56) (-1, _71) 1 ]", - "EXPR [ (2, _56, _70) (1, _70, _71) (-1, _72) 0 ]", - "EXPR [ (1, _72, _72) (-1, _73) 0 ]", - "EXPR [ (-1, _55) (-1, _74) 1 ]", - "EXPR [ (2, _55, _73) (1, _73, _74) (-1, _75) 0 ]", - "EXPR [ (1, _75, _75) (-1, _76) 0 ]", - "EXPR [ (-1, _54) (-1, _77) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_78, _79]", + "EXPR [ (1, _40) (-1, _50) (-2, _51) (-4, _52) (-8, _53) (-16, _54) (-32, _55) 0 ]", + "EXPR [ (1, _55, _55) (2, _55) (-1, _56) 1 ]", + "EXPR [ (-1, _54) (-1, _57) 1 ]", + "EXPR [ (2, _54, _56) (1, _56, _57) (-1, _58) 0 ]", + "EXPR [ (1, _58, _58) (-1, _59) 0 ]", + "EXPR [ (-1, _53) (-1, _60) 1 ]", + "EXPR [ (2, _53, _59) (1, _59, _60) (-1, _61) 0 ]", + "EXPR [ (1, _61, _61) (-1, _62) 0 ]", + "EXPR [ (-1, _52) (-1, _63) 1 ]", + "EXPR [ (2, _52, _62) (1, _62, _63) (-1, _64) 0 ]", + "EXPR [ (1, _64, _64) (-1, _65) 0 ]", + "EXPR [ (-1, _51) (-1, _66) 1 ]", + "EXPR [ (2, _51, _65) (1, _65, _66) (-1, _67) 0 ]", + "EXPR [ (1, _67, _67) (-1, _68) 0 ]", + "EXPR [ (-1, _50) (-1, _69) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_70, _71]", + "BLACKBOX::RANGE [(_70, 1)] []", + "BLACKBOX::RANGE [(_71, 63)] []", + "EXPR [ (1, _3) (-9223372036854775808, _70) (-1, _71) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 36893488147419103232 ], EXPR [ 36893488147419103232 ]], outputs: [_72, _73]", + "BLACKBOX::RANGE [(_72, 1)] []", + "BLACKBOX::RANGE [(_73, 65)] []", + "EXPR [ (1, _3) (-36893488147419103232, _72) (-1, _73) 36893488147419103232 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _72, _70) (1, _3) (-1, _70) (-1, _72) 1 ], EXPR [ 18446744073709551616 ]], outputs: [_74, _75]", + "BLACKBOX::RANGE [(_74, 1)] []", + "BLACKBOX::RANGE [(_75, 64)] []", + "EXPR [ (2, _70, _72) (1, _3) (-1, _70) (-1, _72) (-18446744073709551616, _74) (-1, _75) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _68, _50) (1, _68, _69) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_76, _77]", + "BLACKBOX::RANGE [(_76, 1)] []", + "BLACKBOX::RANGE [(_77, 63)] []", + "EXPR [ (2, _50, _68) (-1, _350) 0 ]", + "EXPR [ (1, _68, _69) (-1, _351) 0 ]", + "EXPR [ (-9223372036854775808, _76) (-1, _77) (1, _350) (1, _351) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _75) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_78, _79]", "BLACKBOX::RANGE [(_78, 1)] []", "BLACKBOX::RANGE [(_79, 63)] []", - "EXPR [ (1, _3) (-9223372036854775808, _78) (-1, _79) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _3) 36893488147419103232 ], EXPR [ 36893488147419103232 ]], outputs: [_80, _81]", - "BLACKBOX::RANGE [(_80, 1)] []", - "BLACKBOX::RANGE [(_81, 65)] []", - "EXPR [ (1, _3) (-36893488147419103232, _80) (-1, _81) 36893488147419103232 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _80, _78) (1, _3) (-1, _78) (-1, _80) 1 ], EXPR [ 18446744073709551616 ]], outputs: [_82, _83]", - "BLACKBOX::RANGE [(_82, 1)] []", + "EXPR [ (1, _75) (-9223372036854775808, _78) (-1, _79) 0 ]", + "EXPR [ (-1, _80) (-1, _350) (-1, _351) 9223372036854775808 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _68, _50) (1, _68, _69) (2, _80, _76) 0 ]], outputs: [_81]", + "EXPR [ (2, _76, _80) (-1, _82) (1, _350) (1, _351) 0 ]", + "EXPR [ (1, _81, _82) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _75, _78) (1, _75) (18446744073709551616, _78) 0 ], EXPR [ (1, _82) 0 ]], outputs: [_83, _84]", "BLACKBOX::RANGE [(_83, 64)] []", - "EXPR [ (2, _78, _80) (1, _3) (-1, _78) (-1, _80) (-18446744073709551616, _82) (-1, _83) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _76, _54) (1, _76, _77) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_84, _85]", - "BLACKBOX::RANGE [(_84, 1)] []", - "BLACKBOX::RANGE [(_85, 63)] []", - "EXPR [ (2, _54, _76) (-1, _378) 0 ]", - "EXPR [ (1, _76, _77) (-1, _379) 0 ]", - "EXPR [ (-9223372036854775808, _84) (-1, _85) (1, _378) (1, _379) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _83) 0 ], EXPR [ 9223372036854775808 ]], outputs: [_86, _87]", - "BLACKBOX::RANGE [(_86, 1)] []", - "BLACKBOX::RANGE [(_87, 63)] []", - "EXPR [ (1, _83) (-9223372036854775808, _86) (-1, _87) 0 ]", - "EXPR [ (-1, _88) (-1, _378) (-1, _379) 9223372036854775808 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _76, _54) (1, _76, _77) (2, _88, _84) 0 ]], outputs: [_89]", - "EXPR [ (2, _84, _88) (-1, _90) (1, _378) (1, _379) 0 ]", - "EXPR [ (1, _89, _90) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _83, _86) (1, _83) (18446744073709551616, _86) 0 ], EXPR [ (1, _90) 0 ]], outputs: [_91, _92]", - "BLACKBOX::RANGE [(_91, 64)] []", - "BLACKBOX::RANGE [(_92, 64)] []", - "EXPR [ (1, _90) (-1, _92) (-1, _93) -1 ]", - "BLACKBOX::RANGE [(_93, 64)] []", - "EXPR [ (-2, _83, _86) (-1, _90, _91) (1, _83) (18446744073709551616, _86) (-1, _92) 0 ]", - "EXPR [ (-1, _91) (-1, _94) 9223372036854775808 ]", - "EXPR [ (-2, _84, _86) (1, _84) (1, _86) (-1, _95) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _91) 0 ]], outputs: [_96]", - "EXPR [ (1, _91, _96) (1, _97) -1 ]", - "EXPR [ (1, _91, _97) 0 ]", - "EXPR [ (2, _94, _95) (1, _91) (-1, _98) 0 ]", - "EXPR [ (-1, _97) (-1, _99) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _92) 0 ]], outputs: [_100]", - "EXPR [ (1, _92, _100) (1, _101) -1 ]", - "EXPR [ (1, _92, _101) 0 ]", - "EXPR [ (-2, _86, _92) (18446744073709551616, _86) (1, _92) (-1, _102) 0 ]", - "EXPR [ (-1, _101) (-1, _103) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _80, _78) (1, _98, _99) (1, _78) (1, _80) 36893488147419103231 ], EXPR [ 18446744073709551616 ]], outputs: [_104, _105]", - "BLACKBOX::RANGE [(_104, 2)] []", - "EXPR [ (-2, _78, _80) (1, _98, _99) (1, _78) (1, _80) (-18446744073709551616, _104) (-1, _105) 36893488147419103231 ]", - "EXPR [ (1, _105) -18446744073709551615 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 256 ]], outputs: [_106, _107]", - "BLACKBOX::RANGE [(_106, 56)] []", - "BLACKBOX::RANGE [(_107, 8)] []", - "EXPR [ (1, _1) (-256, _106) (-1, _107) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 256 ]], outputs: [_108, _109]", - "BLACKBOX::RANGE [(_108, 56)] []", - "BLACKBOX::RANGE [(_109, 8)] []", - "EXPR [ (1, _0) (-256, _108) (-1, _109) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _109) 0 ], EXPR [ 256 ]], outputs: [_110, _111]", + "BLACKBOX::RANGE [(_84, 64)] []", + "EXPR [ (1, _82) (-1, _84) (-1, _85) -1 ]", + "BLACKBOX::RANGE [(_85, 64)] []", + "EXPR [ (-2, _75, _78) (-1, _82, _83) (1, _75) (18446744073709551616, _78) (-1, _84) 0 ]", + "EXPR [ (-1, _83) (-1, _86) 9223372036854775808 ]", + "EXPR [ (-2, _76, _78) (1, _76) (1, _78) (-1, _87) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _83) 0 ]], outputs: [_88]", + "EXPR [ (1, _83, _88) (1, _89) -1 ]", + "EXPR [ (1, _83, _89) 0 ]", + "EXPR [ (2, _86, _87) (1, _83) (-1, _90) 0 ]", + "EXPR [ (-1, _89) (-1, _91) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _84) 0 ]], outputs: [_92]", + "EXPR [ (1, _84, _92) (1, _93) -1 ]", + "EXPR [ (1, _84, _93) 0 ]", + "EXPR [ (-2, _78, _84) (18446744073709551616, _78) (1, _84) (-1, _94) 0 ]", + "EXPR [ (-1, _93) (-1, _95) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _72, _70) (1, _90, _91) (1, _70) (1, _72) 36893488147419103231 ], EXPR [ 18446744073709551616 ]], outputs: [_96, _97]", + "BLACKBOX::RANGE [(_96, 2)] []", + "EXPR [ (-2, _70, _72) (1, _90, _91) (1, _70) (1, _72) (-18446744073709551616, _96) (-1, _97) 36893488147419103231 ]", + "EXPR [ (1, _97) -18446744073709551615 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 256 ]], outputs: [_98, _99]", + "BLACKBOX::RANGE [(_98, 56)] []", + "BLACKBOX::RANGE [(_99, 8)] []", + "EXPR [ (1, _1) (-256, _98) (-1, _99) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 256 ]], outputs: [_100, _101]", + "BLACKBOX::RANGE [(_100, 56)] []", + "BLACKBOX::RANGE [(_101, 8)] []", + "EXPR [ (1, _0) (-256, _100) (-1, _101) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _101) 0 ], EXPR [ 256 ]], outputs: [_102, _103]", + "BLACKBOX::RANGE [(_102, 1)] []", + "BLACKBOX::RANGE [(_103, 8)] []", + "EXPR [ (2, _101) (-256, _102) (-1, _103) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _103) 0 ], EXPR [ 256 ]], outputs: [_104, _105]", + "BLACKBOX::RANGE [(_104, 1)] []", + "EXPR [ (1, _103) (-256, _104) (-1, _105) 0 ]", + "EXPR [ (1, _105) -128 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _101) 0 ], EXPR [ 128 ]], outputs: [_106, _107]", + "BLACKBOX::RANGE [(_106, 1)] []", + "BLACKBOX::RANGE [(_107, 7)] []", + "EXPR [ (1, _101) (-128, _106) (-1, _107) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _101) 512 ], EXPR [ 512 ]], outputs: [_108, _109]", + "BLACKBOX::RANGE [(_108, 1)] []", + "BLACKBOX::RANGE [(_109, 9)] []", + "EXPR [ (1, _101) (-512, _108) (-1, _109) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _108, _106) (1, _101) (-1, _106) (-1, _108) 1 ], EXPR [ 256 ]], outputs: [_110, _111]", "BLACKBOX::RANGE [(_110, 1)] []", "BLACKBOX::RANGE [(_111, 8)] []", - "EXPR [ (2, _109) (-256, _110) (-1, _111) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 256 ]], outputs: [_112, _113]", + "EXPR [ (2, _106, _108) (1, _101) (-1, _106) (-1, _108) (-256, _110) (-1, _111) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 128 ]], outputs: [_112, _113]", "BLACKBOX::RANGE [(_112, 1)] []", - "EXPR [ (1, _111) (-256, _112) (-1, _113) 0 ]", - "EXPR [ (1, _113) -128 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _109) 0 ], EXPR [ 128 ]], outputs: [_114, _115]", - "BLACKBOX::RANGE [(_114, 1)] []", - "BLACKBOX::RANGE [(_115, 7)] []", - "EXPR [ (1, _109) (-128, _114) (-1, _115) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _109) 512 ], EXPR [ 512 ]], outputs: [_116, _117]", - "BLACKBOX::RANGE [(_116, 1)] []", - "BLACKBOX::RANGE [(_117, 9)] []", - "EXPR [ (1, _109) (-512, _116) (-1, _117) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _116, _114) (1, _109) (-1, _114) (-1, _116) 1 ], EXPR [ 256 ]], outputs: [_118, _119]", - "BLACKBOX::RANGE [(_118, 1)] []", - "BLACKBOX::RANGE [(_119, 8)] []", - "EXPR [ (2, _114, _116) (1, _109) (-1, _114) (-1, _116) (-256, _118) (-1, _119) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _119) 0 ], EXPR [ 128 ]], outputs: [_120, _121]", - "BLACKBOX::RANGE [(_120, 1)] []", - "BLACKBOX::RANGE [(_121, 7)] []", - "EXPR [ (1, _119) (-128, _120) (-1, _121) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _119, _120) (1, _119) (256, _120) 0 ], EXPR [ 4 ]], outputs: [_122, _123]", - "BLACKBOX::RANGE [(_122, 6)] []", - "BLACKBOX::RANGE [(_123, 2)] []", - "EXPR [ (-2, _119, _120) (1, _119) (256, _120) (-4, _122) (-1, _123) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _122) 0 ]], outputs: [_124]", - "EXPR [ (1, _122, _124) (1, _125) -1 ]", - "EXPR [ (1, _122, _125) 0 ]", - "EXPR [ (-2, _120, _122) (256, _120) (1, _122) (-1, _126) 0 ]", - "EXPR [ (-1, _125) (-1, _127) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _123) 0 ]], outputs: [_128]", - "EXPR [ (1, _123, _128) (1, _129) -1 ]", - "EXPR [ (1, _123, _129) 0 ]", - "EXPR [ (-2, _120, _123) (256, _120) (1, _123) (-1, _130) 0 ]", - "EXPR [ (-1, _129) (-1, _131) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _116, _114) (1, _126, _127) (1, _114) (1, _116) 511 ], EXPR [ 256 ]], outputs: [_132, _133]", - "BLACKBOX::RANGE [(_132, 2)] []", - "EXPR [ (-2, _114, _116) (1, _126, _127) (1, _114) (1, _116) (-256, _132) (-1, _133) 511 ]", - "EXPR [ (1, _133) -16 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _107) 249 ], EXPR [ 256 ]], outputs: [_134, _135]", - "BLACKBOX::RANGE [(_135, 8)] []", - "EXPR [ (1, _107) (-256, _134) (-1, _135) 249 ]", - "EXPR [ (-1, _134) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _107) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_136, _137, _138, _139]]", + "BLACKBOX::RANGE [(_113, 7)] []", + "EXPR [ (1, _111) (-128, _112) (-1, _113) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _111, _112) (1, _111) (256, _112) 0 ], EXPR [ 4 ]], outputs: [_114, _115]", + "BLACKBOX::RANGE [(_114, 6)] []", + "BLACKBOX::RANGE [(_115, 2)] []", + "EXPR [ (-2, _111, _112) (1, _111) (256, _112) (-4, _114) (-1, _115) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _114) 0 ]], outputs: [_116]", + "EXPR [ (1, _114, _116) (1, _117) -1 ]", + "EXPR [ (1, _114, _117) 0 ]", + "EXPR [ (-2, _112, _114) (256, _112) (1, _114) (-1, _118) 0 ]", + "EXPR [ (-1, _117) (-1, _119) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _115) 0 ]], outputs: [_120]", + "EXPR [ (1, _115, _120) (1, _121) -1 ]", + "EXPR [ (1, _115, _121) 0 ]", + "EXPR [ (-2, _112, _115) (256, _112) (1, _115) (-1, _122) 0 ]", + "EXPR [ (-1, _121) (-1, _123) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _108, _106) (1, _118, _119) (1, _106) (1, _108) 511 ], EXPR [ 256 ]], outputs: [_124, _125]", + "BLACKBOX::RANGE [(_124, 2)] []", + "EXPR [ (-2, _106, _108) (1, _118, _119) (1, _106) (1, _108) (-256, _124) (-1, _125) 511 ]", + "EXPR [ (1, _125) -16 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _99) 249 ], EXPR [ 256 ]], outputs: [_126, _127]", + "BLACKBOX::RANGE [(_127, 8)] []", + "EXPR [ (1, _99) (-256, _126) (-1, _127) 249 ]", + "EXPR [ (-1, _126) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _99) 0 ], EXPR [ 3 ], EXPR [ 2 ]], outputs: [[_128, _129, _130]]", + "BLACKBOX::RANGE [(_128, 1)] []", + "BLACKBOX::RANGE [(_129, 1)] []", + "BLACKBOX::RANGE [(_130, 1)] []", + "EXPR [ (1, _99) (-1, _128) (-2, _129) (-4, _130) 0 ]", + "EXPR [ (1, _130, _130) (2, _130) (-1, _131) 1 ]", + "EXPR [ (-1, _129) (-1, _132) 1 ]", + "EXPR [ (2, _129, _131) (1, _131, _132) (-1, _133) 0 ]", + "EXPR [ (1, _133, _133) (-1, _134) 0 ]", + "EXPR [ (-1, _128) (-1, _135) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _134, _128) (1, _134, _135) 0 ], EXPR [ 128 ]], outputs: [_136, _137]", "BLACKBOX::RANGE [(_136, 1)] []", - "BLACKBOX::RANGE [(_137, 1)] []", + "BLACKBOX::RANGE [(_137, 7)] []", + "EXPR [ (2, _128, _134) (-1, _360) 0 ]", + "EXPR [ (1, _134, _135) (-1, _361) 0 ]", + "EXPR [ (-128, _136) (-1, _137) (1, _360) (1, _361) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _111) 0 ], EXPR [ 128 ]], outputs: [_138, _139]", "BLACKBOX::RANGE [(_138, 1)] []", - "BLACKBOX::RANGE [(_139, 1)] []", - "EXPR [ (1, _107) (-1, _136) (-2, _137) (-4, _138) (-8, _139) 0 ]", - "EXPR [ (1, _139, _139) (2, _139) (-1, _140) 1 ]", - "EXPR [ (-1, _138) (-1, _141) 1 ]", - "EXPR [ (2, _138, _140) (1, _140, _141) (-1, _142) 0 ]", - "EXPR [ (1, _142, _142) (-1, _143) 0 ]", - "EXPR [ (-1, _137) (-1, _144) 1 ]", - "EXPR [ (2, _137, _143) (1, _143, _144) (-1, _145) 0 ]", - "EXPR [ (1, _145, _145) (-1, _146) 0 ]", - "EXPR [ (-1, _136) (-1, _147) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _146, _136) (1, _146, _147) 0 ], EXPR [ 128 ]], outputs: [_148, _149]", - "BLACKBOX::RANGE [(_148, 1)] []", - "BLACKBOX::RANGE [(_149, 7)] []", - "EXPR [ (2, _136, _146) (-1, _391) 0 ]", - "EXPR [ (1, _146, _147) (-1, _392) 0 ]", - "EXPR [ (-128, _148) (-1, _149) (1, _391) (1, _392) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _119) 0 ], EXPR [ 128 ]], outputs: [_150, _151]", - "BLACKBOX::RANGE [(_150, 1)] []", - "BLACKBOX::RANGE [(_151, 7)] []", - "EXPR [ (1, _119) (-128, _150) (-1, _151) 0 ]", - "EXPR [ (-1, _152) (-1, _391) (-1, _392) 128 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _146, _136) (1, _146, _147) (2, _152, _148) 0 ]], outputs: [_153]", - "EXPR [ (2, _148, _152) (-1, _154) (1, _391) (1, _392) 0 ]", - "EXPR [ (1, _153, _154) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _119, _150) (1, _119) (256, _150) 0 ], EXPR [ (1, _154) 0 ]], outputs: [_155, _156]", - "BLACKBOX::RANGE [(_155, 8)] []", - "BLACKBOX::RANGE [(_156, 8)] []", - "EXPR [ (1, _154) (-1, _156) (-1, _157) -1 ]", - "BLACKBOX::RANGE [(_157, 8)] []", - "EXPR [ (-2, _119, _150) (-1, _154, _155) (1, _119) (256, _150) (-1, _156) 0 ]", - "EXPR [ (-1, _155) (-1, _158) 128 ]", - "EXPR [ (-2, _148, _150) (1, _148) (1, _150) (-1, _159) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _155) 0 ]], outputs: [_160]", - "EXPR [ (1, _155, _160) (1, _161) -1 ]", - "EXPR [ (1, _155, _161) 0 ]", - "EXPR [ (2, _158, _159) (1, _155) (-1, _162) 0 ]", - "EXPR [ (-1, _161) (-1, _163) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _156) 0 ]], outputs: [_164]", - "EXPR [ (1, _156, _164) (1, _165) -1 ]", - "EXPR [ (1, _156, _165) 0 ]", - "EXPR [ (-2, _150, _156) (256, _150) (1, _156) (-1, _166) 0 ]", - "EXPR [ (-1, _165) (-1, _167) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _116, _114) (1, _162, _163) (1, _114) (1, _116) 511 ], EXPR [ 256 ]], outputs: [_168, _169]", + "BLACKBOX::RANGE [(_139, 7)] []", + "EXPR [ (1, _111) (-128, _138) (-1, _139) 0 ]", + "EXPR [ (-1, _140) (-1, _360) (-1, _361) 128 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _134, _128) (1, _134, _135) (2, _140, _136) 0 ]], outputs: [_141]", + "EXPR [ (2, _136, _140) (-1, _142) (1, _360) (1, _361) 0 ]", + "EXPR [ (1, _141, _142) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _111, _138) (1, _111) (256, _138) 0 ], EXPR [ (1, _142) 0 ]], outputs: [_143, _144]", + "BLACKBOX::RANGE [(_143, 8)] []", + "BLACKBOX::RANGE [(_144, 8)] []", + "EXPR [ (1, _142) (-1, _144) (-1, _145) -1 ]", + "BLACKBOX::RANGE [(_145, 8)] []", + "EXPR [ (-2, _111, _138) (-1, _142, _143) (1, _111) (256, _138) (-1, _144) 0 ]", + "EXPR [ (-1, _143) (-1, _146) 128 ]", + "EXPR [ (-2, _136, _138) (1, _136) (1, _138) (-1, _147) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _143) 0 ]], outputs: [_148]", + "EXPR [ (1, _143, _148) (1, _149) -1 ]", + "EXPR [ (1, _143, _149) 0 ]", + "EXPR [ (2, _146, _147) (1, _143) (-1, _150) 0 ]", + "EXPR [ (-1, _149) (-1, _151) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _144) 0 ]], outputs: [_152]", + "EXPR [ (1, _144, _152) (1, _153) -1 ]", + "EXPR [ (1, _144, _153) 0 ]", + "EXPR [ (-2, _138, _144) (256, _138) (1, _144) (-1, _154) 0 ]", + "EXPR [ (-1, _153) (-1, _155) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _108, _106) (1, _150, _151) (1, _106) (1, _108) 511 ], EXPR [ 256 ]], outputs: [_156, _157]", + "BLACKBOX::RANGE [(_156, 2)] []", + "EXPR [ (-2, _106, _108) (1, _150, _151) (1, _106) (1, _108) (-256, _156) (-1, _157) 511 ]", + "EXPR [ (1, _157) -32 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _99) 512 ], EXPR [ 256 ]], outputs: [_158, _159]", + "BLACKBOX::RANGE [(_158, 2)] []", + "BLACKBOX::RANGE [(_159, 8)] []", + "EXPR [ (-1, _99) (-256, _158) (-1, _159) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _99) 128 ], EXPR [ 256 ]], outputs: [_160, _161]", + "BLACKBOX::RANGE [(_160, 1)] []", + "BLACKBOX::RANGE [(_161, 8)] []", + "EXPR [ (1, _99) (-256, _160) (-1, _161) 128 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _159) 128 ], EXPR [ 256 ]], outputs: [_162, _163]", + "BLACKBOX::RANGE [(_162, 1)] []", + "BLACKBOX::RANGE [(_163, 8)] []", + "EXPR [ (1, _159) (-256, _162) (-1, _163) 128 ]", + "EXPR [ (-1, _160, _162) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (64, _159) 0 ], EXPR [ 256 ]], outputs: [_164, _165]", + "BLACKBOX::RANGE [(_164, 6)] []", + "BLACKBOX::RANGE [(_165, 8)] []", + "EXPR [ (64, _159) (-256, _164) (-1, _165) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _165) 0 ], EXPR [ 256 ]], outputs: [_166, _167]", + "BLACKBOX::RANGE [(_166, 1)] []", + "EXPR [ (1, _165) (-256, _166) (-1, _167) 0 ]", + "EXPR [ (1, _167) -192 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _159) 512 ], EXPR [ 256 ]], outputs: [_168, _169]", "BLACKBOX::RANGE [(_168, 2)] []", - "EXPR [ (-2, _114, _116) (1, _162, _163) (1, _114) (1, _116) (-256, _168) (-1, _169) 511 ]", - "EXPR [ (1, _169) -32 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _107) 512 ], EXPR [ 256 ]], outputs: [_170, _171]", - "BLACKBOX::RANGE [(_170, 2)] []", + "BLACKBOX::RANGE [(_169, 8)] []", + "EXPR [ (-1, _159) (-256, _168) (-1, _169) 512 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _169) 128 ], EXPR [ 256 ]], outputs: [_170, _171]", + "BLACKBOX::RANGE [(_170, 1)] []", "BLACKBOX::RANGE [(_171, 8)] []", - "EXPR [ (-1, _107) (-256, _170) (-1, _171) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _107) 128 ], EXPR [ 256 ]], outputs: [_172, _173]", - "BLACKBOX::RANGE [(_172, 1)] []", + "EXPR [ (1, _169) (-256, _170) (-1, _171) 128 ]", + "EXPR [ (-1, _162, _170) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _169) 249 ], EXPR [ 256 ]], outputs: [_172, _173]", "BLACKBOX::RANGE [(_173, 8)] []", - "EXPR [ (1, _107) (-256, _172) (-1, _173) 128 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _171) 128 ], EXPR [ 256 ]], outputs: [_174, _175]", + "EXPR [ (1, _169) (-256, _172) (-1, _173) 249 ]", + "EXPR [ (-1, _172) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _169) 0 ], EXPR [ 3 ], EXPR [ 2 ]], outputs: [[_174, _175, _176]]", "BLACKBOX::RANGE [(_174, 1)] []", - "BLACKBOX::RANGE [(_175, 8)] []", - "EXPR [ (1, _171) (-256, _174) (-1, _175) 128 ]", - "EXPR [ (-1, _172, _174) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (64, _171) 0 ], EXPR [ 256 ]], outputs: [_176, _177]", - "BLACKBOX::RANGE [(_176, 6)] []", - "BLACKBOX::RANGE [(_177, 8)] []", - "EXPR [ (64, _171) (-256, _176) (-1, _177) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _177) 0 ], EXPR [ 256 ]], outputs: [_178, _179]", - "BLACKBOX::RANGE [(_178, 1)] []", - "EXPR [ (1, _177) (-256, _178) (-1, _179) 0 ]", - "EXPR [ (1, _179) -192 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _171) 512 ], EXPR [ 256 ]], outputs: [_180, _181]", - "BLACKBOX::RANGE [(_180, 2)] []", - "BLACKBOX::RANGE [(_181, 8)] []", - "EXPR [ (-1, _171) (-256, _180) (-1, _181) 512 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _181) 128 ], EXPR [ 256 ]], outputs: [_182, _183]", - "BLACKBOX::RANGE [(_182, 1)] []", + "BLACKBOX::RANGE [(_175, 1)] []", + "BLACKBOX::RANGE [(_176, 1)] []", + "EXPR [ (1, _169) (-1, _174) (-2, _175) (-4, _176) 0 ]", + "EXPR [ (1, _176, _176) (2, _176) (-1, _177) 1 ]", + "EXPR [ (-1, _175) (-1, _178) 1 ]", + "EXPR [ (2, _175, _177) (1, _177, _178) (-1, _179) 0 ]", + "EXPR [ (1, _179, _179) (-1, _180) 0 ]", + "EXPR [ (-1, _174) (-1, _181) 1 ]", + "EXPR [ (2, _174, _180) (1, _180, _181) (-1, _182) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _159, _182) 0 ], EXPR [ 256 ]], outputs: [_183, _184]", "BLACKBOX::RANGE [(_183, 8)] []", - "EXPR [ (1, _181) (-256, _182) (-1, _183) 128 ]", - "EXPR [ (-1, _174, _182) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _181) 249 ], EXPR [ 256 ]], outputs: [_184, _185]", - "BLACKBOX::RANGE [(_185, 8)] []", - "EXPR [ (1, _181) (-256, _184) (-1, _185) 249 ]", - "EXPR [ (-1, _184) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _181) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_186, _187, _188, _189]]", - "BLACKBOX::RANGE [(_186, 1)] []", - "BLACKBOX::RANGE [(_187, 1)] []", - "BLACKBOX::RANGE [(_188, 1)] []", - "BLACKBOX::RANGE [(_189, 1)] []", - "EXPR [ (1, _181) (-1, _186) (-2, _187) (-4, _188) (-8, _189) 0 ]", - "EXPR [ (1, _189, _189) (2, _189) (-1, _190) 1 ]", - "EXPR [ (-1, _188) (-1, _191) 1 ]", - "EXPR [ (2, _188, _190) (1, _190, _191) (-1, _192) 0 ]", - "EXPR [ (1, _192, _192) (-1, _193) 0 ]", - "EXPR [ (-1, _187) (-1, _194) 1 ]", - "EXPR [ (2, _187, _193) (1, _193, _194) (-1, _195) 0 ]", - "EXPR [ (1, _195, _195) (-1, _196) 0 ]", - "EXPR [ (-1, _186) (-1, _197) 1 ]", - "EXPR [ (2, _186, _196) (1, _196, _197) (-1, _198) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _171, _198) 0 ], EXPR [ 256 ]], outputs: [_199, _200]", - "BLACKBOX::RANGE [(_199, 8)] []", - "BLACKBOX::RANGE [(_200, 8)] []", - "EXPR [ (1, _171, _198) (-256, _199) (-1, _200) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _200) 0 ], EXPR [ 256 ]], outputs: [_201, _202]", - "BLACKBOX::RANGE [(_201, 1)] []", - "EXPR [ (1, _200) (-256, _201) (-1, _202) 0 ]", - "EXPR [ (1, _202) -254 ]", - "EXPR [ (1, _0) (-1, _203) -1 ]", - "BLACKBOX::RANGE [(_203, 64)] []", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _203) 18446744073709551552 ], EXPR [ 18446744073709551616 ]], outputs: [_204, _205]", - "BLACKBOX::RANGE [(_205, 64)] []", - "EXPR [ (1, _203) (-18446744073709551616, _204) (-1, _205) 18446744073709551552 ]", - "EXPR [ (-1, _204) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _203) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_206, _207, _208, _209, _210, _211, _212]]", - "BLACKBOX::RANGE [(_206, 1)] []", - "BLACKBOX::RANGE [(_207, 1)] []", - "BLACKBOX::RANGE [(_208, 1)] []", - "BLACKBOX::RANGE [(_209, 1)] []", - "BLACKBOX::RANGE [(_210, 1)] []", - "BLACKBOX::RANGE [(_211, 1)] []", - "BLACKBOX::RANGE [(_212, 1)] []", - "EXPR [ (1, _203) (-1, _206) (-2, _207) (-4, _208) (-8, _209) (-16, _210) (-32, _211) (-64, _212) 0 ]", - "EXPR [ (1, _212, _212) (2, _212) (-1, _213) 1 ]", - "EXPR [ (-1, _211) (-1, _214) 1 ]", - "EXPR [ (2, _211, _213) (1, _213, _214) (-1, _215) 0 ]", - "EXPR [ (1, _215, _215) (-1, _216) 0 ]", - "EXPR [ (-1, _210) (-1, _217) 1 ]", - "EXPR [ (2, _210, _216) (1, _216, _217) (-1, _218) 0 ]", - "EXPR [ (1, _218, _218) (-1, _219) 0 ]", - "EXPR [ (-1, _209) (-1, _220) 1 ]", - "EXPR [ (2, _209, _219) (1, _219, _220) (-1, _221) 0 ]", - "EXPR [ (1, _221, _221) (-1, _222) 0 ]", - "EXPR [ (-1, _208) (-1, _223) 1 ]", - "EXPR [ (2, _208, _222) (1, _222, _223) (-1, _224) 0 ]", - "EXPR [ (1, _224, _224) (-1, _225) 0 ]", - "EXPR [ (-1, _207) (-1, _226) 1 ]", - "EXPR [ (2, _207, _225) (1, _225, _226) (-1, _227) 0 ]", - "EXPR [ (1, _227, _227) (-1, _228) 0 ]", - "EXPR [ (-1, _206) (-1, _229) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _228, _206) (1, _228, _229) 0 ]], outputs: [_230]", - "EXPR [ (2, _206, _228) (1, _228, _229) (-1, _231) 0 ]", - "EXPR [ (1, _230, _231) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _231) 0 ]], outputs: [_232, _233]", - "BLACKBOX::RANGE [(_233, 64)] []", - "EXPR [ (1, _231) (-1, _233) (-1, _234) -1 ]", - "BLACKBOX::RANGE [(_234, 64)] []", - "EXPR [ (-1, _231, _232) (1, _0) (-1, _233) 0 ]", - "EXPR [ (1, _232) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 32768 ]], outputs: [_235, _236]", + "BLACKBOX::RANGE [(_184, 8)] []", + "EXPR [ (1, _159, _182) (-256, _183) (-1, _184) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _184) 0 ], EXPR [ 256 ]], outputs: [_185, _186]", + "BLACKBOX::RANGE [(_185, 1)] []", + "EXPR [ (1, _184) (-256, _185) (-1, _186) 0 ]", + "EXPR [ (1, _186) -254 ]", + "EXPR [ (1, _0) (-1, _187) -1 ]", + "BLACKBOX::RANGE [(_187, 64)] []", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _187) 18446744073709551552 ], EXPR [ 18446744073709551616 ]], outputs: [_188, _189]", + "BLACKBOX::RANGE [(_189, 64)] []", + "EXPR [ (1, _187) (-18446744073709551616, _188) (-1, _189) 18446744073709551552 ]", + "EXPR [ (-1, _188) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _187) 0 ], EXPR [ 6 ], EXPR [ 2 ]], outputs: [[_190, _191, _192, _193, _194, _195]]", + "BLACKBOX::RANGE [(_190, 1)] []", + "BLACKBOX::RANGE [(_191, 1)] []", + "BLACKBOX::RANGE [(_192, 1)] []", + "BLACKBOX::RANGE [(_193, 1)] []", + "BLACKBOX::RANGE [(_194, 1)] []", + "BLACKBOX::RANGE [(_195, 1)] []", + "EXPR [ (1, _187) (-1, _190) (-2, _191) (-4, _192) (-8, _193) (-16, _194) (-32, _195) 0 ]", + "EXPR [ (1, _195, _195) (2, _195) (-1, _196) 1 ]", + "EXPR [ (-1, _194) (-1, _197) 1 ]", + "EXPR [ (2, _194, _196) (1, _196, _197) (-1, _198) 0 ]", + "EXPR [ (1, _198, _198) (-1, _199) 0 ]", + "EXPR [ (-1, _193) (-1, _200) 1 ]", + "EXPR [ (2, _193, _199) (1, _199, _200) (-1, _201) 0 ]", + "EXPR [ (1, _201, _201) (-1, _202) 0 ]", + "EXPR [ (-1, _192) (-1, _203) 1 ]", + "EXPR [ (2, _192, _202) (1, _202, _203) (-1, _204) 0 ]", + "EXPR [ (1, _204, _204) (-1, _205) 0 ]", + "EXPR [ (-1, _191) (-1, _206) 1 ]", + "EXPR [ (2, _191, _205) (1, _205, _206) (-1, _207) 0 ]", + "EXPR [ (1, _207, _207) (-1, _208) 0 ]", + "EXPR [ (-1, _190) (-1, _209) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _208, _190) (1, _208, _209) 0 ]], outputs: [_210]", + "EXPR [ (2, _190, _208) (1, _208, _209) (-1, _211) 0 ]", + "EXPR [ (1, _210, _211) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _211) 0 ]], outputs: [_212, _213]", + "BLACKBOX::RANGE [(_213, 64)] []", + "EXPR [ (1, _211) (-1, _213) (-1, _214) -1 ]", + "BLACKBOX::RANGE [(_214, 64)] []", + "EXPR [ (-1, _211, _212) (1, _0) (-1, _213) 0 ]", + "EXPR [ (1, _212) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 32768 ]], outputs: [_215, _216]", + "BLACKBOX::RANGE [(_215, 1)] []", + "BLACKBOX::RANGE [(_216, 15)] []", + "EXPR [ (1, _2) (-32768, _215) (-1, _216) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 131072 ], EXPR [ 131072 ]], outputs: [_217, _218]", + "BLACKBOX::RANGE [(_217, 1)] []", + "BLACKBOX::RANGE [(_218, 17)] []", + "EXPR [ (1, _2) (-131072, _217) (-1, _218) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _217, _215) (1, _2) (-1, _215) (-1, _217) 1 ], EXPR [ 65536 ]], outputs: [_219, _220]", + "BLACKBOX::RANGE [(_219, 1)] []", + "BLACKBOX::RANGE [(_220, 16)] []", + "EXPR [ (2, _215, _217) (1, _2) (-1, _215) (-1, _217) (-65536, _219) (-1, _220) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_221, _222]", + "BLACKBOX::RANGE [(_221, 1)] []", + "BLACKBOX::RANGE [(_222, 15)] []", + "EXPR [ (1, _220) (-32768, _221) (-1, _222) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _221) (1, _220) (65536, _221) 0 ], EXPR [ 8 ]], outputs: [_223, _224]", + "BLACKBOX::RANGE [(_223, 13)] []", + "BLACKBOX::RANGE [(_224, 3)] []", + "EXPR [ (-2, _220, _221) (1, _220) (65536, _221) (-8, _223) (-1, _224) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _223) 0 ]], outputs: [_225]", + "EXPR [ (1, _223, _225) (1, _226) -1 ]", + "EXPR [ (1, _223, _226) 0 ]", + "EXPR [ (-2, _221, _223) (65536, _221) (1, _223) (-1, _227) 0 ]", + "EXPR [ (-1, _226) (-1, _228) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _224) 0 ]], outputs: [_229]", + "EXPR [ (1, _224, _229) (1, _230) -1 ]", + "EXPR [ (1, _224, _230) 0 ]", + "EXPR [ (-2, _221, _224) (65536, _221) (1, _224) (-1, _231) 0 ]", + "EXPR [ (-1, _230) (-1, _232) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _227, _228) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_233, _234]", + "BLACKBOX::RANGE [(_233, 2)] []", + "EXPR [ (-2, _215, _217) (1, _227, _228) (1, _215) (1, _217) (-65536, _233) (-1, _234) 131071 ]", + "EXPR [ (1, _234) -65439 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_235, _236]", "BLACKBOX::RANGE [(_235, 1)] []", "BLACKBOX::RANGE [(_236, 15)] []", - "EXPR [ (1, _2) (-32768, _235) (-1, _236) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 131072 ], EXPR [ 131072 ]], outputs: [_237, _238]", - "BLACKBOX::RANGE [(_237, 1)] []", - "BLACKBOX::RANGE [(_238, 17)] []", - "EXPR [ (1, _2) (-131072, _237) (-1, _238) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _237, _235) (1, _2) (-1, _235) (-1, _237) 1 ], EXPR [ 65536 ]], outputs: [_239, _240]", - "BLACKBOX::RANGE [(_239, 1)] []", - "BLACKBOX::RANGE [(_240, 16)] []", - "EXPR [ (2, _235, _237) (1, _2) (-1, _235) (-1, _237) (-65536, _239) (-1, _240) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_241, _242]", - "BLACKBOX::RANGE [(_241, 1)] []", - "BLACKBOX::RANGE [(_242, 15)] []", - "EXPR [ (1, _240) (-32768, _241) (-1, _242) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _241) (1, _240) (65536, _241) 0 ], EXPR [ 8 ]], outputs: [_243, _244]", - "BLACKBOX::RANGE [(_243, 13)] []", - "BLACKBOX::RANGE [(_244, 3)] []", - "EXPR [ (-2, _240, _241) (1, _240) (65536, _241) (-8, _243) (-1, _244) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _243) 0 ]], outputs: [_245]", - "EXPR [ (1, _243, _245) (1, _246) -1 ]", - "EXPR [ (1, _243, _246) 0 ]", - "EXPR [ (-2, _241, _243) (65536, _241) (1, _243) (-1, _247) 0 ]", - "EXPR [ (-1, _246) (-1, _248) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _244) 0 ]], outputs: [_249]", - "EXPR [ (1, _244, _249) (1, _250) -1 ]", - "EXPR [ (1, _244, _250) 0 ]", - "EXPR [ (-2, _241, _244) (65536, _241) (1, _244) (-1, _251) 0 ]", - "EXPR [ (-1, _250) (-1, _252) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _247, _248) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_253, _254]", - "BLACKBOX::RANGE [(_253, 2)] []", - "EXPR [ (-2, _235, _237) (1, _247, _248) (1, _235) (1, _237) (-65536, _253) (-1, _254) 131071 ]", - "EXPR [ (1, _254) -65439 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_255, _256]", - "BLACKBOX::RANGE [(_255, 1)] []", - "BLACKBOX::RANGE [(_256, 15)] []", - "EXPR [ (1, _240) (-32768, _255) (-1, _256) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _255) (1, _240) (65536, _255) 0 ], EXPR [ 16384 ]], outputs: [_257, _258]", - "BLACKBOX::RANGE [(_257, 2)] []", - "BLACKBOX::RANGE [(_258, 14)] []", - "EXPR [ (-2, _240, _255) (1, _240) (65536, _255) (-16384, _257) (-1, _258) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _257) 0 ]], outputs: [_259]", - "EXPR [ (1, _257, _259) (1, _260) -1 ]", - "EXPR [ (1, _257, _260) 0 ]", - "EXPR [ (-2, _255, _257) (65536, _255) (1, _257) (-1, _261) 0 ]", - "EXPR [ (-1, _260) (-1, _262) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _258) 0 ]], outputs: [_263]", - "EXPR [ (1, _258, _263) (1, _264) -1 ]", - "EXPR [ (1, _258, _264) 0 ]", - "EXPR [ (-2, _255, _258) (65536, _255) (1, _258) (-1, _265) 0 ]", - "EXPR [ (-1, _264) (-1, _266) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _261, _262) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_267, _268]", - "BLACKBOX::RANGE [(_267, 2)] []", - "EXPR [ (-2, _235, _237) (1, _261, _262) (1, _235) (1, _237) (-65536, _267) (-1, _268) 131071 ]", - "EXPR [ (1, _268) -65535 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 65536 ]], outputs: [_269, _270]", - "BLACKBOX::RANGE [(_269, 48)] []", - "BLACKBOX::RANGE [(_270, 16)] []", - "EXPR [ (1, _0) (-65536, _269) (-1, _270) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _270) 0 ], EXPR [ 32768 ]], outputs: [_271, _272]", - "BLACKBOX::RANGE [(_271, 1)] []", - "BLACKBOX::RANGE [(_272, 15)] []", - "EXPR [ (1, _270) (-32768, _271) (-1, _272) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _270) 131086 ], EXPR [ 131072 ]], outputs: [_273, _274]", - "BLACKBOX::RANGE [(_273, 1)] []", - "BLACKBOX::RANGE [(_274, 17)] []", - "EXPR [ (-1, _270) (-131072, _273) (-1, _274) 131086 ]", - "EXPR [ (-2, _271, _273) (1, _271) (1, _273) (-1, _275) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (28, _273, _271) (1, _275, _270) (-14, _271) (-14, _273) 65535 ], EXPR [ 65536 ]], outputs: [_276, _277]", + "EXPR [ (1, _220) (-32768, _235) (-1, _236) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _235) (1, _220) (65536, _235) 0 ], EXPR [ 16384 ]], outputs: [_237, _238]", + "BLACKBOX::RANGE [(_237, 2)] []", + "BLACKBOX::RANGE [(_238, 14)] []", + "EXPR [ (-2, _220, _235) (1, _220) (65536, _235) (-16384, _237) (-1, _238) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _237) 0 ]], outputs: [_239]", + "EXPR [ (1, _237, _239) (1, _240) -1 ]", + "EXPR [ (1, _237, _240) 0 ]", + "EXPR [ (-2, _235, _237) (65536, _235) (1, _237) (-1, _241) 0 ]", + "EXPR [ (-1, _240) (-1, _242) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _238) 0 ]], outputs: [_243]", + "EXPR [ (1, _238, _243) (1, _244) -1 ]", + "EXPR [ (1, _238, _244) 0 ]", + "EXPR [ (-2, _235, _238) (65536, _235) (1, _238) (-1, _245) 0 ]", + "EXPR [ (-1, _244) (-1, _246) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _241, _242) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_247, _248]", + "BLACKBOX::RANGE [(_247, 2)] []", + "EXPR [ (-2, _215, _217) (1, _241, _242) (1, _215) (1, _217) (-65536, _247) (-1, _248) 131071 ]", + "EXPR [ (1, _248) -65535 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 65536 ]], outputs: [_249, _250]", + "BLACKBOX::RANGE [(_249, 48)] []", + "BLACKBOX::RANGE [(_250, 16)] []", + "EXPR [ (1, _0) (-65536, _249) (-1, _250) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _250) 0 ], EXPR [ 32768 ]], outputs: [_251, _252]", + "BLACKBOX::RANGE [(_251, 1)] []", + "BLACKBOX::RANGE [(_252, 15)] []", + "EXPR [ (1, _250) (-32768, _251) (-1, _252) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _250) 131086 ], EXPR [ 131072 ]], outputs: [_253, _254]", + "BLACKBOX::RANGE [(_253, 1)] []", + "BLACKBOX::RANGE [(_254, 17)] []", + "EXPR [ (-1, _250) (-131072, _253) (-1, _254) 131086 ]", + "EXPR [ (-2, _251, _253) (1, _251) (1, _253) (-1, _255) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (28, _253, _251) (1, _255, _250) (-14, _251) (-14, _253) 65535 ], EXPR [ 65536 ]], outputs: [_256, _257]", + "BLACKBOX::RANGE [(_257, 16)] []", + "EXPR [ (1, _250, _255) (28, _251, _253) (-14, _251) (-14, _253) (-65536, _256) (-1, _257) 65535 ]", + "EXPR [ (-1, _256) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (28, _253, _251) (1, _255, _250) (-14, _251) (-14, _253) 14 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_258, _259, _260, _261]]", + "BLACKBOX::RANGE [(_258, 1)] []", + "BLACKBOX::RANGE [(_259, 1)] []", + "BLACKBOX::RANGE [(_260, 1)] []", + "BLACKBOX::RANGE [(_261, 1)] []", + "EXPR [ (1, _250, _255) (28, _251, _253) (-14, _251) (-14, _253) (-1, _258) (-2, _259) (-4, _260) (-8, _261) 14 ]", + "EXPR [ (1, _261, _261) (2, _261) (-1, _262) 1 ]", + "EXPR [ (-1, _260) (-1, _263) 1 ]", + "EXPR [ (2, _260, _262) (1, _262, _263) (-1, _264) 0 ]", + "EXPR [ (1, _264, _264) (-1, _265) 0 ]", + "EXPR [ (-1, _259) (-1, _266) 1 ]", + "EXPR [ (2, _259, _265) (1, _265, _266) (-1, _267) 0 ]", + "EXPR [ (1, _267, _267) (-1, _268) 0 ]", + "EXPR [ (-1, _258) (-1, _269) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) 0 ], EXPR [ 32768 ]], outputs: [_270, _271]", + "BLACKBOX::RANGE [(_270, 1)] []", + "BLACKBOX::RANGE [(_271, 15)] []", + "EXPR [ (2, _258, _268) (-1, _393) 0 ]", + "EXPR [ (1, _268, _269) (-1, _394) 0 ]", + "EXPR [ (-32768, _270) (-1, _271) (1, _393) (1, _394) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _220) 0 ], EXPR [ 32768 ]], outputs: [_272, _273]", + "BLACKBOX::RANGE [(_272, 1)] []", + "BLACKBOX::RANGE [(_273, 15)] []", + "EXPR [ (1, _220) (-32768, _272) (-1, _273) 0 ]", + "EXPR [ (-1, _274) (-1, _393) (-1, _394) 32768 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) (2, _274, _270) 0 ]], outputs: [_275]", + "EXPR [ (2, _270, _274) (-1, _276) (1, _393) (1, _394) 0 ]", + "EXPR [ (1, _275, _276) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _220, _272) (1, _220) (65536, _272) 0 ], EXPR [ (1, _276) 0 ]], outputs: [_277, _278]", "BLACKBOX::RANGE [(_277, 16)] []", - "EXPR [ (1, _270, _275) (28, _271, _273) (-14, _271) (-14, _273) (-65536, _276) (-1, _277) 65535 ]", - "EXPR [ (-1, _276) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (28, _273, _271) (1, _275, _270) (-14, _271) (-14, _273) 14 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_278, _279, _280, _281, _282]]", - "BLACKBOX::RANGE [(_278, 1)] []", - "BLACKBOX::RANGE [(_279, 1)] []", - "BLACKBOX::RANGE [(_280, 1)] []", - "BLACKBOX::RANGE [(_281, 1)] []", - "BLACKBOX::RANGE [(_282, 1)] []", - "EXPR [ (1, _270, _275) (28, _271, _273) (-14, _271) (-14, _273) (-1, _278) (-2, _279) (-4, _280) (-8, _281) (-16, _282) 14 ]", - "EXPR [ (1, _282, _282) (2, _282) (-1, _283) 1 ]", - "EXPR [ (-1, _281) (-1, _284) 1 ]", - "EXPR [ (2, _281, _283) (1, _283, _284) (-1, _285) 0 ]", - "EXPR [ (1, _285, _285) (-1, _286) 0 ]", - "EXPR [ (-1, _280) (-1, _287) 1 ]", - "EXPR [ (2, _280, _286) (1, _286, _287) (-1, _288) 0 ]", - "EXPR [ (1, _288, _288) (-1, _289) 0 ]", - "EXPR [ (-1, _279) (-1, _290) 1 ]", - "EXPR [ (2, _279, _289) (1, _289, _290) (-1, _291) 0 ]", - "EXPR [ (1, _291, _291) (-1, _292) 0 ]", - "EXPR [ (-1, _278) (-1, _293) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) 0 ], EXPR [ 32768 ]], outputs: [_294, _295]", + "BLACKBOX::RANGE [(_278, 16)] []", + "EXPR [ (1, _276) (-1, _278) (-1, _279) -1 ]", + "BLACKBOX::RANGE [(_279, 16)] []", + "EXPR [ (-2, _220, _272) (-1, _276, _277) (1, _220) (65536, _272) (-1, _278) 0 ]", + "EXPR [ (-1, _277) (-1, _280) 32768 ]", + "EXPR [ (-2, _270, _272) (1, _270) (1, _272) (-1, _281) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _277) 0 ]], outputs: [_282]", + "EXPR [ (1, _277, _282) (1, _283) -1 ]", + "EXPR [ (1, _277, _283) 0 ]", + "EXPR [ (2, _280, _281) (1, _277) (-1, _284) 0 ]", + "EXPR [ (-1, _283) (-1, _285) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _278) 0 ]], outputs: [_286]", + "EXPR [ (1, _278, _286) (1, _287) -1 ]", + "EXPR [ (1, _278, _287) 0 ]", + "EXPR [ (-2, _272, _278) (65536, _272) (1, _278) (-1, _288) 0 ]", + "EXPR [ (-1, _287) (-1, _289) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _217, _215) (1, _284, _285) (1, _215) (1, _217) 131071 ], EXPR [ 65536 ]], outputs: [_290, _291]", + "BLACKBOX::RANGE [(_290, 2)] []", + "EXPR [ (-2, _215, _217) (1, _284, _285) (1, _215) (1, _217) (-65536, _290) (-1, _291) 131071 ]", + "EXPR [ (1, _291) -65535 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _2) 131072 ], EXPR [ 65536 ]], outputs: [_292, _293]", + "BLACKBOX::RANGE [(_292, 2)] []", + "BLACKBOX::RANGE [(_293, 16)] []", + "EXPR [ (-1, _2) (-65536, _292) (-1, _293) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 32768 ], EXPR [ 65536 ]], outputs: [_294, _295]", "BLACKBOX::RANGE [(_294, 1)] []", - "BLACKBOX::RANGE [(_295, 15)] []", - "EXPR [ (2, _278, _292) (-1, _431) 0 ]", - "EXPR [ (1, _292, _293) (-1, _432) 0 ]", - "EXPR [ (-32768, _294) (-1, _295) (1, _431) (1, _432) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _240) 0 ], EXPR [ 32768 ]], outputs: [_296, _297]", + "BLACKBOX::RANGE [(_295, 16)] []", + "EXPR [ (1, _2) (-65536, _294) (-1, _295) 32768 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 32768 ], EXPR [ 65536 ]], outputs: [_296, _297]", "BLACKBOX::RANGE [(_296, 1)] []", - "BLACKBOX::RANGE [(_297, 15)] []", - "EXPR [ (1, _240) (-32768, _296) (-1, _297) 0 ]", - "EXPR [ (-1, _298) (-1, _431) (-1, _432) 32768 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) (2, _298, _294) 0 ]], outputs: [_299]", - "EXPR [ (2, _294, _298) (-1, _300) (1, _431) (1, _432) 0 ]", - "EXPR [ (1, _299, _300) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _240, _296) (1, _240) (65536, _296) 0 ], EXPR [ (1, _300) 0 ]], outputs: [_301, _302]", - "BLACKBOX::RANGE [(_301, 16)] []", - "BLACKBOX::RANGE [(_302, 16)] []", - "EXPR [ (1, _300) (-1, _302) (-1, _303) -1 ]", + "BLACKBOX::RANGE [(_297, 16)] []", + "EXPR [ (1, _293) (-65536, _296) (-1, _297) 32768 ]", + "EXPR [ (-1, _294, _296) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 0 ], EXPR [ 32768 ]], outputs: [_298, _299]", + "BLACKBOX::RANGE [(_298, 1)] []", + "BLACKBOX::RANGE [(_299, 15)] []", + "EXPR [ (1, _293) (-32768, _298) (-1, _299) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _293) 131072 ], EXPR [ 131072 ]], outputs: [_300, _301]", + "BLACKBOX::RANGE [(_300, 1)] []", + "BLACKBOX::RANGE [(_301, 17)] []", + "EXPR [ (1, _293) (-131072, _300) (-1, _301) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _300, _298) (1, _293) (-1, _298) (-1, _300) 1 ], EXPR [ 65536 ]], outputs: [_302, _303]", + "BLACKBOX::RANGE [(_302, 1)] []", "BLACKBOX::RANGE [(_303, 16)] []", - "EXPR [ (-2, _240, _296) (-1, _300, _301) (1, _240) (65536, _296) (-1, _302) 0 ]", - "EXPR [ (-1, _301) (-1, _304) 32768 ]", - "EXPR [ (-2, _294, _296) (1, _294) (1, _296) (-1, _305) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _301) 0 ]], outputs: [_306]", - "EXPR [ (1, _301, _306) (1, _307) -1 ]", - "EXPR [ (1, _301, _307) 0 ]", - "EXPR [ (2, _304, _305) (1, _301) (-1, _308) 0 ]", - "EXPR [ (-1, _307) (-1, _309) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _302) 0 ]], outputs: [_310]", - "EXPR [ (1, _302, _310) (1, _311) -1 ]", - "EXPR [ (1, _302, _311) 0 ]", - "EXPR [ (-2, _296, _302) (65536, _296) (1, _302) (-1, _312) 0 ]", - "EXPR [ (-1, _311) (-1, _313) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _237, _235) (1, _308, _309) (1, _235) (1, _237) 131071 ], EXPR [ 65536 ]], outputs: [_314, _315]", - "BLACKBOX::RANGE [(_314, 2)] []", - "EXPR [ (-2, _235, _237) (1, _308, _309) (1, _235) (1, _237) (-65536, _314) (-1, _315) 131071 ]", - "EXPR [ (1, _315) -65535 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _2) 131072 ], EXPR [ 65536 ]], outputs: [_316, _317]", - "BLACKBOX::RANGE [(_316, 2)] []", - "BLACKBOX::RANGE [(_317, 16)] []", - "EXPR [ (-1, _2) (-65536, _316) (-1, _317) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _2) 32768 ], EXPR [ 65536 ]], outputs: [_318, _319]", - "BLACKBOX::RANGE [(_318, 1)] []", - "BLACKBOX::RANGE [(_319, 16)] []", - "EXPR [ (1, _2) (-65536, _318) (-1, _319) 32768 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 32768 ], EXPR [ 65536 ]], outputs: [_320, _321]", - "BLACKBOX::RANGE [(_320, 1)] []", - "BLACKBOX::RANGE [(_321, 16)] []", - "EXPR [ (1, _317) (-65536, _320) (-1, _321) 32768 ]", - "EXPR [ (-1, _318, _320) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 0 ], EXPR [ 32768 ]], outputs: [_322, _323]", - "BLACKBOX::RANGE [(_322, 1)] []", - "BLACKBOX::RANGE [(_323, 15)] []", - "EXPR [ (1, _317) (-32768, _322) (-1, _323) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _317) 131072 ], EXPR [ 131072 ]], outputs: [_324, _325]", - "BLACKBOX::RANGE [(_324, 1)] []", - "BLACKBOX::RANGE [(_325, 17)] []", - "EXPR [ (1, _317) (-131072, _324) (-1, _325) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _324, _322) (1, _317) (-1, _322) (-1, _324) 1 ], EXPR [ 65536 ]], outputs: [_326, _327]", - "BLACKBOX::RANGE [(_326, 1)] []", - "BLACKBOX::RANGE [(_327, 16)] []", - "EXPR [ (2, _322, _324) (1, _317) (-1, _322) (-1, _324) (-65536, _326) (-1, _327) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) 0 ], EXPR [ 32768 ]], outputs: [_328, _329]", - "BLACKBOX::RANGE [(_328, 1)] []", - "BLACKBOX::RANGE [(_329, 15)] []", - "EXPR [ (-32768, _328) (-1, _329) (1, _431) (1, _432) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _327) 0 ], EXPR [ 32768 ]], outputs: [_330, _331]", - "BLACKBOX::RANGE [(_330, 1)] []", - "BLACKBOX::RANGE [(_331, 15)] []", - "EXPR [ (1, _327) (-32768, _330) (-1, _331) 0 ]", - "EXPR [ (-1, _332) (-1, _431) (-1, _432) 32768 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (2, _292, _278) (1, _292, _293) (2, _332, _328) 0 ]], outputs: [_333]", - "EXPR [ (2, _328, _332) (-1, _334) (1, _431) (1, _432) 0 ]", - "EXPR [ (1, _333, _334) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _327, _330) (1, _327) (65536, _330) 0 ], EXPR [ (1, _334) 0 ]], outputs: [_335, _336]", - "BLACKBOX::RANGE [(_335, 16)] []", - "BLACKBOX::RANGE [(_336, 16)] []", - "EXPR [ (1, _334) (-1, _336) (-1, _337) -1 ]", - "BLACKBOX::RANGE [(_337, 16)] []", - "EXPR [ (-2, _327, _330) (-1, _334, _335) (1, _327) (65536, _330) (-1, _336) 0 ]", - "EXPR [ (-1, _335) (-1, _338) 32768 ]", - "EXPR [ (-2, _328, _330) (1, _328) (1, _330) (-1, _339) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _335) 0 ]], outputs: [_340]", - "EXPR [ (1, _335, _340) (1, _341) -1 ]", - "EXPR [ (1, _335, _341) 0 ]", - "EXPR [ (2, _338, _339) (1, _335) (-1, _342) 0 ]", - "EXPR [ (-1, _341) (-1, _343) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _336) 0 ]], outputs: [_344]", - "EXPR [ (1, _336, _344) (1, _345) -1 ]", - "EXPR [ (1, _336, _345) 0 ]", - "EXPR [ (-2, _330, _336) (65536, _330) (1, _336) (-1, _346) 0 ]", - "EXPR [ (-1, _345) (-1, _347) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _324, _322) (1, _342, _343) (1, _322) (1, _324) 131071 ], EXPR [ 65536 ]], outputs: [_348, _349]", - "BLACKBOX::RANGE [(_348, 2)] []", - "EXPR [ (-2, _322, _324) (1, _342, _343) (1, _322) (1, _324) (-65536, _348) (-1, _349) 131071 ]", - "EXPR [ (1, _349) 0 ]", + "EXPR [ (2, _298, _300) (1, _293) (-1, _298) (-1, _300) (-65536, _302) (-1, _303) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) 0 ], EXPR [ 32768 ]], outputs: [_304, _305]", + "BLACKBOX::RANGE [(_304, 1)] []", + "BLACKBOX::RANGE [(_305, 15)] []", + "EXPR [ (-32768, _304) (-1, _305) (1, _393) (1, _394) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _303) 0 ], EXPR [ 32768 ]], outputs: [_306, _307]", + "BLACKBOX::RANGE [(_306, 1)] []", + "BLACKBOX::RANGE [(_307, 15)] []", + "EXPR [ (1, _303) (-32768, _306) (-1, _307) 0 ]", + "EXPR [ (-1, _308) (-1, _393) (-1, _394) 32768 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (2, _268, _258) (1, _268, _269) (2, _308, _304) 0 ]], outputs: [_309]", + "EXPR [ (2, _304, _308) (-1, _310) (1, _393) (1, _394) 0 ]", + "EXPR [ (1, _309, _310) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _303, _306) (1, _303) (65536, _306) 0 ], EXPR [ (1, _310) 0 ]], outputs: [_311, _312]", + "BLACKBOX::RANGE [(_311, 16)] []", + "BLACKBOX::RANGE [(_312, 16)] []", + "EXPR [ (1, _310) (-1, _312) (-1, _313) -1 ]", + "BLACKBOX::RANGE [(_313, 16)] []", + "EXPR [ (-2, _303, _306) (-1, _310, _311) (1, _303) (65536, _306) (-1, _312) 0 ]", + "EXPR [ (-1, _311) (-1, _314) 32768 ]", + "EXPR [ (-2, _304, _306) (1, _304) (1, _306) (-1, _315) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _311) 0 ]], outputs: [_316]", + "EXPR [ (1, _311, _316) (1, _317) -1 ]", + "EXPR [ (1, _311, _317) 0 ]", + "EXPR [ (2, _314, _315) (1, _311) (-1, _318) 0 ]", + "EXPR [ (-1, _317) (-1, _319) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _312) 0 ]], outputs: [_320]", + "EXPR [ (1, _312, _320) (1, _321) -1 ]", + "EXPR [ (1, _312, _321) 0 ]", + "EXPR [ (-2, _306, _312) (65536, _306) (1, _312) (-1, _322) 0 ]", + "EXPR [ (-1, _321) (-1, _323) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _300, _298) (1, _318, _319) (1, _298) (1, _300) 131071 ], EXPR [ 65536 ]], outputs: [_324, _325]", + "BLACKBOX::RANGE [(_324, 2)] []", + "EXPR [ (-2, _298, _300) (1, _318, _319) (1, _298) (1, _300) (-65536, _324) (-1, _325) 131071 ]", + "EXPR [ (1, _325) 0 ]", "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) } }]", "unconstrained func 1", @@ -625,7 +601,7 @@ expression: artifact "unconstrained func 2", "[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": "rdnNblNJEEDhd/E6i1t/Xd3zKqMRCmBQpCigkCCNEO8+t273ycBiNtezcZ0k1Eccu23H+XH5eH3/+vndw9OnL98uf/z54/L++eHx8eHzu8cvH+5fHr487Z/98fPuwofvXp6v1/1Tl1++vm99vX++Pr1c/nh6fXy8u3y/f3w9/tG3r/dPx3y5f96/ut1drk8f97mDnx4er1U/7/7d3v57VTZfyyLyth6n9vuZfVP2bdy273Fmf4y1r9uN+6In9lUb+3br/pmfv2msfTO7cT/P7Mt42++37buf2PeNn5/LmevvxvV3P3P7ebztN7lx/8z58W7s9xv3x5nzExu3X8iN+3rm5xdvjx9hZ+4/4cl+2G37bTuzn2/Xv5+6/un/2/6Z89+2vvbbqfPXNn3b9xv3z9z/m3H7Nbcb9888/rXG+Wu53bjfzuwPvv889fz5y76c+f7z7fknTz1/pXN+MvK2/Xbq/8+365/jtv3ebtsfv5//v/aP7j88PP/2ivXi+0ueu0scl+24zOOyH5fjuJRtDplD57A5JiBTkEnINGQiMhWdik5Fp6JT0anoVHQqOhWdik7FpmJTsanYVGwqNhWbik3FpmK7sj9A+K7s58RlDp3D5vA5Yo42R86xK/vjo+/KfjeNbQ6ZY1f21x6xK/tNED5HzNHmyDn6HOMYbVf2x8xW12i/YZuuaWv6mrFmWzPX7GuOOXNbc3m5vFxeLi+Xl8vL5WV5dTcYc/ZtTVlT17Q1fc1Ys62Zay6vL28sbyxvLG8sbyxvLG8sbyxvLG8sT7aNEEIJI5wIohFJdAJZkAVZkAVZkAVZkAVZkAVZkRVZkRVZkRVZkRVZkRXZkA3ZkA3ZkA3ZkA3ZkA3ZkR3ZkR3ZkR3ZkR3ZkR05kAM5kAM5kOtEiVaUbBVJdGKsqLMlXiGEEkaUHBVBNCKJTowVxzE7ouRWUXJWGOFEEI1IohNjxXHgjhACuSN35I7ckTtyR+7IA3kgD+SBPJAH8kAeyAN5LFm3jRBCCSOcKLlXlDwqkujEWHGcwSOEUMIIJ4JAFmRBFmRFVmRFVmRFVmRFVmRFVmRDNmRDNmRDNmRDNmRDNmRHdmRHdmRHdmRHdmRHduRADuRADuRADuRADuRArjOoWz2Zb/VeSoUQShjhRBCNSKITY0UiJ3Ii1xlUrXAiiEYk0Ymxos6gWkXJXqGEEU4E0YgkOjFW1Bmsl7haZ3CGEkY4EUQjkujEmGHbRgihhBFOBNGIJDqBLMiCLMiCLMiCXGew3syyOoOaFZ0oudfLt40QQgkjnAiiEUl0AtmQDdmQDdmQDdmQDdmQDdmRHdmRHdmRHdmRHdmRHTmQAzmQAzmQAzmQ6wzqqNhl2yrGijqDM4RQwggngmhEEsgNOZETOZETOZETOZETOZETuSN35I7ckTtyR+7IHbkjd+SBXGfQjt8KStYKI5wIohFJdGLM8DqDM4RQwggngmhEEp1AFmRBFuQ6g3b8NlNy/XpSZ3BGI5IoOSrGijqDM4RQwggngii5VZScFZ0YK+oMzhBCCSOcCKIRyIZsyI7syI7syI7syI7syI7syIEcyIEcyIEcyIEcyIEcyA25ITfkhtyQG3JDbsgNuSEnciInciInciInciInciJ35I7ckTvycQZ7RcmjohFJdGKsOM7gEUIoYYQTyAN5INcZ9K1izIg6gzOEUMIIJ4JoRBKdQBZkQRZkQRZkQRZkQRZkQVZkRVZkRVZkRVZkRVZkRTZkQzZkQzZkQzZkQzZkQ3ZkR3bkOoNe7z59v39+uH//eP02/zj66fXpwy9/K335+ytf4a+pX5+/fLh+fH2+1rtUx9f2963+AQ==", + "debug_symbols": "rdnLbhNZEIDhd/E6i67LuRSvMhohEwyKZCWRSZBGiHefrj7n98BiNt1sUj9k6hucUIlxfpw+Xz69f/349Pzl5dvpw18/Tp9uT9fr09eP15fH89vTy/P6uz9+Ppz45ce32+Wy/tbpl/evW6/n2+X57fTh+f16fTh9P1/ft//o2+v5eZtv59v63uXhdHn+vM4V/PJ0vWT9fPhve/n/VVl8LovIfb3s2u979k3Ztzi272XPfsTc1+XgvuiOfdXKvh3d3/PxNy1z38wO7rc9+xL3/X5s333Hvi98/Fz2PH43Hr/7ns+fl/t+lYP7e+7Hu7HfD+7HnvspC5+/Igf3dc/Hr9y/fhTb8/eneGO/2LH9uuzZb/fH33c9/uZ/bH/P/delz/266/7qovd9P7i/5+9/NT5/1e3g/p6vf7Vyf7UtB/frnv3gz992ff/8ZV/2/Pnb/ftP2/X9qzn300o7tl93/f/b/fG3OLbf67H9+P3+/15/dX58uv32jPXk61Oeh1PZ3tbtbdve9u1tbG9lGUPG0DFsjAHIEGQQMgwZiAxFh6JD0aHoUHQoOhQdig5Fh6JDsaHYUGwoNhQbiq3K+kXAVmW9BWtj9DFiG76MIWPoGDbGqqxfA31V1r+KXsdoY6zK+vzCV2X9MJdlDBlDx7AxfIwyxqqsXxdLPqL1k1f6nDFmXeaUOXVOm9PnLHPWOadXp1en16bXptem16bX0stPdZmzztnm7HPGmH2ZU+bUOW3O6fXp9en16fXp9enF9GJ6Mb2YXkwvphfTi+nF9GJ6siyEEEoY4UQhKtGITiALsiALsiALsiALsiALsiArsiIrsiIrsiIrsiIrsiIbsiEbsiEbsiEbsiEbsiE7siM7siM7siM7cl6RaEbKlhEz8pZGCJGyZxjhRCFSLhmN6ETM2I5rCyGUSLlmpNwyClGJRnQiZmxntoUQShiB3JAbckNuyA25I3fkjtyRO3JH7sgduSN35EAO5EAO5EAO5EDeLrBnpBwZMUK3G9xCCCWMcKIQlWhEJ5AFWZAFWZAFWZAFWZAFWZAVWZEVWZEVWZEVWZEVWZEN2ZAN2ZAN2ZAN2ZAN2ZAd2ZEd2ZEd2ZEdOW9Ql4yer3FkxIy8wRFCKGGEE4WoRCOQC3JFzhtUzVDCCCcKUYlGpGwZKXs+R1gIIZQwwolCVKIRKZeMmJE3OEIIJYxwohCVaARyRw7kQA7kQA7kQA7kQA7kmLLlDeYLSJY3qC1DiZR7hhOFqEQjOhEz8gZHCKEEsiALsiALsiALsiIrsiIrsiIrsiIrsiIrsiEbsiEbsiEbsiHnDWpk5HPHJSNmbM8ftxBCCSOcKEQlGoHsyAW5IBfkglyQC3JBLsgFuSBX5IpckStyRa7IFbkiV+SK3JDzBi2fgecN5gsxljc4wolCVKIRnYgZeYMjhEDuyB25I3fkjtyRO3IgB3Ig5w3a9m+FlD2jEJVoRMp5enmDGZ43OEIIJYxwohAp5z8t8gbzNQTPGxwRM/IGRwihhBFOFKISyIIsyIqsyIqsyIqsyIqsyIqsyIZsyIZsyIZsyIZsyIZsyI7syI7syI7syI7syI7syAW5IBfkglyQC3JBLsgFuSBvN9gzUo4MJYxwohCVaEQnYsZ2g1sgN+SGnDfoS0YhKtGITsSMvMERQihhBHJH7sgduSN35EAO5EAO5EAO5EAO5ECOKZdlIYRQwggnClGJRnQCWZAFWZAFWZAFWZAFWZDzBj1fqfl+vj2dP10v38YPEr+8Pz/+8nPFt39eeQ8/eXy9vTxePr/fLvmKzva+9TWefwE=", "file_map": { "50": { "source": "fn main(x: u64, y: u64, z: i16, u: i64) {\n // runtime shifts on compile-time known values\n assert(64 << y == 128);\n assert(64 >> y == 32);\n // runtime shifts on runtime values\n assert(x << y == 128);\n assert(x >> y == 32);\n // regression tests for issue #8176, superseded by issue #8791\n assert(u >> (x as i64 - 2) == -1);\n\n // Bit-shift with signed integers\n let mut a: i8 = y as i8;\n let mut b: i8 = x as i8;\n assert(b << 1 == -128);\n assert(b >> 2 == 16);\n assert(b >> a == 32);\n a = -a;\n assert(a << 6 == -64);\n assert(a << -a == -2);\n\n assert(x >> (x - 1) == 0);\n\n assert_eq(z >> 3, -97);\n\n assert(z >> 14 == -1);\n let rhs = (if x as i16 > 14 { 14 } else { x as i16 });\n assert(z >> rhs == -1);\n assert(-z >> rhs == 0);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index de152a33fde..87ef314fd29 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -33,19 +33,19 @@ expression: artifact "visibility": "public" }, "error_types": { - "14514982005979867414": { + "6668324276689745315": { "error_kind": "string", - "string": "attempt to bit-shift with overflow" + "string": "Field failed to decompose into specified 4 limbs" }, - "16061458491050355795": { + "14514982005979867414": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "attempt to bit-shift with overflow" } } }, "bytecode": [ "func 0", - "current witness index : _65", + "current witness index : _59", "private parameters indices : [_0]", "public parameters indices : [_1]", "return value indices : [_2]", @@ -56,80 +56,76 @@ expression: artifact "BLACKBOX::RANGE [(_4, 16)] []", "EXPR [ (1, _1) (-65536, _3) (-1, _4) 65521 ]", "EXPR [ (-1, _0, _3) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8, _9]]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _0) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8]]", "BLACKBOX::RANGE [(_5, 1)] []", "BLACKBOX::RANGE [(_6, 1)] []", "BLACKBOX::RANGE [(_7, 1)] []", "BLACKBOX::RANGE [(_8, 1)] []", - "BLACKBOX::RANGE [(_9, 1)] []", - "EXPR [ (1, _0, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) (-16, _9) 0 ]", - "EXPR [ (1, _9, _9) (2, _9) (-1, _10) 1 ]", - "EXPR [ (-1, _8) (-1, _11) 1 ]", - "EXPR [ (2, _8, _10) (1, _10, _11) (-1, _12) 0 ]", - "EXPR [ (1, _12, _12) (-1, _13) 0 ]", - "EXPR [ (-1, _7) (-1, _14) 1 ]", - "EXPR [ (2, _7, _13) (1, _13, _14) (-1, _15) 0 ]", - "EXPR [ (1, _15, _15) (-1, _16) 0 ]", - "EXPR [ (-1, _6) (-1, _17) 1 ]", - "EXPR [ (2, _6, _16) (1, _16, _17) (-1, _18) 0 ]", - "EXPR [ (1, _18, _18) (-1, _19) 0 ]", - "EXPR [ (-1, _5) (-1, _20) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 32768 ]], outputs: [_21, _22]", + "EXPR [ (1, _0, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) 0 ]", + "EXPR [ (1, _8, _8) (2, _8) (-1, _9) 1 ]", + "EXPR [ (-1, _7) (-1, _10) 1 ]", + "EXPR [ (2, _7, _9) (1, _9, _10) (-1, _11) 0 ]", + "EXPR [ (1, _11, _11) (-1, _12) 0 ]", + "EXPR [ (-1, _6) (-1, _13) 1 ]", + "EXPR [ (2, _6, _12) (1, _12, _13) (-1, _14) 0 ]", + "EXPR [ (1, _14, _14) (-1, _15) 0 ]", + "EXPR [ (-1, _5) (-1, _16) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 32768 ]], outputs: [_17, _18]", + "BLACKBOX::RANGE [(_17, 1)] []", + "BLACKBOX::RANGE [(_18, 15)] []", + "EXPR [ (1, _1) (-32768, _17) (-1, _18) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 131072 ], EXPR [ 131072 ]], outputs: [_19, _20]", + "BLACKBOX::RANGE [(_19, 1)] []", + "BLACKBOX::RANGE [(_20, 17)] []", + "EXPR [ (1, _1) (-131072, _19) (-1, _20) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _19, _17) (1, _1) (-1, _17) (-1, _19) 1 ], EXPR [ 65536 ]], outputs: [_21, _22]", "BLACKBOX::RANGE [(_21, 1)] []", - "BLACKBOX::RANGE [(_22, 15)] []", - "EXPR [ (1, _1) (-32768, _21) (-1, _22) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 131072 ], EXPR [ 131072 ]], outputs: [_23, _24]", + "BLACKBOX::RANGE [(_22, 16)] []", + "EXPR [ (2, _17, _19) (1, _1) (-1, _17) (-1, _19) (-65536, _21) (-1, _22) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _15, _5) (1, _15, _16) 0 ], EXPR [ 32768 ]], outputs: [_23, _24]", "BLACKBOX::RANGE [(_23, 1)] []", - "BLACKBOX::RANGE [(_24, 17)] []", - "EXPR [ (1, _1) (-131072, _23) (-1, _24) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _23, _21) (1, _1) (-1, _21) (-1, _23) 1 ], EXPR [ 65536 ]], outputs: [_25, _26]", + "BLACKBOX::RANGE [(_24, 15)] []", + "EXPR [ (2, _5, _15) (-1, _57) 0 ]", + "EXPR [ (1, _15, _16) (-1, _58) 0 ]", + "EXPR [ (-32768, _23) (-1, _24) (1, _57) (1, _58) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _22) 0 ], EXPR [ 32768 ]], outputs: [_25, _26]", "BLACKBOX::RANGE [(_25, 1)] []", - "BLACKBOX::RANGE [(_26, 16)] []", - "EXPR [ (2, _21, _23) (1, _1) (-1, _21) (-1, _23) (-65536, _25) (-1, _26) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _19, _5) (1, _19, _20) 0 ], EXPR [ 32768 ]], outputs: [_27, _28]", - "BLACKBOX::RANGE [(_27, 1)] []", - "BLACKBOX::RANGE [(_28, 15)] []", - "EXPR [ (2, _5, _19) (-1, _63) 0 ]", - "EXPR [ (1, _19, _20) (-1, _64) 0 ]", - "EXPR [ (-32768, _27) (-1, _28) (1, _63) (1, _64) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _26) 0 ], EXPR [ 32768 ]], outputs: [_29, _30]", - "BLACKBOX::RANGE [(_29, 1)] []", - "BLACKBOX::RANGE [(_30, 15)] []", - "EXPR [ (1, _26) (-32768, _29) (-1, _30) 0 ]", - "EXPR [ (-1, _31) (-1, _63) (-1, _64) 32768 ]", - "EXPR [ (2, _27, _31) (-1, _65) 0 ]", - "EXPR [ (-1, _32) (1, _63) (1, _64) (1, _65) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _32) 0 ]], outputs: [_33]", - "EXPR [ (1, _32, _33) (1, _34) -1 ]", - "EXPR [ (1, _32, _34) 0 ]", - "EXPR [ (1, _0, _34) 0 ]", + "BLACKBOX::RANGE [(_26, 15)] []", + "EXPR [ (1, _22) (-32768, _25) (-1, _26) 0 ]", + "EXPR [ (-1, _27) (-1, _57) (-1, _58) 32768 ]", + "EXPR [ (2, _23, _27) (-1, _59) 0 ]", + "EXPR [ (-1, _28) (1, _57) (1, _58) (1, _59) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _28) 0 ]], outputs: [_29]", + "EXPR [ (1, _28, _29) (1, _30) -1 ]", + "EXPR [ (1, _28, _30) 0 ]", + "EXPR [ (1, _0, _30) 0 ]", "BRILLIG CALL func 0: PREDICATE: EXPR [ (1, _0) 0 ]", - "inputs: [EXPR [ (-2, _26, _29) (1, _26) (65536, _29) 0 ], EXPR [ (2, _19, _5) (1, _19, _20) (2, _31, _27) 0 ]], outputs: [_35, _36]", - "BLACKBOX::RANGE [(_35, 16)] []", - "BLACKBOX::RANGE [(_36, 16)] []", - "EXPR [ (-1, _0) (-1, _36) (-1, _37) (1, _63) (1, _64) (1, _65) 0 ]", - "BLACKBOX::RANGE [(_37, 16)] []", - "EXPR [ (-1, _38) (1, _63) (1, _64) (1, _65) 0 ]", - "EXPR [ (1, _35, _38) (1, _36) (-1, _39) 0 ]", - "EXPR [ (-2, _26, _29) (1, _26) (65536, _29) (-1, _40) 0 ]", - "EXPR [ (-1, _0, _39) (1, _0, _40) 0 ]", - "EXPR [ (-1, _35) (-1, _41) 32768 ]", - "EXPR [ (-2, _27, _29) (1, _27) (1, _29) (-1, _42) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _35) 0 ]], outputs: [_43]", - "EXPR [ (1, _35, _43) (1, _44) -1 ]", - "EXPR [ (1, _35, _44) 0 ]", - "EXPR [ (2, _41, _42) (1, _35) (-1, _45) 0 ]", + "inputs: [EXPR [ (-2, _22, _25) (1, _22) (65536, _25) 0 ], EXPR [ (2, _15, _5) (1, _15, _16) (2, _27, _23) 0 ]], outputs: [_31, _32]", + "BLACKBOX::RANGE [(_31, 16)] []", + "BLACKBOX::RANGE [(_32, 16)] []", + "EXPR [ (-1, _0) (-1, _32) (-1, _33) (1, _57) (1, _58) (1, _59) 0 ]", + "BLACKBOX::RANGE [(_33, 16)] []", + "EXPR [ (-1, _34) (1, _57) (1, _58) (1, _59) 0 ]", + "EXPR [ (1, _31, _34) (1, _32) (-1, _35) 0 ]", + "EXPR [ (-2, _22, _25) (1, _22) (65536, _25) (-1, _36) 0 ]", + "EXPR [ (-1, _0, _35) (1, _0, _36) 0 ]", + "EXPR [ (-1, _31) (-1, _37) 32768 ]", + "EXPR [ (-2, _23, _25) (1, _23) (1, _25) (-1, _38) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _31) 0 ]], outputs: [_39]", + "EXPR [ (1, _31, _39) (1, _40) -1 ]", + "EXPR [ (1, _31, _40) 0 ]", + "EXPR [ (2, _37, _38) (1, _31) (-1, _41) 0 ]", + "EXPR [ (-1, _40) (-1, _42) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _32) 0 ]], outputs: [_43]", + "EXPR [ (1, _32, _43) (1, _44) -1 ]", + "EXPR [ (1, _32, _44) 0 ]", + "EXPR [ (-2, _25, _32) (65536, _25) (1, _32) (-1, _45) 0 ]", "EXPR [ (-1, _44) (-1, _46) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _36) 0 ]], outputs: [_47]", - "EXPR [ (1, _36, _47) (1, _48) -1 ]", - "EXPR [ (1, _36, _48) 0 ]", - "EXPR [ (-2, _29, _36) (65536, _29) (1, _36) (-1, _49) 0 ]", - "EXPR [ (-1, _48) (-1, _50) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _23, _21) (1, _45, _46) (1, _21) (1, _23) 131071 ], EXPR [ 65536 ]], outputs: [_51, _52]", - "BLACKBOX::RANGE [(_51, 2)] []", - "BLACKBOX::RANGE [(_52, 16)] []", - "EXPR [ (-2, _21, _23) (1, _45, _46) (1, _21) (1, _23) (-65536, _51) (-1, _52) 131071 ]", - "EXPR [ (-1, _0, _52) (1, _2) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _19, _17) (1, _41, _42) (1, _17) (1, _19) 131071 ], EXPR [ 65536 ]], outputs: [_47, _48]", + "BLACKBOX::RANGE [(_47, 2)] []", + "BLACKBOX::RANGE [(_48, 16)] []", + "EXPR [ (-2, _17, _19) (1, _41, _42) (1, _17) (1, _19) (-65536, _47) (-1, _48) 131071 ]", + "EXPR [ (-1, _0, _48) (1, _2) 0 ]", "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) } }]", "unconstrained func 1", @@ -137,7 +133,7 @@ expression: artifact "unconstrained func 2", "[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": "ddNLboMwEIDhu3jNIn6nuUpVRYQ4EZJlkAOVqih3r/HvtOmimxnwMJ/AHu7iHE7r9Timy3QTh/e7OOUxxvF6jNPQL+OUyur90Ynn7XHJIZQl8VIvXXOfQ1rEIa0xduKzj2t96Db3qealz6W660RI55ILeBlj2K4e3W/37v9Wr1qv3/8029L9Ue76Ycx/3lcocZCd0DWaGm2NrkZf477GtxrljiRJtEv6JYBEkBASQ4JIFIWiUBSKQlEoCkWhKBSFolA0ikbR7VNQNIpG0SgaRaNoFINiUAyKaTuCYlAMikExKAbFolgUi2JRbNtYFItiUSyKRXEoDsWhOBSH4tr5oDgUh+JQPIpH8SgexaN4FN+OGcVvymObrDz2pxjaQF/WNLzM9/I1PyvPP2DO0xDOaw7bbNVambZv", + "debug_symbols": "ddJNboMwEIbhu3jNIv5Pc5WqighxIkuWQQ5UqqLcvcYvadNFN2Pw8D0CM3dxDqfleoz5Mt7E4f0uTiWmFK/HNA79HMdcd++PTjxvj3MJoW6Jl35NTX0JeRaHvKTUic8+Le2h29Tnts59qd1dJ0I+17WCl5jCevXoftO7/6NebVm//wnbmv6od/0Qy5/3FUocZCd0q6ZV26pr1be6b/WtVbljkSzEJXkJIBEkhMSQIBJFoSgUhaJQFIpCUSgKRaEoFI2iUfT2KSgaRaNoFI2iUTSKQTEoBsVsJ4JiUAyKQTEoBsWiWBSLYlHsdrAoFsWiWBSL4lAcikNxKA7Fbf8HxaE4FIfiUTyKR/EoflUe6/SU2J9S2Ib2suThZYbnr+nZeU75VMYhnJcS1vlpvTpR3w==", "file_map": { "50": { "source": "fn main(active: bool, a: pub i16) -> pub i16 {\n if active {\n (a >> a)\n } else {\n 0\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_0.snap index de152a33fde..87ef314fd29 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_0.snap @@ -33,19 +33,19 @@ expression: artifact "visibility": "public" }, "error_types": { - "14514982005979867414": { + "6668324276689745315": { "error_kind": "string", - "string": "attempt to bit-shift with overflow" + "string": "Field failed to decompose into specified 4 limbs" }, - "16061458491050355795": { + "14514982005979867414": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "attempt to bit-shift with overflow" } } }, "bytecode": [ "func 0", - "current witness index : _65", + "current witness index : _59", "private parameters indices : [_0]", "public parameters indices : [_1]", "return value indices : [_2]", @@ -56,80 +56,76 @@ expression: artifact "BLACKBOX::RANGE [(_4, 16)] []", "EXPR [ (1, _1) (-65536, _3) (-1, _4) 65521 ]", "EXPR [ (-1, _0, _3) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8, _9]]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _0) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8]]", "BLACKBOX::RANGE [(_5, 1)] []", "BLACKBOX::RANGE [(_6, 1)] []", "BLACKBOX::RANGE [(_7, 1)] []", "BLACKBOX::RANGE [(_8, 1)] []", - "BLACKBOX::RANGE [(_9, 1)] []", - "EXPR [ (1, _0, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) (-16, _9) 0 ]", - "EXPR [ (1, _9, _9) (2, _9) (-1, _10) 1 ]", - "EXPR [ (-1, _8) (-1, _11) 1 ]", - "EXPR [ (2, _8, _10) (1, _10, _11) (-1, _12) 0 ]", - "EXPR [ (1, _12, _12) (-1, _13) 0 ]", - "EXPR [ (-1, _7) (-1, _14) 1 ]", - "EXPR [ (2, _7, _13) (1, _13, _14) (-1, _15) 0 ]", - "EXPR [ (1, _15, _15) (-1, _16) 0 ]", - "EXPR [ (-1, _6) (-1, _17) 1 ]", - "EXPR [ (2, _6, _16) (1, _16, _17) (-1, _18) 0 ]", - "EXPR [ (1, _18, _18) (-1, _19) 0 ]", - "EXPR [ (-1, _5) (-1, _20) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 32768 ]], outputs: [_21, _22]", + "EXPR [ (1, _0, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) 0 ]", + "EXPR [ (1, _8, _8) (2, _8) (-1, _9) 1 ]", + "EXPR [ (-1, _7) (-1, _10) 1 ]", + "EXPR [ (2, _7, _9) (1, _9, _10) (-1, _11) 0 ]", + "EXPR [ (1, _11, _11) (-1, _12) 0 ]", + "EXPR [ (-1, _6) (-1, _13) 1 ]", + "EXPR [ (2, _6, _12) (1, _12, _13) (-1, _14) 0 ]", + "EXPR [ (1, _14, _14) (-1, _15) 0 ]", + "EXPR [ (-1, _5) (-1, _16) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 32768 ]], outputs: [_17, _18]", + "BLACKBOX::RANGE [(_17, 1)] []", + "BLACKBOX::RANGE [(_18, 15)] []", + "EXPR [ (1, _1) (-32768, _17) (-1, _18) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 131072 ], EXPR [ 131072 ]], outputs: [_19, _20]", + "BLACKBOX::RANGE [(_19, 1)] []", + "BLACKBOX::RANGE [(_20, 17)] []", + "EXPR [ (1, _1) (-131072, _19) (-1, _20) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _19, _17) (1, _1) (-1, _17) (-1, _19) 1 ], EXPR [ 65536 ]], outputs: [_21, _22]", "BLACKBOX::RANGE [(_21, 1)] []", - "BLACKBOX::RANGE [(_22, 15)] []", - "EXPR [ (1, _1) (-32768, _21) (-1, _22) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 131072 ], EXPR [ 131072 ]], outputs: [_23, _24]", + "BLACKBOX::RANGE [(_22, 16)] []", + "EXPR [ (2, _17, _19) (1, _1) (-1, _17) (-1, _19) (-65536, _21) (-1, _22) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _15, _5) (1, _15, _16) 0 ], EXPR [ 32768 ]], outputs: [_23, _24]", "BLACKBOX::RANGE [(_23, 1)] []", - "BLACKBOX::RANGE [(_24, 17)] []", - "EXPR [ (1, _1) (-131072, _23) (-1, _24) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _23, _21) (1, _1) (-1, _21) (-1, _23) 1 ], EXPR [ 65536 ]], outputs: [_25, _26]", + "BLACKBOX::RANGE [(_24, 15)] []", + "EXPR [ (2, _5, _15) (-1, _57) 0 ]", + "EXPR [ (1, _15, _16) (-1, _58) 0 ]", + "EXPR [ (-32768, _23) (-1, _24) (1, _57) (1, _58) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _22) 0 ], EXPR [ 32768 ]], outputs: [_25, _26]", "BLACKBOX::RANGE [(_25, 1)] []", - "BLACKBOX::RANGE [(_26, 16)] []", - "EXPR [ (2, _21, _23) (1, _1) (-1, _21) (-1, _23) (-65536, _25) (-1, _26) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _19, _5) (1, _19, _20) 0 ], EXPR [ 32768 ]], outputs: [_27, _28]", - "BLACKBOX::RANGE [(_27, 1)] []", - "BLACKBOX::RANGE [(_28, 15)] []", - "EXPR [ (2, _5, _19) (-1, _63) 0 ]", - "EXPR [ (1, _19, _20) (-1, _64) 0 ]", - "EXPR [ (-32768, _27) (-1, _28) (1, _63) (1, _64) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _26) 0 ], EXPR [ 32768 ]], outputs: [_29, _30]", - "BLACKBOX::RANGE [(_29, 1)] []", - "BLACKBOX::RANGE [(_30, 15)] []", - "EXPR [ (1, _26) (-32768, _29) (-1, _30) 0 ]", - "EXPR [ (-1, _31) (-1, _63) (-1, _64) 32768 ]", - "EXPR [ (2, _27, _31) (-1, _65) 0 ]", - "EXPR [ (-1, _32) (1, _63) (1, _64) (1, _65) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _32) 0 ]], outputs: [_33]", - "EXPR [ (1, _32, _33) (1, _34) -1 ]", - "EXPR [ (1, _32, _34) 0 ]", - "EXPR [ (1, _0, _34) 0 ]", + "BLACKBOX::RANGE [(_26, 15)] []", + "EXPR [ (1, _22) (-32768, _25) (-1, _26) 0 ]", + "EXPR [ (-1, _27) (-1, _57) (-1, _58) 32768 ]", + "EXPR [ (2, _23, _27) (-1, _59) 0 ]", + "EXPR [ (-1, _28) (1, _57) (1, _58) (1, _59) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _28) 0 ]], outputs: [_29]", + "EXPR [ (1, _28, _29) (1, _30) -1 ]", + "EXPR [ (1, _28, _30) 0 ]", + "EXPR [ (1, _0, _30) 0 ]", "BRILLIG CALL func 0: PREDICATE: EXPR [ (1, _0) 0 ]", - "inputs: [EXPR [ (-2, _26, _29) (1, _26) (65536, _29) 0 ], EXPR [ (2, _19, _5) (1, _19, _20) (2, _31, _27) 0 ]], outputs: [_35, _36]", - "BLACKBOX::RANGE [(_35, 16)] []", - "BLACKBOX::RANGE [(_36, 16)] []", - "EXPR [ (-1, _0) (-1, _36) (-1, _37) (1, _63) (1, _64) (1, _65) 0 ]", - "BLACKBOX::RANGE [(_37, 16)] []", - "EXPR [ (-1, _38) (1, _63) (1, _64) (1, _65) 0 ]", - "EXPR [ (1, _35, _38) (1, _36) (-1, _39) 0 ]", - "EXPR [ (-2, _26, _29) (1, _26) (65536, _29) (-1, _40) 0 ]", - "EXPR [ (-1, _0, _39) (1, _0, _40) 0 ]", - "EXPR [ (-1, _35) (-1, _41) 32768 ]", - "EXPR [ (-2, _27, _29) (1, _27) (1, _29) (-1, _42) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _35) 0 ]], outputs: [_43]", - "EXPR [ (1, _35, _43) (1, _44) -1 ]", - "EXPR [ (1, _35, _44) 0 ]", - "EXPR [ (2, _41, _42) (1, _35) (-1, _45) 0 ]", + "inputs: [EXPR [ (-2, _22, _25) (1, _22) (65536, _25) 0 ], EXPR [ (2, _15, _5) (1, _15, _16) (2, _27, _23) 0 ]], outputs: [_31, _32]", + "BLACKBOX::RANGE [(_31, 16)] []", + "BLACKBOX::RANGE [(_32, 16)] []", + "EXPR [ (-1, _0) (-1, _32) (-1, _33) (1, _57) (1, _58) (1, _59) 0 ]", + "BLACKBOX::RANGE [(_33, 16)] []", + "EXPR [ (-1, _34) (1, _57) (1, _58) (1, _59) 0 ]", + "EXPR [ (1, _31, _34) (1, _32) (-1, _35) 0 ]", + "EXPR [ (-2, _22, _25) (1, _22) (65536, _25) (-1, _36) 0 ]", + "EXPR [ (-1, _0, _35) (1, _0, _36) 0 ]", + "EXPR [ (-1, _31) (-1, _37) 32768 ]", + "EXPR [ (-2, _23, _25) (1, _23) (1, _25) (-1, _38) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _31) 0 ]], outputs: [_39]", + "EXPR [ (1, _31, _39) (1, _40) -1 ]", + "EXPR [ (1, _31, _40) 0 ]", + "EXPR [ (2, _37, _38) (1, _31) (-1, _41) 0 ]", + "EXPR [ (-1, _40) (-1, _42) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _32) 0 ]], outputs: [_43]", + "EXPR [ (1, _32, _43) (1, _44) -1 ]", + "EXPR [ (1, _32, _44) 0 ]", + "EXPR [ (-2, _25, _32) (65536, _25) (1, _32) (-1, _45) 0 ]", "EXPR [ (-1, _44) (-1, _46) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _36) 0 ]], outputs: [_47]", - "EXPR [ (1, _36, _47) (1, _48) -1 ]", - "EXPR [ (1, _36, _48) 0 ]", - "EXPR [ (-2, _29, _36) (65536, _29) (1, _36) (-1, _49) 0 ]", - "EXPR [ (-1, _48) (-1, _50) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _23, _21) (1, _45, _46) (1, _21) (1, _23) 131071 ], EXPR [ 65536 ]], outputs: [_51, _52]", - "BLACKBOX::RANGE [(_51, 2)] []", - "BLACKBOX::RANGE [(_52, 16)] []", - "EXPR [ (-2, _21, _23) (1, _45, _46) (1, _21) (1, _23) (-65536, _51) (-1, _52) 131071 ]", - "EXPR [ (-1, _0, _52) (1, _2) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _19, _17) (1, _41, _42) (1, _17) (1, _19) 131071 ], EXPR [ 65536 ]], outputs: [_47, _48]", + "BLACKBOX::RANGE [(_47, 2)] []", + "BLACKBOX::RANGE [(_48, 16)] []", + "EXPR [ (-2, _17, _19) (1, _41, _42) (1, _17) (1, _19) (-65536, _47) (-1, _48) 131071 ]", + "EXPR [ (-1, _0, _48) (1, _2) 0 ]", "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) } }]", "unconstrained func 1", @@ -137,7 +133,7 @@ expression: artifact "unconstrained func 2", "[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": "ddNLboMwEIDhu3jNIn6nuUpVRYQ4EZJlkAOVqih3r/HvtOmimxnwMJ/AHu7iHE7r9Timy3QTh/e7OOUxxvF6jNPQL+OUyur90Ynn7XHJIZQl8VIvXXOfQ1rEIa0xduKzj2t96Db3qealz6W660RI55ILeBlj2K4e3W/37v9Wr1qv3/8029L9Ue76Ycx/3lcocZCd0DWaGm2NrkZf477GtxrljiRJtEv6JYBEkBASQ4JIFIWiUBSKQlEoCkWhKBSFolA0ikbR7VNQNIpG0SgaRaNoFINiUAyKaTuCYlAMikExKAbFolgUi2JRbNtYFItiUSyKRXEoDsWhOBSH4tr5oDgUh+JQPIpH8SgexaN4FN+OGcVvymObrDz2pxjaQF/WNLzM9/I1PyvPP2DO0xDOaw7bbNVambZv", + "debug_symbols": "ddJNboMwEIbhu3jNIv5Pc5WqighxIkuWQQ5UqqLcvcYvadNFN2Pw8D0CM3dxDqfleoz5Mt7E4f0uTiWmFK/HNA79HMdcd++PTjxvj3MJoW6Jl35NTX0JeRaHvKTUic8+Le2h29Tnts59qd1dJ0I+17WCl5jCevXoftO7/6NebVm//wnbmv6od/0Qy5/3FUocZCd0q6ZV26pr1be6b/WtVbljkSzEJXkJIBEkhMSQIBJFoSgUhaJQFIpCUSgKRaEoFI2iUfT2KSgaRaNoFI2iUTSKQTEoBsVsJ4JiUAyKQTEoBsWiWBSLYlHsdrAoFsWiWBSL4lAcikNxKA7Fbf8HxaE4FIfiUTyKR/EoflUe6/SU2J9S2Ib2suThZYbnr+nZeU75VMYhnJcS1vlpvTpR3w==", "file_map": { "50": { "source": "fn main(active: bool, a: pub i16) -> pub i16 {\n if active {\n (a >> a)\n } else {\n 0\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index de152a33fde..87ef314fd29 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/inactive_signed_bitshift/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -33,19 +33,19 @@ expression: artifact "visibility": "public" }, "error_types": { - "14514982005979867414": { + "6668324276689745315": { "error_kind": "string", - "string": "attempt to bit-shift with overflow" + "string": "Field failed to decompose into specified 4 limbs" }, - "16061458491050355795": { + "14514982005979867414": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "attempt to bit-shift with overflow" } } }, "bytecode": [ "func 0", - "current witness index : _65", + "current witness index : _59", "private parameters indices : [_0]", "public parameters indices : [_1]", "return value indices : [_2]", @@ -56,80 +56,76 @@ expression: artifact "BLACKBOX::RANGE [(_4, 16)] []", "EXPR [ (1, _1) (-65536, _3) (-1, _4) 65521 ]", "EXPR [ (-1, _0, _3) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8, _9]]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1, _0) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8]]", "BLACKBOX::RANGE [(_5, 1)] []", "BLACKBOX::RANGE [(_6, 1)] []", "BLACKBOX::RANGE [(_7, 1)] []", "BLACKBOX::RANGE [(_8, 1)] []", - "BLACKBOX::RANGE [(_9, 1)] []", - "EXPR [ (1, _0, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) (-16, _9) 0 ]", - "EXPR [ (1, _9, _9) (2, _9) (-1, _10) 1 ]", - "EXPR [ (-1, _8) (-1, _11) 1 ]", - "EXPR [ (2, _8, _10) (1, _10, _11) (-1, _12) 0 ]", - "EXPR [ (1, _12, _12) (-1, _13) 0 ]", - "EXPR [ (-1, _7) (-1, _14) 1 ]", - "EXPR [ (2, _7, _13) (1, _13, _14) (-1, _15) 0 ]", - "EXPR [ (1, _15, _15) (-1, _16) 0 ]", - "EXPR [ (-1, _6) (-1, _17) 1 ]", - "EXPR [ (2, _6, _16) (1, _16, _17) (-1, _18) 0 ]", - "EXPR [ (1, _18, _18) (-1, _19) 0 ]", - "EXPR [ (-1, _5) (-1, _20) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 32768 ]], outputs: [_21, _22]", + "EXPR [ (1, _0, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) 0 ]", + "EXPR [ (1, _8, _8) (2, _8) (-1, _9) 1 ]", + "EXPR [ (-1, _7) (-1, _10) 1 ]", + "EXPR [ (2, _7, _9) (1, _9, _10) (-1, _11) 0 ]", + "EXPR [ (1, _11, _11) (-1, _12) 0 ]", + "EXPR [ (-1, _6) (-1, _13) 1 ]", + "EXPR [ (2, _6, _12) (1, _12, _13) (-1, _14) 0 ]", + "EXPR [ (1, _14, _14) (-1, _15) 0 ]", + "EXPR [ (-1, _5) (-1, _16) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 32768 ]], outputs: [_17, _18]", + "BLACKBOX::RANGE [(_17, 1)] []", + "BLACKBOX::RANGE [(_18, 15)] []", + "EXPR [ (1, _1) (-32768, _17) (-1, _18) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 131072 ], EXPR [ 131072 ]], outputs: [_19, _20]", + "BLACKBOX::RANGE [(_19, 1)] []", + "BLACKBOX::RANGE [(_20, 17)] []", + "EXPR [ (1, _1) (-131072, _19) (-1, _20) 131072 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _19, _17) (1, _1) (-1, _17) (-1, _19) 1 ], EXPR [ 65536 ]], outputs: [_21, _22]", "BLACKBOX::RANGE [(_21, 1)] []", - "BLACKBOX::RANGE [(_22, 15)] []", - "EXPR [ (1, _1) (-32768, _21) (-1, _22) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 131072 ], EXPR [ 131072 ]], outputs: [_23, _24]", + "BLACKBOX::RANGE [(_22, 16)] []", + "EXPR [ (2, _17, _19) (1, _1) (-1, _17) (-1, _19) (-65536, _21) (-1, _22) 1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (2, _15, _5) (1, _15, _16) 0 ], EXPR [ 32768 ]], outputs: [_23, _24]", "BLACKBOX::RANGE [(_23, 1)] []", - "BLACKBOX::RANGE [(_24, 17)] []", - "EXPR [ (1, _1) (-131072, _23) (-1, _24) 131072 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _23, _21) (1, _1) (-1, _21) (-1, _23) 1 ], EXPR [ 65536 ]], outputs: [_25, _26]", + "BLACKBOX::RANGE [(_24, 15)] []", + "EXPR [ (2, _5, _15) (-1, _57) 0 ]", + "EXPR [ (1, _15, _16) (-1, _58) 0 ]", + "EXPR [ (-32768, _23) (-1, _24) (1, _57) (1, _58) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _22) 0 ], EXPR [ 32768 ]], outputs: [_25, _26]", "BLACKBOX::RANGE [(_25, 1)] []", - "BLACKBOX::RANGE [(_26, 16)] []", - "EXPR [ (2, _21, _23) (1, _1) (-1, _21) (-1, _23) (-65536, _25) (-1, _26) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (2, _19, _5) (1, _19, _20) 0 ], EXPR [ 32768 ]], outputs: [_27, _28]", - "BLACKBOX::RANGE [(_27, 1)] []", - "BLACKBOX::RANGE [(_28, 15)] []", - "EXPR [ (2, _5, _19) (-1, _63) 0 ]", - "EXPR [ (1, _19, _20) (-1, _64) 0 ]", - "EXPR [ (-32768, _27) (-1, _28) (1, _63) (1, _64) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _26) 0 ], EXPR [ 32768 ]], outputs: [_29, _30]", - "BLACKBOX::RANGE [(_29, 1)] []", - "BLACKBOX::RANGE [(_30, 15)] []", - "EXPR [ (1, _26) (-32768, _29) (-1, _30) 0 ]", - "EXPR [ (-1, _31) (-1, _63) (-1, _64) 32768 ]", - "EXPR [ (2, _27, _31) (-1, _65) 0 ]", - "EXPR [ (-1, _32) (1, _63) (1, _64) (1, _65) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _32) 0 ]], outputs: [_33]", - "EXPR [ (1, _32, _33) (1, _34) -1 ]", - "EXPR [ (1, _32, _34) 0 ]", - "EXPR [ (1, _0, _34) 0 ]", + "BLACKBOX::RANGE [(_26, 15)] []", + "EXPR [ (1, _22) (-32768, _25) (-1, _26) 0 ]", + "EXPR [ (-1, _27) (-1, _57) (-1, _58) 32768 ]", + "EXPR [ (2, _23, _27) (-1, _59) 0 ]", + "EXPR [ (-1, _28) (1, _57) (1, _58) (1, _59) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _28) 0 ]], outputs: [_29]", + "EXPR [ (1, _28, _29) (1, _30) -1 ]", + "EXPR [ (1, _28, _30) 0 ]", + "EXPR [ (1, _0, _30) 0 ]", "BRILLIG CALL func 0: PREDICATE: EXPR [ (1, _0) 0 ]", - "inputs: [EXPR [ (-2, _26, _29) (1, _26) (65536, _29) 0 ], EXPR [ (2, _19, _5) (1, _19, _20) (2, _31, _27) 0 ]], outputs: [_35, _36]", - "BLACKBOX::RANGE [(_35, 16)] []", - "BLACKBOX::RANGE [(_36, 16)] []", - "EXPR [ (-1, _0) (-1, _36) (-1, _37) (1, _63) (1, _64) (1, _65) 0 ]", - "BLACKBOX::RANGE [(_37, 16)] []", - "EXPR [ (-1, _38) (1, _63) (1, _64) (1, _65) 0 ]", - "EXPR [ (1, _35, _38) (1, _36) (-1, _39) 0 ]", - "EXPR [ (-2, _26, _29) (1, _26) (65536, _29) (-1, _40) 0 ]", - "EXPR [ (-1, _0, _39) (1, _0, _40) 0 ]", - "EXPR [ (-1, _35) (-1, _41) 32768 ]", - "EXPR [ (-2, _27, _29) (1, _27) (1, _29) (-1, _42) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _35) 0 ]], outputs: [_43]", - "EXPR [ (1, _35, _43) (1, _44) -1 ]", - "EXPR [ (1, _35, _44) 0 ]", - "EXPR [ (2, _41, _42) (1, _35) (-1, _45) 0 ]", + "inputs: [EXPR [ (-2, _22, _25) (1, _22) (65536, _25) 0 ], EXPR [ (2, _15, _5) (1, _15, _16) (2, _27, _23) 0 ]], outputs: [_31, _32]", + "BLACKBOX::RANGE [(_31, 16)] []", + "BLACKBOX::RANGE [(_32, 16)] []", + "EXPR [ (-1, _0) (-1, _32) (-1, _33) (1, _57) (1, _58) (1, _59) 0 ]", + "BLACKBOX::RANGE [(_33, 16)] []", + "EXPR [ (-1, _34) (1, _57) (1, _58) (1, _59) 0 ]", + "EXPR [ (1, _31, _34) (1, _32) (-1, _35) 0 ]", + "EXPR [ (-2, _22, _25) (1, _22) (65536, _25) (-1, _36) 0 ]", + "EXPR [ (-1, _0, _35) (1, _0, _36) 0 ]", + "EXPR [ (-1, _31) (-1, _37) 32768 ]", + "EXPR [ (-2, _23, _25) (1, _23) (1, _25) (-1, _38) 0 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _31) 0 ]], outputs: [_39]", + "EXPR [ (1, _31, _39) (1, _40) -1 ]", + "EXPR [ (1, _31, _40) 0 ]", + "EXPR [ (2, _37, _38) (1, _31) (-1, _41) 0 ]", + "EXPR [ (-1, _40) (-1, _42) 1 ]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _32) 0 ]], outputs: [_43]", + "EXPR [ (1, _32, _43) (1, _44) -1 ]", + "EXPR [ (1, _32, _44) 0 ]", + "EXPR [ (-2, _25, _32) (65536, _25) (1, _32) (-1, _45) 0 ]", "EXPR [ (-1, _44) (-1, _46) 1 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _36) 0 ]], outputs: [_47]", - "EXPR [ (1, _36, _47) (1, _48) -1 ]", - "EXPR [ (1, _36, _48) 0 ]", - "EXPR [ (-2, _29, _36) (65536, _29) (1, _36) (-1, _49) 0 ]", - "EXPR [ (-1, _48) (-1, _50) 1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _23, _21) (1, _45, _46) (1, _21) (1, _23) 131071 ], EXPR [ 65536 ]], outputs: [_51, _52]", - "BLACKBOX::RANGE [(_51, 2)] []", - "BLACKBOX::RANGE [(_52, 16)] []", - "EXPR [ (-2, _21, _23) (1, _45, _46) (1, _21) (1, _23) (-65536, _51) (-1, _52) 131071 ]", - "EXPR [ (-1, _0, _52) (1, _2) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-2, _19, _17) (1, _41, _42) (1, _17) (1, _19) 131071 ], EXPR [ 65536 ]], outputs: [_47, _48]", + "BLACKBOX::RANGE [(_47, 2)] []", + "BLACKBOX::RANGE [(_48, 16)] []", + "EXPR [ (-2, _17, _19) (1, _41, _42) (1, _17) (1, _19) (-65536, _47) (-1, _48) 131071 ]", + "EXPR [ (-1, _0, _48) (1, _2) 0 ]", "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) } }]", "unconstrained func 1", @@ -137,7 +133,7 @@ expression: artifact "unconstrained func 2", "[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": "ddNLboMwEIDhu3jNIn6nuUpVRYQ4EZJlkAOVqih3r/HvtOmimxnwMJ/AHu7iHE7r9Timy3QTh/e7OOUxxvF6jNPQL+OUyur90Ynn7XHJIZQl8VIvXXOfQ1rEIa0xduKzj2t96Db3qealz6W660RI55ILeBlj2K4e3W/37v9Wr1qv3/8029L9Ue76Ycx/3lcocZCd0DWaGm2NrkZf477GtxrljiRJtEv6JYBEkBASQ4JIFIWiUBSKQlEoCkWhKBSFolA0ikbR7VNQNIpG0SgaRaNoFINiUAyKaTuCYlAMikExKAbFolgUi2JRbNtYFItiUSyKRXEoDsWhOBSH4tr5oDgUh+JQPIpH8SgexaN4FN+OGcVvymObrDz2pxjaQF/WNLzM9/I1PyvPP2DO0xDOaw7bbNVambZv", + "debug_symbols": "ddJNboMwEIbhu3jNIv5Pc5WqighxIkuWQQ5UqqLcvcYvadNFN2Pw8D0CM3dxDqfleoz5Mt7E4f0uTiWmFK/HNA79HMdcd++PTjxvj3MJoW6Jl35NTX0JeRaHvKTUic8+Le2h29Tnts59qd1dJ0I+17WCl5jCevXoftO7/6NebVm//wnbmv6od/0Qy5/3FUocZCd0q6ZV26pr1be6b/WtVbljkSzEJXkJIBEkhMSQIBJFoSgUhaJQFIpCUSgKRaEoFI2iUfT2KSgaRaNoFI2iUTSKQTEoBsVsJ4JiUAyKQTEoBsWiWBSLYlHsdrAoFsWiWBSL4lAcikNxKA7Fbf8HxaE4FIfiUTyKR/EoflUe6/SU2J9S2Ib2suThZYbnr+nZeU75VMYhnJcS1vlpvTpR3w==", "file_map": { "50": { "source": "fn main(active: bool, a: pub i16) -> pub i16 {\n if active {\n (a >> a)\n } else {\n 0\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__expanded.snap new file mode 100644 index 00000000000..674fba22c7f --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__expanded.snap @@ -0,0 +1,7 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: expanded_code +--- +fn main(a: u32, b: u8) -> pub u32 { + a << (b as u32) +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap new file mode 100644 index 00000000000..e4d51e49827 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -0,0 +1,103 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "public" + }, + "error_types": { + "14514982005979867414": { + "error_kind": "string", + "string": "attempt to bit-shift with overflow" + }, + "16061458491050355795": { + "error_kind": "string", + "string": "Field failed to decompose into specified 5 limbs" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _23", + "private parameters indices : [_0, _1]", + "public parameters indices : []", + "return value indices : [_2]", + "BLACKBOX::RANGE [(_0, 32)] []", + "BLACKBOX::RANGE [(_1, 8)] []", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 4294967264 ], EXPR [ 4294967296 ]], outputs: [_3, _4]", + "BLACKBOX::RANGE [(_4, 32)] []", + "EXPR [ (1, _1) (-4294967296, _3) (-1, _4) 4294967264 ]", + "EXPR [ (-1, _3) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8, _9]]", + "BLACKBOX::RANGE [(_5, 1)] []", + "BLACKBOX::RANGE [(_6, 1)] []", + "BLACKBOX::RANGE [(_7, 1)] []", + "BLACKBOX::RANGE [(_8, 1)] []", + "BLACKBOX::RANGE [(_9, 1)] []", + "EXPR [ (1, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) (-16, _9) 0 ]", + "EXPR [ (1, _9, _9) (2, _9) (-1, _10) 1 ]", + "EXPR [ (-1, _8) (-1, _11) 1 ]", + "EXPR [ (2, _8, _10) (1, _10, _11) (-1, _12) 0 ]", + "EXPR [ (1, _12, _12) (-1, _13) 0 ]", + "EXPR [ (-1, _7) (-1, _14) 1 ]", + "EXPR [ (2, _7, _13) (1, _13, _14) (-1, _15) 0 ]", + "EXPR [ (1, _15, _15) (-1, _16) 0 ]", + "EXPR [ (-1, _6) (-1, _17) 1 ]", + "EXPR [ (2, _6, _16) (1, _16, _17) (-1, _18) 0 ]", + "EXPR [ (1, _18, _18) (-1, _19) 0 ]", + "EXPR [ (-1, _5) (-1, _20) 1 ]", + "EXPR [ (2, _5, _19) (1, _19, _20) (-1, _21) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _21) 0 ], EXPR [ 4294967296 ]], outputs: [_22, _23]", + "BLACKBOX::RANGE [(_22, 8)] []", + "BLACKBOX::RANGE [(_23, 32)] []", + "EXPR [ (1, _0, _21) (-4294967296, _22) (-1, _23) 0 ]", + "EXPR [ (1, _2) (-1, _23) 0 ]", + "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) } }]", + "unconstrained func 1", + "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" + ], + "debug_symbols": "jZFNjoMwDEbv4nUWxEM6M1xlNEIBTBUpCihNKlWIuzfYpT+LSt18JjHvIeMFBurysXVhnE7Q/C3QRee9O7Z+6m1yUyi3y6pgP7YpEpUreOoXaraRQoImZO8VnK3P/NJptoFrsrF0KwUUhlKLcHSetqdVPejqPVofbqyp77D5nN6/bMwL/V9OtnfxZVpAaFDBF2fNaTgPnN+cP5y/nLqSoqUIroXXItBi0KLQ4tAi0WJBsaBYUCwoFhQLigXFgmLBzbJus0dnO0+3hY059E/7S5d57+wbnuPU05AjbdNzr/yPKw==", + "file_map": { + "50": { + "source": "fn main(a: u32, b: u8) -> pub u32 {\n a << (b as u32)\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "directive_integer_quotient", + "directive_to_radix" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_0.snap new file mode 100644 index 00000000000..e4d51e49827 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_0.snap @@ -0,0 +1,103 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "public" + }, + "error_types": { + "14514982005979867414": { + "error_kind": "string", + "string": "attempt to bit-shift with overflow" + }, + "16061458491050355795": { + "error_kind": "string", + "string": "Field failed to decompose into specified 5 limbs" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _23", + "private parameters indices : [_0, _1]", + "public parameters indices : []", + "return value indices : [_2]", + "BLACKBOX::RANGE [(_0, 32)] []", + "BLACKBOX::RANGE [(_1, 8)] []", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 4294967264 ], EXPR [ 4294967296 ]], outputs: [_3, _4]", + "BLACKBOX::RANGE [(_4, 32)] []", + "EXPR [ (1, _1) (-4294967296, _3) (-1, _4) 4294967264 ]", + "EXPR [ (-1, _3) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8, _9]]", + "BLACKBOX::RANGE [(_5, 1)] []", + "BLACKBOX::RANGE [(_6, 1)] []", + "BLACKBOX::RANGE [(_7, 1)] []", + "BLACKBOX::RANGE [(_8, 1)] []", + "BLACKBOX::RANGE [(_9, 1)] []", + "EXPR [ (1, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) (-16, _9) 0 ]", + "EXPR [ (1, _9, _9) (2, _9) (-1, _10) 1 ]", + "EXPR [ (-1, _8) (-1, _11) 1 ]", + "EXPR [ (2, _8, _10) (1, _10, _11) (-1, _12) 0 ]", + "EXPR [ (1, _12, _12) (-1, _13) 0 ]", + "EXPR [ (-1, _7) (-1, _14) 1 ]", + "EXPR [ (2, _7, _13) (1, _13, _14) (-1, _15) 0 ]", + "EXPR [ (1, _15, _15) (-1, _16) 0 ]", + "EXPR [ (-1, _6) (-1, _17) 1 ]", + "EXPR [ (2, _6, _16) (1, _16, _17) (-1, _18) 0 ]", + "EXPR [ (1, _18, _18) (-1, _19) 0 ]", + "EXPR [ (-1, _5) (-1, _20) 1 ]", + "EXPR [ (2, _5, _19) (1, _19, _20) (-1, _21) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _21) 0 ], EXPR [ 4294967296 ]], outputs: [_22, _23]", + "BLACKBOX::RANGE [(_22, 8)] []", + "BLACKBOX::RANGE [(_23, 32)] []", + "EXPR [ (1, _0, _21) (-4294967296, _22) (-1, _23) 0 ]", + "EXPR [ (1, _2) (-1, _23) 0 ]", + "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) } }]", + "unconstrained func 1", + "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" + ], + "debug_symbols": "jZFNjoMwDEbv4nUWxEM6M1xlNEIBTBUpCihNKlWIuzfYpT+LSt18JjHvIeMFBurysXVhnE7Q/C3QRee9O7Z+6m1yUyi3y6pgP7YpEpUreOoXaraRQoImZO8VnK3P/NJptoFrsrF0KwUUhlKLcHSetqdVPejqPVofbqyp77D5nN6/bMwL/V9OtnfxZVpAaFDBF2fNaTgPnN+cP5y/nLqSoqUIroXXItBi0KLQ4tAi0WJBsaBYUCwoFhQLigXFgmLBzbJus0dnO0+3hY059E/7S5d57+wbnuPU05AjbdNzr/yPKw==", + "file_map": { + "50": { + "source": "fn main(a: u32, b: u8) -> pub u32 {\n a << (b as u32)\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "directive_integer_quotient", + "directive_to_radix" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_9223372036854775807.snap new file mode 100644 index 00000000000..e4d51e49827 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -0,0 +1,103 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "public" + }, + "error_types": { + "14514982005979867414": { + "error_kind": "string", + "string": "attempt to bit-shift with overflow" + }, + "16061458491050355795": { + "error_kind": "string", + "string": "Field failed to decompose into specified 5 limbs" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _23", + "private parameters indices : [_0, _1]", + "public parameters indices : []", + "return value indices : [_2]", + "BLACKBOX::RANGE [(_0, 32)] []", + "BLACKBOX::RANGE [(_1, 8)] []", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _1) 4294967264 ], EXPR [ 4294967296 ]], outputs: [_3, _4]", + "BLACKBOX::RANGE [(_4, 32)] []", + "EXPR [ (1, _1) (-4294967296, _3) (-1, _4) 4294967264 ]", + "EXPR [ (-1, _3) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _1) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_5, _6, _7, _8, _9]]", + "BLACKBOX::RANGE [(_5, 1)] []", + "BLACKBOX::RANGE [(_6, 1)] []", + "BLACKBOX::RANGE [(_7, 1)] []", + "BLACKBOX::RANGE [(_8, 1)] []", + "BLACKBOX::RANGE [(_9, 1)] []", + "EXPR [ (1, _1) (-1, _5) (-2, _6) (-4, _7) (-8, _8) (-16, _9) 0 ]", + "EXPR [ (1, _9, _9) (2, _9) (-1, _10) 1 ]", + "EXPR [ (-1, _8) (-1, _11) 1 ]", + "EXPR [ (2, _8, _10) (1, _10, _11) (-1, _12) 0 ]", + "EXPR [ (1, _12, _12) (-1, _13) 0 ]", + "EXPR [ (-1, _7) (-1, _14) 1 ]", + "EXPR [ (2, _7, _13) (1, _13, _14) (-1, _15) 0 ]", + "EXPR [ (1, _15, _15) (-1, _16) 0 ]", + "EXPR [ (-1, _6) (-1, _17) 1 ]", + "EXPR [ (2, _6, _16) (1, _16, _17) (-1, _18) 0 ]", + "EXPR [ (1, _18, _18) (-1, _19) 0 ]", + "EXPR [ (-1, _5) (-1, _20) 1 ]", + "EXPR [ (2, _5, _19) (1, _19, _20) (-1, _21) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _21) 0 ], EXPR [ 4294967296 ]], outputs: [_22, _23]", + "BLACKBOX::RANGE [(_22, 8)] []", + "BLACKBOX::RANGE [(_23, 32)] []", + "EXPR [ (1, _0, _21) (-4294967296, _22) (-1, _23) 0 ]", + "EXPR [ (1, _2) (-1, _23) 0 ]", + "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) } }]", + "unconstrained func 1", + "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" + ], + "debug_symbols": "jZFNjoMwDEbv4nUWxEM6M1xlNEIBTBUpCihNKlWIuzfYpT+LSt18JjHvIeMFBurysXVhnE7Q/C3QRee9O7Z+6m1yUyi3y6pgP7YpEpUreOoXaraRQoImZO8VnK3P/NJptoFrsrF0KwUUhlKLcHSetqdVPejqPVofbqyp77D5nN6/bMwL/V9OtnfxZVpAaFDBF2fNaTgPnN+cP5y/nLqSoqUIroXXItBi0KLQ4tAi0WJBsaBYUCwoFhQLigXFgmLBzbJus0dnO0+3hY059E/7S5d57+wbnuPU05AjbdNzr/yPKw==", + "file_map": { + "50": { + "source": "fn main(a: u32, b: u8) -> pub u32 {\n a << (b as u32)\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "directive_integer_quotient", + "directive_to_radix" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap new file mode 100644 index 00000000000..d18e8c2dc4c --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -0,0 +1,67 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "public" + }, + "error_types": { + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _2", + "private parameters indices : [_0, _1]", + "public parameters indices : []", + "return value indices : [_2]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _1) 0 ]], outputs: [_2]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 22 }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(2) }, 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: 27 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "jZBNCsMgEIXvMmsXSaj98SohBGMmQRAVo4USvHs1xDZZFLqZcZz3vYG3wohDmHupJ7MAa1cYnFRKzr0ygntpdPpdocqlvgOrCdQPYE2MBIqi9w4xCw5IMrLcofbAdFCKwJOrsIkWy/XWPXdpWxFAPaaeDCepML8i+dLVb/Ry3Vl6+cD0f7pcpvREd2niQrpTADH7OMkHhfs4BS0OW/+yZVMCtM4IHIPD7HRIMdW2aUhz62K+9gY=", + "file_map": { + "50": { + "source": "fn main(a: u32, b: u8) -> pub u32 {\n a << (b as u32)\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_0.snap new file mode 100644 index 00000000000..d18e8c2dc4c --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_0.snap @@ -0,0 +1,67 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "public" + }, + "error_types": { + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _2", + "private parameters indices : [_0, _1]", + "public parameters indices : []", + "return value indices : [_2]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _1) 0 ]], outputs: [_2]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 22 }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(2) }, 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: 27 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "jZBNCsMgEIXvMmsXSaj98SohBGMmQRAVo4USvHs1xDZZFLqZcZz3vYG3wohDmHupJ7MAa1cYnFRKzr0ygntpdPpdocqlvgOrCdQPYE2MBIqi9w4xCw5IMrLcofbAdFCKwJOrsIkWy/XWPXdpWxFAPaaeDCepML8i+dLVb/Ry3Vl6+cD0f7pcpvREd2niQrpTADH7OMkHhfs4BS0OW/+yZVMCtM4IHIPD7HRIMdW2aUhz62K+9gY=", + "file_map": { + "50": { + "source": "fn main(a: u32, b: u8) -> pub u32 {\n a << (b as u32)\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_9223372036854775807.snap new file mode 100644 index 00000000000..d18e8c2dc4c --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -0,0 +1,67 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 8 + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "integer", + "sign": "unsigned", + "width": 32 + }, + "visibility": "public" + }, + "error_types": { + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _2", + "private parameters indices : [_0, _1]", + "public parameters indices : []", + "return value indices : [_2]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _1) 0 ]], outputs: [_2]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32839 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U32) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U8) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 16 }, Call { location: 17 }, Mov { destination: Direct(32838), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 22 }, Cast { destination: Relative(3), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(2) }, 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: 27 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "jZBNCsMgEIXvMmsXSaj98SohBGMmQRAVo4USvHs1xDZZFLqZcZz3vYG3wohDmHupJ7MAa1cYnFRKzr0ygntpdPpdocqlvgOrCdQPYE2MBIqi9w4xCw5IMrLcofbAdFCKwJOrsIkWy/XWPXdpWxFAPaaeDCepML8i+dLVb/Ry3Vl6+cD0f7pcpvREd2niQrpTADH7OMkHhfs4BS0OW/+yZVMCtM4IHIPD7HRIMdW2aUhz62K+9gY=", + "file_map": { + "50": { + "source": "fn main(a: u32, b: u8) -> pub u32 {\n a << (b as u32)\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__stdout.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__stdout.snap new file mode 100644 index 00000000000..1c6d3a762de --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9541/execute__tests__stdout.snap @@ -0,0 +1,5 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: stdout +--- +[regression_9541] Circuit output: 67108864 diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 02777802acb..743f4252c8d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -45,14 +45,14 @@ expression: artifact "error_kind": "string", "string": "attempt to add with overflow" }, - "5795655218219125583": { - "error_kind": "string", - "string": "Field failed to decompose into specified 8 limbs" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" }, + "13958753312450585022": { + "error_kind": "string", + "string": "Field failed to decompose into specified 7 limbs" + }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" @@ -61,7 +61,7 @@ expression: artifact }, "bytecode": [ "func 0", - "current witness index : _84", + "current witness index : _80", "private parameters indices : [_0, _1, _2]", "public parameters indices : []", "return value indices : []", @@ -128,7 +128,7 @@ expression: artifact "BLACKBOX::RANGE [(_33, 129)] []", "EXPR [ (1, _2) (-340282366920938463463374607431768211456, _31) (-1, _32) 340282366920938463463374607431768211328 ]", "EXPR [ (-1, _31) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 8 ], EXPR [ 2 ]], outputs: [[_34, _35, _36, _37, _38, _39, _40, _41]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_34, _35, _36, _37, _38, _39, _40]]", "BLACKBOX::RANGE [(_34, 1)] []", "BLACKBOX::RANGE [(_35, 1)] []", "BLACKBOX::RANGE [(_36, 1)] []", @@ -136,73 +136,69 @@ expression: artifact "BLACKBOX::RANGE [(_38, 1)] []", "BLACKBOX::RANGE [(_39, 1)] []", "BLACKBOX::RANGE [(_40, 1)] []", - "BLACKBOX::RANGE [(_41, 1)] []", - "EXPR [ (1, _2) (-1, _34) (-2, _35) (-4, _36) (-8, _37) (-16, _38) (-32, _39) (-64, _40) (-128, _41) 0 ]", - "EXPR [ (1, _41, _41) (2, _41) (-1, _42) 1 ]", - "EXPR [ (-1, _40) (-1, _43) 1 ]", - "EXPR [ (2, _40, _42) (1, _42, _43) (-1, _44) 0 ]", - "EXPR [ (1, _44, _44) (-1, _45) 0 ]", - "EXPR [ (-1, _39) (-1, _46) 1 ]", - "EXPR [ (2, _39, _45) (1, _45, _46) (-1, _47) 0 ]", - "EXPR [ (1, _47, _47) (-1, _48) 0 ]", - "EXPR [ (-1, _38) (-1, _49) 1 ]", - "EXPR [ (2, _38, _48) (1, _48, _49) (-1, _50) 0 ]", - "EXPR [ (1, _50, _50) (-1, _51) 0 ]", - "EXPR [ (-1, _37) (-1, _52) 1 ]", - "EXPR [ (2, _37, _51) (1, _51, _52) (-1, _53) 0 ]", - "EXPR [ (1, _53, _53) (-1, _54) 0 ]", - "EXPR [ (-1, _36) (-1, _55) 1 ]", - "EXPR [ (2, _36, _54) (1, _54, _55) (-1, _56) 0 ]", - "EXPR [ (1, _56, _56) (-1, _57) 0 ]", - "EXPR [ (-1, _35) (-1, _58) 1 ]", - "EXPR [ (2, _35, _57) (1, _57, _58) (-1, _59) 0 ]", - "EXPR [ (1, _59, _59) (-1, _60) 0 ]", - "EXPR [ (-1, _34) (-1, _61) 1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (2, _60, _34) (1, _60, _61) 0 ]], outputs: [_62]", - "EXPR [ (2, _34, _60) (1, _60, _61) (-1, _63) 0 ]", - "EXPR [ (1, _62, _63) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _63) 0 ]], outputs: [_64, _65]", - "BLACKBOX::RANGE [(_65, 128)] []", - "EXPR [ (1, _63) (-1, _65) (-1, _66) -1 ]", - "BLACKBOX::RANGE [(_66, 128)] []", - "EXPR [ (-1, _63, _64) (1, _0) (-1, _65) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _64) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_67, _68]", - "BLACKBOX::RANGE [(_67, 64)] []", - "BLACKBOX::RANGE [(_68, 64)] []", - "EXPR [ (1, _64) (-18446744073709551616, _67) (-1, _68) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _63) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_69, _70]", - "BLACKBOX::RANGE [(_69, 64)] []", - "BLACKBOX::RANGE [(_70, 64)] []", - "EXPR [ (1, _63) (-18446744073709551616, _69) (-1, _70) 0 ]", - "EXPR [ (1, _67, _69) 0 ]", - "EXPR [ (1, _64) -3086 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _63) 0 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_71, _72]", - "BLACKBOX::RANGE [(_71, 126)] []", - "EXPR [ (-1, _72) (-1, _73) 340282366920938463463374607431768211455 ]", + "EXPR [ (1, _2) (-1, _34) (-2, _35) (-4, _36) (-8, _37) (-16, _38) (-32, _39) (-64, _40) 0 ]", + "EXPR [ (1, _40, _40) (2, _40) (-1, _41) 1 ]", + "EXPR [ (-1, _39) (-1, _42) 1 ]", + "EXPR [ (2, _39, _41) (1, _41, _42) (-1, _43) 0 ]", + "EXPR [ (1, _43, _43) (-1, _44) 0 ]", + "EXPR [ (-1, _38) (-1, _45) 1 ]", + "EXPR [ (2, _38, _44) (1, _44, _45) (-1, _46) 0 ]", + "EXPR [ (1, _46, _46) (-1, _47) 0 ]", + "EXPR [ (-1, _37) (-1, _48) 1 ]", + "EXPR [ (2, _37, _47) (1, _47, _48) (-1, _49) 0 ]", + "EXPR [ (1, _49, _49) (-1, _50) 0 ]", + "EXPR [ (-1, _36) (-1, _51) 1 ]", + "EXPR [ (2, _36, _50) (1, _50, _51) (-1, _52) 0 ]", + "EXPR [ (1, _52, _52) (-1, _53) 0 ]", + "EXPR [ (-1, _35) (-1, _54) 1 ]", + "EXPR [ (2, _35, _53) (1, _53, _54) (-1, _55) 0 ]", + "EXPR [ (1, _55, _55) (-1, _56) 0 ]", + "EXPR [ (-1, _34) (-1, _57) 1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (2, _56, _34) (1, _56, _57) 0 ]], outputs: [_58]", + "EXPR [ (2, _34, _56) (1, _56, _57) (-1, _59) 0 ]", + "EXPR [ (1, _58, _59) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _59) 0 ]], outputs: [_60, _61]", + "BLACKBOX::RANGE [(_61, 128)] []", + "EXPR [ (1, _59) (-1, _61) (-1, _62) -1 ]", + "BLACKBOX::RANGE [(_62, 128)] []", + "EXPR [ (-1, _59, _60) (1, _0) (-1, _61) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _60) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_63, _64]", + "BLACKBOX::RANGE [(_63, 64)] []", + "BLACKBOX::RANGE [(_64, 64)] []", + "EXPR [ (1, _60) (-18446744073709551616, _63) (-1, _64) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _59) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_65, _66]", + "BLACKBOX::RANGE [(_65, 64)] []", + "BLACKBOX::RANGE [(_66, 64)] []", + "EXPR [ (1, _59) (-18446744073709551616, _65) (-1, _66) 0 ]", + "EXPR [ (1, _63, _65) 0 ]", + "EXPR [ (1, _60) -3086 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _59) 0 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_67, _68]", + "BLACKBOX::RANGE [(_67, 126)] []", + "EXPR [ (-1, _68) (-1, _69) 340282366920938463463374607431768211455 ]", + "BLACKBOX::RANGE [(_69, 129)] []", + "EXPR [ (1, _0, _59) (-340282366920938463463374607431768211456, _67) (-1, _68) 0 ]", + "EXPR [ (1, _67) (-1, _70) 20746827117051438823981594372716013474 ]", + "BLACKBOX::RANGE [(_70, 126)] []", + "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _67) 64323764613183177041862057485226039389 ]], outputs: [_71]", + "EXPR [ (-1, _67, _71) (64323764613183177041862057485226039389, _71) (1, _72) -1 ]", + "EXPR [ (-1, _67, _72) (64323764613183177041862057485226039389, _72) 0 ]", + "EXPR [ (-1, _68, _72) (53438638232309528389504892708671455233, _72) (-1, _73) 0 ]", "BLACKBOX::RANGE [(_73, 129)] []", - "EXPR [ (1, _0, _63) (-340282366920938463463374607431768211456, _71) (-1, _72) 0 ]", - "EXPR [ (1, _71) (-1, _74) 20746827117051438823981594372716013474 ]", - "BLACKBOX::RANGE [(_74, 126)] []", - "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _71) 64323764613183177041862057485226039389 ]], outputs: [_75]", - "EXPR [ (-1, _71, _75) (64323764613183177041862057485226039389, _75) (1, _76) -1 ]", - "EXPR [ (-1, _71, _76) (64323764613183177041862057485226039389, _76) 0 ]", - "EXPR [ (-1, _72, _76) (53438638232309528389504892708671455233, _76) (-1, _77) 0 ]", - "BLACKBOX::RANGE [(_77, 129)] []", - "EXPR [ (1, _72) -49380 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_78, _79]", + "EXPR [ (1, _68) -49380 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_74, _75]", + "BLACKBOX::RANGE [(_75, 129)] []", + "EXPR [ (-1, _75) (-1, _76) 340282366920938463463374607431768211455 ]", + "BLACKBOX::RANGE [(_76, 129)] []", + "EXPR [ (1, _0) (-1, _1) (-340282366920938463463374607431768211456, _74) (-1, _75) 340282366920938463463374607431768211456 ]", + "EXPR [ (-1, _74) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _0) (1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_77, _78]", + "BLACKBOX::RANGE [(_78, 129)] []", + "EXPR [ (-1, _78) (-1, _79) 340282366920938463463374607431768211455 ]", "BLACKBOX::RANGE [(_79, 129)] []", - "EXPR [ (-1, _79) (-1, _80) 340282366920938463463374607431768211455 ]", - "BLACKBOX::RANGE [(_80, 129)] []", - "EXPR [ (1, _0) (-1, _1) (-340282366920938463463374607431768211456, _78) (-1, _79) 340282366920938463463374607431768211456 ]", - "EXPR [ (-1, _78) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _0) (1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_81, _82]", - "BLACKBOX::RANGE [(_82, 129)] []", - "EXPR [ (-1, _82) (-1, _83) 340282366920938463463374607431768211455 ]", - "BLACKBOX::RANGE [(_83, 129)] []", - "EXPR [ (-1, _0) (1, _1) (-340282366920938463463374607431768211456, _81) (-1, _82) 340282366920938463463374607431768211456 ]", - "EXPR [ (-1, _81) 1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_84]", - "EXPR [ (1, _0, _84) (-1, _1, _84) -1 ]", + "EXPR [ (-1, _0) (1, _1) (-340282366920938463463374607431768211456, _77) (-1, _78) 340282366920938463463374607431768211456 ]", + "EXPR [ (-1, _77) 1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_80]", + "EXPR [ (1, _0, _80) (-1, _1, _80) -1 ]", "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) } }]", "unconstrained func 1", @@ -210,7 +206,7 @@ expression: artifact "unconstrained func 2", "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" ], - "debug_symbols": "pZbNbqswEIXfhTULezz+66tcXVUkIRUSIhFNKl1Fffc7w8y06aIbs+E7CTlfXcA2j+40Hu5vr9Nyvrx3L38e3WGd5nl6e50vx+E2XRb69vHZd/bx9baOI33VPZ2n1nVYx+XWvSz3ee67j2G+bz96vw7Lxtuw0lnXd+NyIpLwPM0jp8/+u+1+r3qIWvbhux5b+lhb+ilZP/t9/doyfnBZ++BhXz+0jB+wWD+Gff3cNP5SrV9xVz/4lvGHYA9vwJbxh/j19xPu65eW8aOz8aOL+/rQMn5Eb31M+/qpafwFrF/Krn50Lf34tf7Epvn31I9N/WTzL+awr19bnv/k7PlNPu7rh6Z+tPuX8s/795c+Dcdp/bHjdUBLRt8FuvF9h/TDvovbMW3HvB3Ldqzb0TuBF4CA+rTsexLQ6uujIAmyoAjqBnACLwBBEIgFxAJiAbGAWEAsgSx0twJZ6KIFEAQBCqIgCbKgCOoGdAKxoFhQLCgWFAuKBcni6RYgaTzNVqy87dKFc7xpEz1vvkRSeb6ggbdFIiqjMvEmS2Qf/R+xKKswOaVXgjIoURmVSam+pL6kvqy+rL6svqy+rL6svqy+rL6svqy+or6ivqK+or6ivqK+or6ivqK+or6qvqq+qr6qvqq+qr6qvqq+qr6qPu+cBW8BLAQLaCFaSBayhWLBzDwLfOXg+ZWDA1gIFtBCtJAsZAvFQtXAM0OCmcHMPD/Ac2AzcIgWkoVsoVhgc+A5ymbk4C2AhWABLbB5m9ls5rnNcwd4R/sY1mk4zKO+MJ/vy/Hp/fn272pn7A37ul6O4+m+jrzybOdoLfoP", + "debug_symbols": "pZbNbqswEIXfhTULezz+66tcXVUkIRUSIhFNKl1Fffc7w8y06aIbs+E7CTlfXcA2j+40Hu5vr9Nyvrx3L38e3WGd5nl6e50vx+E2XRb69vHZd/bx9baOI33VPZ2n1nVYx+XWvSz3ee67j2G+bz96vw7Lxtuw0lnXd+NyIpLwPM0jp8/+u+1+r3qIWvbhux5b+lhb+ilZP/t9/doyfnBZ++BhXz+0jB+wWD+Gff3cNP5SrV9xVz/4lvGHYA9vwJbxh/j19xPu65eW8aOz8aOL+/rQMn5Eb31M+/qpafwFrF/Krn50Lf34tf7Epvn31I9N/WTzL+awr19bnv/k7PlNPu7rh6Z+tPuX8s/795c+Dcdp/bHjdUBLRt8FuvF9h/TDvovbMW3HvB3Ldqzb0TuBF4CA+rTsexLQ6uujIAmyoAjqBnACLwBBEIgFxAJiAbGAWEAsgSx0twJZ6KIFEAQBCqIgCbKgCOoGdAKxoFhQLCgWFAuKBcni6RYgaTzNVqy87dKFc7xpEz1vvkRSeb6ggbdFIiqjMvEmS2Qf/R+xKKswOaVXgjIoURmVSam+pL6kvqy+rL6svqy+rL6svqy+rL6svqy+or6ivqK+or6ivqK+or6ivqK+or6qvqq+qr6qvqq+qr6qvqq+qr6qPu+cBW8BLAQLaCFaYG3lkPl1gkOxUDXwLJDgLYCFYAEtRAvJgpm9mXlegOcJxWbg4C2AhWABLbA5cGAzcsgWioWqgWeLBDZvs5bNPG95zgDvVh/DOg2HedSX4fN9OT69G9/+Xe2MvT1f18txPN3XkVeV7RytM/8B", "file_map": { "50": { "source": "fn main(x: u128, y: u128, z: u128) {\n let const_x = 12345;\n let const_y = 2345678;\n let const_z = 2;\n\n assert_eq(x + y, const_x + const_y);\n assert_eq(y - x, const_y - const_x);\n assert_eq(x * y, const_x * const_y);\n assert_eq(y / x, const_y / const_x);\n assert_eq(y % x, const_y % const_x);\n assert_eq(!x, !const_x);\n assert_eq(x ^ y, const_x ^ const_y);\n assert_eq(x & y, const_x & const_y);\n assert_eq(x | y, const_x | const_y);\n assert_eq(x >> z, const_x >> const_z);\n assert_eq(x << z, const_x << const_z);\n assert_eq(x < y, const_x < const_y);\n assert_eq(x <= y, const_x <= const_y);\n assert_eq(x != y, const_x != const_y);\n assert_eq(y > x, const_y > const_x);\n assert_eq(y >= x, const_y >= const_x);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_0.snap index 02777802acb..743f4252c8d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_0.snap @@ -45,14 +45,14 @@ expression: artifact "error_kind": "string", "string": "attempt to add with overflow" }, - "5795655218219125583": { - "error_kind": "string", - "string": "Field failed to decompose into specified 8 limbs" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" }, + "13958753312450585022": { + "error_kind": "string", + "string": "Field failed to decompose into specified 7 limbs" + }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" @@ -61,7 +61,7 @@ expression: artifact }, "bytecode": [ "func 0", - "current witness index : _84", + "current witness index : _80", "private parameters indices : [_0, _1, _2]", "public parameters indices : []", "return value indices : []", @@ -128,7 +128,7 @@ expression: artifact "BLACKBOX::RANGE [(_33, 129)] []", "EXPR [ (1, _2) (-340282366920938463463374607431768211456, _31) (-1, _32) 340282366920938463463374607431768211328 ]", "EXPR [ (-1, _31) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 8 ], EXPR [ 2 ]], outputs: [[_34, _35, _36, _37, _38, _39, _40, _41]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_34, _35, _36, _37, _38, _39, _40]]", "BLACKBOX::RANGE [(_34, 1)] []", "BLACKBOX::RANGE [(_35, 1)] []", "BLACKBOX::RANGE [(_36, 1)] []", @@ -136,73 +136,69 @@ expression: artifact "BLACKBOX::RANGE [(_38, 1)] []", "BLACKBOX::RANGE [(_39, 1)] []", "BLACKBOX::RANGE [(_40, 1)] []", - "BLACKBOX::RANGE [(_41, 1)] []", - "EXPR [ (1, _2) (-1, _34) (-2, _35) (-4, _36) (-8, _37) (-16, _38) (-32, _39) (-64, _40) (-128, _41) 0 ]", - "EXPR [ (1, _41, _41) (2, _41) (-1, _42) 1 ]", - "EXPR [ (-1, _40) (-1, _43) 1 ]", - "EXPR [ (2, _40, _42) (1, _42, _43) (-1, _44) 0 ]", - "EXPR [ (1, _44, _44) (-1, _45) 0 ]", - "EXPR [ (-1, _39) (-1, _46) 1 ]", - "EXPR [ (2, _39, _45) (1, _45, _46) (-1, _47) 0 ]", - "EXPR [ (1, _47, _47) (-1, _48) 0 ]", - "EXPR [ (-1, _38) (-1, _49) 1 ]", - "EXPR [ (2, _38, _48) (1, _48, _49) (-1, _50) 0 ]", - "EXPR [ (1, _50, _50) (-1, _51) 0 ]", - "EXPR [ (-1, _37) (-1, _52) 1 ]", - "EXPR [ (2, _37, _51) (1, _51, _52) (-1, _53) 0 ]", - "EXPR [ (1, _53, _53) (-1, _54) 0 ]", - "EXPR [ (-1, _36) (-1, _55) 1 ]", - "EXPR [ (2, _36, _54) (1, _54, _55) (-1, _56) 0 ]", - "EXPR [ (1, _56, _56) (-1, _57) 0 ]", - "EXPR [ (-1, _35) (-1, _58) 1 ]", - "EXPR [ (2, _35, _57) (1, _57, _58) (-1, _59) 0 ]", - "EXPR [ (1, _59, _59) (-1, _60) 0 ]", - "EXPR [ (-1, _34) (-1, _61) 1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (2, _60, _34) (1, _60, _61) 0 ]], outputs: [_62]", - "EXPR [ (2, _34, _60) (1, _60, _61) (-1, _63) 0 ]", - "EXPR [ (1, _62, _63) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _63) 0 ]], outputs: [_64, _65]", - "BLACKBOX::RANGE [(_65, 128)] []", - "EXPR [ (1, _63) (-1, _65) (-1, _66) -1 ]", - "BLACKBOX::RANGE [(_66, 128)] []", - "EXPR [ (-1, _63, _64) (1, _0) (-1, _65) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _64) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_67, _68]", - "BLACKBOX::RANGE [(_67, 64)] []", - "BLACKBOX::RANGE [(_68, 64)] []", - "EXPR [ (1, _64) (-18446744073709551616, _67) (-1, _68) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _63) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_69, _70]", - "BLACKBOX::RANGE [(_69, 64)] []", - "BLACKBOX::RANGE [(_70, 64)] []", - "EXPR [ (1, _63) (-18446744073709551616, _69) (-1, _70) 0 ]", - "EXPR [ (1, _67, _69) 0 ]", - "EXPR [ (1, _64) -3086 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _63) 0 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_71, _72]", - "BLACKBOX::RANGE [(_71, 126)] []", - "EXPR [ (-1, _72) (-1, _73) 340282366920938463463374607431768211455 ]", + "EXPR [ (1, _2) (-1, _34) (-2, _35) (-4, _36) (-8, _37) (-16, _38) (-32, _39) (-64, _40) 0 ]", + "EXPR [ (1, _40, _40) (2, _40) (-1, _41) 1 ]", + "EXPR [ (-1, _39) (-1, _42) 1 ]", + "EXPR [ (2, _39, _41) (1, _41, _42) (-1, _43) 0 ]", + "EXPR [ (1, _43, _43) (-1, _44) 0 ]", + "EXPR [ (-1, _38) (-1, _45) 1 ]", + "EXPR [ (2, _38, _44) (1, _44, _45) (-1, _46) 0 ]", + "EXPR [ (1, _46, _46) (-1, _47) 0 ]", + "EXPR [ (-1, _37) (-1, _48) 1 ]", + "EXPR [ (2, _37, _47) (1, _47, _48) (-1, _49) 0 ]", + "EXPR [ (1, _49, _49) (-1, _50) 0 ]", + "EXPR [ (-1, _36) (-1, _51) 1 ]", + "EXPR [ (2, _36, _50) (1, _50, _51) (-1, _52) 0 ]", + "EXPR [ (1, _52, _52) (-1, _53) 0 ]", + "EXPR [ (-1, _35) (-1, _54) 1 ]", + "EXPR [ (2, _35, _53) (1, _53, _54) (-1, _55) 0 ]", + "EXPR [ (1, _55, _55) (-1, _56) 0 ]", + "EXPR [ (-1, _34) (-1, _57) 1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (2, _56, _34) (1, _56, _57) 0 ]], outputs: [_58]", + "EXPR [ (2, _34, _56) (1, _56, _57) (-1, _59) 0 ]", + "EXPR [ (1, _58, _59) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _59) 0 ]], outputs: [_60, _61]", + "BLACKBOX::RANGE [(_61, 128)] []", + "EXPR [ (1, _59) (-1, _61) (-1, _62) -1 ]", + "BLACKBOX::RANGE [(_62, 128)] []", + "EXPR [ (-1, _59, _60) (1, _0) (-1, _61) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _60) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_63, _64]", + "BLACKBOX::RANGE [(_63, 64)] []", + "BLACKBOX::RANGE [(_64, 64)] []", + "EXPR [ (1, _60) (-18446744073709551616, _63) (-1, _64) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _59) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_65, _66]", + "BLACKBOX::RANGE [(_65, 64)] []", + "BLACKBOX::RANGE [(_66, 64)] []", + "EXPR [ (1, _59) (-18446744073709551616, _65) (-1, _66) 0 ]", + "EXPR [ (1, _63, _65) 0 ]", + "EXPR [ (1, _60) -3086 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _59) 0 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_67, _68]", + "BLACKBOX::RANGE [(_67, 126)] []", + "EXPR [ (-1, _68) (-1, _69) 340282366920938463463374607431768211455 ]", + "BLACKBOX::RANGE [(_69, 129)] []", + "EXPR [ (1, _0, _59) (-340282366920938463463374607431768211456, _67) (-1, _68) 0 ]", + "EXPR [ (1, _67) (-1, _70) 20746827117051438823981594372716013474 ]", + "BLACKBOX::RANGE [(_70, 126)] []", + "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _67) 64323764613183177041862057485226039389 ]], outputs: [_71]", + "EXPR [ (-1, _67, _71) (64323764613183177041862057485226039389, _71) (1, _72) -1 ]", + "EXPR [ (-1, _67, _72) (64323764613183177041862057485226039389, _72) 0 ]", + "EXPR [ (-1, _68, _72) (53438638232309528389504892708671455233, _72) (-1, _73) 0 ]", "BLACKBOX::RANGE [(_73, 129)] []", - "EXPR [ (1, _0, _63) (-340282366920938463463374607431768211456, _71) (-1, _72) 0 ]", - "EXPR [ (1, _71) (-1, _74) 20746827117051438823981594372716013474 ]", - "BLACKBOX::RANGE [(_74, 126)] []", - "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _71) 64323764613183177041862057485226039389 ]], outputs: [_75]", - "EXPR [ (-1, _71, _75) (64323764613183177041862057485226039389, _75) (1, _76) -1 ]", - "EXPR [ (-1, _71, _76) (64323764613183177041862057485226039389, _76) 0 ]", - "EXPR [ (-1, _72, _76) (53438638232309528389504892708671455233, _76) (-1, _77) 0 ]", - "BLACKBOX::RANGE [(_77, 129)] []", - "EXPR [ (1, _72) -49380 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_78, _79]", + "EXPR [ (1, _68) -49380 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_74, _75]", + "BLACKBOX::RANGE [(_75, 129)] []", + "EXPR [ (-1, _75) (-1, _76) 340282366920938463463374607431768211455 ]", + "BLACKBOX::RANGE [(_76, 129)] []", + "EXPR [ (1, _0) (-1, _1) (-340282366920938463463374607431768211456, _74) (-1, _75) 340282366920938463463374607431768211456 ]", + "EXPR [ (-1, _74) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _0) (1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_77, _78]", + "BLACKBOX::RANGE [(_78, 129)] []", + "EXPR [ (-1, _78) (-1, _79) 340282366920938463463374607431768211455 ]", "BLACKBOX::RANGE [(_79, 129)] []", - "EXPR [ (-1, _79) (-1, _80) 340282366920938463463374607431768211455 ]", - "BLACKBOX::RANGE [(_80, 129)] []", - "EXPR [ (1, _0) (-1, _1) (-340282366920938463463374607431768211456, _78) (-1, _79) 340282366920938463463374607431768211456 ]", - "EXPR [ (-1, _78) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _0) (1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_81, _82]", - "BLACKBOX::RANGE [(_82, 129)] []", - "EXPR [ (-1, _82) (-1, _83) 340282366920938463463374607431768211455 ]", - "BLACKBOX::RANGE [(_83, 129)] []", - "EXPR [ (-1, _0) (1, _1) (-340282366920938463463374607431768211456, _81) (-1, _82) 340282366920938463463374607431768211456 ]", - "EXPR [ (-1, _81) 1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_84]", - "EXPR [ (1, _0, _84) (-1, _1, _84) -1 ]", + "EXPR [ (-1, _0) (1, _1) (-340282366920938463463374607431768211456, _77) (-1, _78) 340282366920938463463374607431768211456 ]", + "EXPR [ (-1, _77) 1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_80]", + "EXPR [ (1, _0, _80) (-1, _1, _80) -1 ]", "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) } }]", "unconstrained func 1", @@ -210,7 +206,7 @@ expression: artifact "unconstrained func 2", "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" ], - "debug_symbols": "pZbNbqswEIXfhTULezz+66tcXVUkIRUSIhFNKl1Fffc7w8y06aIbs+E7CTlfXcA2j+40Hu5vr9Nyvrx3L38e3WGd5nl6e50vx+E2XRb69vHZd/bx9baOI33VPZ2n1nVYx+XWvSz3ee67j2G+bz96vw7Lxtuw0lnXd+NyIpLwPM0jp8/+u+1+r3qIWvbhux5b+lhb+ilZP/t9/doyfnBZ++BhXz+0jB+wWD+Gff3cNP5SrV9xVz/4lvGHYA9vwJbxh/j19xPu65eW8aOz8aOL+/rQMn5Eb31M+/qpafwFrF/Krn50Lf34tf7Epvn31I9N/WTzL+awr19bnv/k7PlNPu7rh6Z+tPuX8s/795c+Dcdp/bHjdUBLRt8FuvF9h/TDvovbMW3HvB3Ldqzb0TuBF4CA+rTsexLQ6uujIAmyoAjqBnACLwBBEIgFxAJiAbGAWEAsgSx0twJZ6KIFEAQBCqIgCbKgCOoGdAKxoFhQLCgWFAuKBcni6RYgaTzNVqy87dKFc7xpEz1vvkRSeb6ggbdFIiqjMvEmS2Qf/R+xKKswOaVXgjIoURmVSam+pL6kvqy+rL6svqy+rL6svqy+rL6svqy+or6ivqK+or6ivqK+or6ivqK+or6qvqq+qr6qvqq+qr6qvqq+qr6qPu+cBW8BLAQLaCFaSBayhWLBzDwLfOXg+ZWDA1gIFtBCtJAsZAvFQtXAM0OCmcHMPD/Ac2AzcIgWkoVsoVhgc+A5ymbk4C2AhWABLbB5m9ls5rnNcwd4R/sY1mk4zKO+MJ/vy/Hp/fn272pn7A37ul6O4+m+jrzybOdoLfoP", + "debug_symbols": "pZbNbqswEIXfhTULezz+66tcXVUkIRUSIhFNKl1Fffc7w8y06aIbs+E7CTlfXcA2j+40Hu5vr9Nyvrx3L38e3WGd5nl6e50vx+E2XRb69vHZd/bx9baOI33VPZ2n1nVYx+XWvSz3ee67j2G+bz96vw7Lxtuw0lnXd+NyIpLwPM0jp8/+u+1+r3qIWvbhux5b+lhb+ilZP/t9/doyfnBZ++BhXz+0jB+wWD+Gff3cNP5SrV9xVz/4lvGHYA9vwJbxh/j19xPu65eW8aOz8aOL+/rQMn5Eb31M+/qpafwFrF/Krn50Lf34tf7Epvn31I9N/WTzL+awr19bnv/k7PlNPu7rh6Z+tPuX8s/795c+Dcdp/bHjdUBLRt8FuvF9h/TDvovbMW3HvB3Ldqzb0TuBF4CA+rTsexLQ6uujIAmyoAjqBnACLwBBEIgFxAJiAbGAWEAsgSx0twJZ6KIFEAQBCqIgCbKgCOoGdAKxoFhQLCgWFAuKBcni6RYgaTzNVqy87dKFc7xpEz1vvkRSeb6ggbdFIiqjMvEmS2Qf/R+xKKswOaVXgjIoURmVSam+pL6kvqy+rL6svqy+rL6svqy+rL6svqy+or6ivqK+or6ivqK+or6ivqK+or6qvqq+qr6qvqq+qr6qvqq+qr6qPu+cBW8BLAQLaCFaYG3lkPl1gkOxUDXwLJDgLYCFYAEtRAvJgpm9mXlegOcJxWbg4C2AhWABLbA5cGAzcsgWioWqgWeLBDZvs5bNPG95zgDvVh/DOg2HedSX4fN9OT69G9/+Xe2MvT1f18txPN3XkVeV7RytM/8B", "file_map": { "50": { "source": "fn main(x: u128, y: u128, z: u128) {\n let const_x = 12345;\n let const_y = 2345678;\n let const_z = 2;\n\n assert_eq(x + y, const_x + const_y);\n assert_eq(y - x, const_y - const_x);\n assert_eq(x * y, const_x * const_y);\n assert_eq(y / x, const_y / const_x);\n assert_eq(y % x, const_y % const_x);\n assert_eq(!x, !const_x);\n assert_eq(x ^ y, const_x ^ const_y);\n assert_eq(x & y, const_x & const_y);\n assert_eq(x | y, const_x | const_y);\n assert_eq(x >> z, const_x >> const_z);\n assert_eq(x << z, const_x << const_z);\n assert_eq(x < y, const_x < const_y);\n assert_eq(x <= y, const_x <= const_y);\n assert_eq(x != y, const_x != const_y);\n assert_eq(y > x, const_y > const_x);\n assert_eq(y >= x, const_y >= const_x);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 02777802acb..743f4252c8d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/u128_type/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -45,14 +45,14 @@ expression: artifact "error_kind": "string", "string": "attempt to add with overflow" }, - "5795655218219125583": { - "error_kind": "string", - "string": "Field failed to decompose into specified 8 limbs" - }, "7233212735005103307": { "error_kind": "string", "string": "attempt to multiply with overflow" }, + "13958753312450585022": { + "error_kind": "string", + "string": "Field failed to decompose into specified 7 limbs" + }, "14514982005979867414": { "error_kind": "string", "string": "attempt to bit-shift with overflow" @@ -61,7 +61,7 @@ expression: artifact }, "bytecode": [ "func 0", - "current witness index : _84", + "current witness index : _80", "private parameters indices : [_0, _1, _2]", "public parameters indices : []", "return value indices : []", @@ -128,7 +128,7 @@ expression: artifact "BLACKBOX::RANGE [(_33, 129)] []", "EXPR [ (1, _2) (-340282366920938463463374607431768211456, _31) (-1, _32) 340282366920938463463374607431768211328 ]", "EXPR [ (-1, _31) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 8 ], EXPR [ 2 ]], outputs: [[_34, _35, _36, _37, _38, _39, _40, _41]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _2) 0 ], EXPR [ 7 ], EXPR [ 2 ]], outputs: [[_34, _35, _36, _37, _38, _39, _40]]", "BLACKBOX::RANGE [(_34, 1)] []", "BLACKBOX::RANGE [(_35, 1)] []", "BLACKBOX::RANGE [(_36, 1)] []", @@ -136,73 +136,69 @@ expression: artifact "BLACKBOX::RANGE [(_38, 1)] []", "BLACKBOX::RANGE [(_39, 1)] []", "BLACKBOX::RANGE [(_40, 1)] []", - "BLACKBOX::RANGE [(_41, 1)] []", - "EXPR [ (1, _2) (-1, _34) (-2, _35) (-4, _36) (-8, _37) (-16, _38) (-32, _39) (-64, _40) (-128, _41) 0 ]", - "EXPR [ (1, _41, _41) (2, _41) (-1, _42) 1 ]", - "EXPR [ (-1, _40) (-1, _43) 1 ]", - "EXPR [ (2, _40, _42) (1, _42, _43) (-1, _44) 0 ]", - "EXPR [ (1, _44, _44) (-1, _45) 0 ]", - "EXPR [ (-1, _39) (-1, _46) 1 ]", - "EXPR [ (2, _39, _45) (1, _45, _46) (-1, _47) 0 ]", - "EXPR [ (1, _47, _47) (-1, _48) 0 ]", - "EXPR [ (-1, _38) (-1, _49) 1 ]", - "EXPR [ (2, _38, _48) (1, _48, _49) (-1, _50) 0 ]", - "EXPR [ (1, _50, _50) (-1, _51) 0 ]", - "EXPR [ (-1, _37) (-1, _52) 1 ]", - "EXPR [ (2, _37, _51) (1, _51, _52) (-1, _53) 0 ]", - "EXPR [ (1, _53, _53) (-1, _54) 0 ]", - "EXPR [ (-1, _36) (-1, _55) 1 ]", - "EXPR [ (2, _36, _54) (1, _54, _55) (-1, _56) 0 ]", - "EXPR [ (1, _56, _56) (-1, _57) 0 ]", - "EXPR [ (-1, _35) (-1, _58) 1 ]", - "EXPR [ (2, _35, _57) (1, _57, _58) (-1, _59) 0 ]", - "EXPR [ (1, _59, _59) (-1, _60) 0 ]", - "EXPR [ (-1, _34) (-1, _61) 1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (2, _60, _34) (1, _60, _61) 0 ]], outputs: [_62]", - "EXPR [ (2, _34, _60) (1, _60, _61) (-1, _63) 0 ]", - "EXPR [ (1, _62, _63) -1 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _63) 0 ]], outputs: [_64, _65]", - "BLACKBOX::RANGE [(_65, 128)] []", - "EXPR [ (1, _63) (-1, _65) (-1, _66) -1 ]", - "BLACKBOX::RANGE [(_66, 128)] []", - "EXPR [ (-1, _63, _64) (1, _0) (-1, _65) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _64) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_67, _68]", - "BLACKBOX::RANGE [(_67, 64)] []", - "BLACKBOX::RANGE [(_68, 64)] []", - "EXPR [ (1, _64) (-18446744073709551616, _67) (-1, _68) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _63) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_69, _70]", - "BLACKBOX::RANGE [(_69, 64)] []", - "BLACKBOX::RANGE [(_70, 64)] []", - "EXPR [ (1, _63) (-18446744073709551616, _69) (-1, _70) 0 ]", - "EXPR [ (1, _67, _69) 0 ]", - "EXPR [ (1, _64) -3086 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _63) 0 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_71, _72]", - "BLACKBOX::RANGE [(_71, 126)] []", - "EXPR [ (-1, _72) (-1, _73) 340282366920938463463374607431768211455 ]", + "EXPR [ (1, _2) (-1, _34) (-2, _35) (-4, _36) (-8, _37) (-16, _38) (-32, _39) (-64, _40) 0 ]", + "EXPR [ (1, _40, _40) (2, _40) (-1, _41) 1 ]", + "EXPR [ (-1, _39) (-1, _42) 1 ]", + "EXPR [ (2, _39, _41) (1, _41, _42) (-1, _43) 0 ]", + "EXPR [ (1, _43, _43) (-1, _44) 0 ]", + "EXPR [ (-1, _38) (-1, _45) 1 ]", + "EXPR [ (2, _38, _44) (1, _44, _45) (-1, _46) 0 ]", + "EXPR [ (1, _46, _46) (-1, _47) 0 ]", + "EXPR [ (-1, _37) (-1, _48) 1 ]", + "EXPR [ (2, _37, _47) (1, _47, _48) (-1, _49) 0 ]", + "EXPR [ (1, _49, _49) (-1, _50) 0 ]", + "EXPR [ (-1, _36) (-1, _51) 1 ]", + "EXPR [ (2, _36, _50) (1, _50, _51) (-1, _52) 0 ]", + "EXPR [ (1, _52, _52) (-1, _53) 0 ]", + "EXPR [ (-1, _35) (-1, _54) 1 ]", + "EXPR [ (2, _35, _53) (1, _53, _54) (-1, _55) 0 ]", + "EXPR [ (1, _55, _55) (-1, _56) 0 ]", + "EXPR [ (-1, _34) (-1, _57) 1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (2, _56, _34) (1, _56, _57) 0 ]], outputs: [_58]", + "EXPR [ (2, _34, _56) (1, _56, _57) (-1, _59) 0 ]", + "EXPR [ (1, _58, _59) -1 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ], EXPR [ (1, _59) 0 ]], outputs: [_60, _61]", + "BLACKBOX::RANGE [(_61, 128)] []", + "EXPR [ (1, _59) (-1, _61) (-1, _62) -1 ]", + "BLACKBOX::RANGE [(_62, 128)] []", + "EXPR [ (-1, _59, _60) (1, _0) (-1, _61) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _60) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_63, _64]", + "BLACKBOX::RANGE [(_63, 64)] []", + "BLACKBOX::RANGE [(_64, 64)] []", + "EXPR [ (1, _60) (-18446744073709551616, _63) (-1, _64) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _59) 0 ], EXPR [ 18446744073709551616 ]], outputs: [_65, _66]", + "BLACKBOX::RANGE [(_65, 64)] []", + "BLACKBOX::RANGE [(_66, 64)] []", + "EXPR [ (1, _59) (-18446744073709551616, _65) (-1, _66) 0 ]", + "EXPR [ (1, _63, _65) 0 ]", + "EXPR [ (1, _60) -3086 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0, _59) 0 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_67, _68]", + "BLACKBOX::RANGE [(_67, 126)] []", + "EXPR [ (-1, _68) (-1, _69) 340282366920938463463374607431768211455 ]", + "BLACKBOX::RANGE [(_69, 129)] []", + "EXPR [ (1, _0, _59) (-340282366920938463463374607431768211456, _67) (-1, _68) 0 ]", + "EXPR [ (1, _67) (-1, _70) 20746827117051438823981594372716013474 ]", + "BLACKBOX::RANGE [(_70, 126)] []", + "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _67) 64323764613183177041862057485226039389 ]], outputs: [_71]", + "EXPR [ (-1, _67, _71) (64323764613183177041862057485226039389, _71) (1, _72) -1 ]", + "EXPR [ (-1, _67, _72) (64323764613183177041862057485226039389, _72) 0 ]", + "EXPR [ (-1, _68, _72) (53438638232309528389504892708671455233, _72) (-1, _73) 0 ]", "BLACKBOX::RANGE [(_73, 129)] []", - "EXPR [ (1, _0, _63) (-340282366920938463463374607431768211456, _71) (-1, _72) 0 ]", - "EXPR [ (1, _71) (-1, _74) 20746827117051438823981594372716013474 ]", - "BLACKBOX::RANGE [(_74, 126)] []", - "BRILLIG CALL func 1: inputs: [EXPR [ (-1, _71) 64323764613183177041862057485226039389 ]], outputs: [_75]", - "EXPR [ (-1, _71, _75) (64323764613183177041862057485226039389, _75) (1, _76) -1 ]", - "EXPR [ (-1, _71, _76) (64323764613183177041862057485226039389, _76) 0 ]", - "EXPR [ (-1, _72, _76) (53438638232309528389504892708671455233, _76) (-1, _77) 0 ]", - "BLACKBOX::RANGE [(_77, 129)] []", - "EXPR [ (1, _72) -49380 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_78, _79]", + "EXPR [ (1, _68) -49380 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) (-1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_74, _75]", + "BLACKBOX::RANGE [(_75, 129)] []", + "EXPR [ (-1, _75) (-1, _76) 340282366920938463463374607431768211455 ]", + "BLACKBOX::RANGE [(_76, 129)] []", + "EXPR [ (1, _0) (-1, _1) (-340282366920938463463374607431768211456, _74) (-1, _75) 340282366920938463463374607431768211456 ]", + "EXPR [ (-1, _74) 0 ]", + "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _0) (1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_77, _78]", + "BLACKBOX::RANGE [(_78, 129)] []", + "EXPR [ (-1, _78) (-1, _79) 340282366920938463463374607431768211455 ]", "BLACKBOX::RANGE [(_79, 129)] []", - "EXPR [ (-1, _79) (-1, _80) 340282366920938463463374607431768211455 ]", - "BLACKBOX::RANGE [(_80, 129)] []", - "EXPR [ (1, _0) (-1, _1) (-340282366920938463463374607431768211456, _78) (-1, _79) 340282366920938463463374607431768211456 ]", - "EXPR [ (-1, _78) 0 ]", - "BRILLIG CALL func 0: inputs: [EXPR [ (-1, _0) (1, _1) 340282366920938463463374607431768211456 ], EXPR [ 340282366920938463463374607431768211456 ]], outputs: [_81, _82]", - "BLACKBOX::RANGE [(_82, 129)] []", - "EXPR [ (-1, _82) (-1, _83) 340282366920938463463374607431768211455 ]", - "BLACKBOX::RANGE [(_83, 129)] []", - "EXPR [ (-1, _0) (1, _1) (-340282366920938463463374607431768211456, _81) (-1, _82) 340282366920938463463374607431768211456 ]", - "EXPR [ (-1, _81) 1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_84]", - "EXPR [ (1, _0, _84) (-1, _1, _84) -1 ]", + "EXPR [ (-1, _0) (1, _1) (-340282366920938463463374607431768211456, _77) (-1, _78) 340282366920938463463374607431768211456 ]", + "EXPR [ (-1, _77) 1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0) (-1, _1) 0 ]], outputs: [_80]", + "EXPR [ (1, _0, _80) (-1, _1, _80) -1 ]", "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) } }]", "unconstrained func 1", @@ -210,7 +206,7 @@ expression: artifact "unconstrained func 2", "[Const { destination: Direct(5), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(6), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(7), bit_size: Integer(U32), value: 3 }, CalldataCopy { destination_address: Direct(0), size_address: Direct(7), offset_address: Direct(5) }, Cast { destination: Direct(1), source: Direct(1), bit_size: Integer(U32) }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Direct(7), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(1) }, BinaryFieldOp { destination: Direct(3), op: IntegerDiv, lhs: Direct(0), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Mul, lhs: Direct(3), rhs: Direct(2) }, BinaryFieldOp { destination: Direct(4), op: Sub, lhs: Direct(0), rhs: Direct(4) }, Store { destination_pointer: Direct(9), source: Direct(4) }, BinaryIntOp { destination: Direct(9), op: Add, bit_size: U32, lhs: Direct(9), rhs: Direct(6) }, Mov { destination: Direct(0), source: Direct(3) }, BinaryIntOp { destination: Direct(8), op: LessThan, bit_size: U32, lhs: Direct(9), rhs: Direct(7) }, JumpIf { condition: Direct(8), location: 7 }, Const { destination: Direct(9), bit_size: Integer(U32), value: 10 }, Stop { return_data: HeapVector { pointer: Direct(9), size: Direct(1) } }]" ], - "debug_symbols": "pZbNbqswEIXfhTULezz+66tcXVUkIRUSIhFNKl1Fffc7w8y06aIbs+E7CTlfXcA2j+40Hu5vr9Nyvrx3L38e3WGd5nl6e50vx+E2XRb69vHZd/bx9baOI33VPZ2n1nVYx+XWvSz3ee67j2G+bz96vw7Lxtuw0lnXd+NyIpLwPM0jp8/+u+1+r3qIWvbhux5b+lhb+ilZP/t9/doyfnBZ++BhXz+0jB+wWD+Gff3cNP5SrV9xVz/4lvGHYA9vwJbxh/j19xPu65eW8aOz8aOL+/rQMn5Eb31M+/qpafwFrF/Krn50Lf34tf7Epvn31I9N/WTzL+awr19bnv/k7PlNPu7rh6Z+tPuX8s/795c+Dcdp/bHjdUBLRt8FuvF9h/TDvovbMW3HvB3Ldqzb0TuBF4CA+rTsexLQ6uujIAmyoAjqBnACLwBBEIgFxAJiAbGAWEAsgSx0twJZ6KIFEAQBCqIgCbKgCOoGdAKxoFhQLCgWFAuKBcni6RYgaTzNVqy87dKFc7xpEz1vvkRSeb6ggbdFIiqjMvEmS2Qf/R+xKKswOaVXgjIoURmVSam+pL6kvqy+rL6svqy+rL6svqy+rL6svqy+or6ivqK+or6ivqK+or6ivqK+or6qvqq+qr6qvqq+qr6qvqq+qr6qPu+cBW8BLAQLaCFaSBayhWLBzDwLfOXg+ZWDA1gIFtBCtJAsZAvFQtXAM0OCmcHMPD/Ac2AzcIgWkoVsoVhgc+A5ymbk4C2AhWABLbB5m9ls5rnNcwd4R/sY1mk4zKO+MJ/vy/Hp/fn272pn7A37ul6O4+m+jrzybOdoLfoP", + "debug_symbols": "pZbNbqswEIXfhTULezz+66tcXVUkIRUSIhFNKl1Fffc7w8y06aIbs+E7CTlfXcA2j+40Hu5vr9Nyvrx3L38e3WGd5nl6e50vx+E2XRb69vHZd/bx9baOI33VPZ2n1nVYx+XWvSz3ee67j2G+bz96vw7Lxtuw0lnXd+NyIpLwPM0jp8/+u+1+r3qIWvbhux5b+lhb+ilZP/t9/doyfnBZ++BhXz+0jB+wWD+Gff3cNP5SrV9xVz/4lvGHYA9vwJbxh/j19xPu65eW8aOz8aOL+/rQMn5Eb31M+/qpafwFrF/Krn50Lf34tf7Epvn31I9N/WTzL+awr19bnv/k7PlNPu7rh6Z+tPuX8s/795c+Dcdp/bHjdUBLRt8FuvF9h/TDvovbMW3HvB3Ldqzb0TuBF4CA+rTsexLQ6uujIAmyoAjqBnACLwBBEIgFxAJiAbGAWEAsgSx0twJZ6KIFEAQBCqIgCbKgCOoGdAKxoFhQLCgWFAuKBcni6RYgaTzNVqy87dKFc7xpEz1vvkRSeb6ggbdFIiqjMvEmS2Qf/R+xKKswOaVXgjIoURmVSam+pL6kvqy+rL6svqy+rL6svqy+rL6svqy+or6ivqK+or6ivqK+or6ivqK+or6qvqq+qr6qvqq+qr6qvqq+qr6qPu+cBW8BLAQLaCFaYG3lkPl1gkOxUDXwLJDgLYCFYAEtRAvJgpm9mXlegOcJxWbg4C2AhWABLbA5cGAzcsgWioWqgWeLBDZvs5bNPG95zgDvVh/DOg2HedSX4fN9OT69G9/+Xe2MvT1f18txPN3XkVeV7RytM/8B", "file_map": { "50": { "source": "fn main(x: u128, y: u128, z: u128) {\n let const_x = 12345;\n let const_y = 2345678;\n let const_z = 2;\n\n assert_eq(x + y, const_x + const_y);\n assert_eq(y - x, const_y - const_x);\n assert_eq(x * y, const_x * const_y);\n assert_eq(y / x, const_y / const_x);\n assert_eq(y % x, const_y % const_x);\n assert_eq(!x, !const_x);\n assert_eq(x ^ y, const_x ^ const_y);\n assert_eq(x & y, const_x & const_y);\n assert_eq(x | y, const_x | const_y);\n assert_eq(x >> z, const_x >> const_z);\n assert_eq(x << z, const_x << const_z);\n assert_eq(x < y, const_x < const_y);\n assert_eq(x <= y, const_x <= const_y);\n assert_eq(x != y, const_x != const_y);\n assert_eq(y > x, const_y > const_x);\n assert_eq(y >= x, const_y >= const_x);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index c16d46a236d..c36fb674d51 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -19,13 +19,13 @@ expression: artifact ], "return_type": null, "error_types": { - "14514982005979867414": { + "6668324276689745315": { "error_kind": "string", - "string": "attempt to bit-shift with overflow" + "string": "Field failed to decompose into specified 4 limbs" }, - "16061458491050355795": { + "14514982005979867414": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "attempt to bit-shift with overflow" }, "17843811134343075018": { "error_kind": "string", @@ -35,7 +35,7 @@ expression: artifact }, "bytecode": [ "func 0", - "current witness index : _25", + "current witness index : _21", "private parameters indices : [_0]", "public parameters indices : []", "return value indices : []", @@ -44,38 +44,34 @@ expression: artifact "BLACKBOX::RANGE [(_2, 16)] []", "EXPR [ (1, _0) (-65536, _1) (-1, _2) 65520 ]", "EXPR [ (-1, _1) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_3, _4, _5, _6, _7]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_3, _4, _5, _6]]", "BLACKBOX::RANGE [(_3, 1)] []", "BLACKBOX::RANGE [(_4, 1)] []", "BLACKBOX::RANGE [(_5, 1)] []", "BLACKBOX::RANGE [(_6, 1)] []", - "BLACKBOX::RANGE [(_7, 1)] []", - "EXPR [ (1, _0) (-1, _3) (-2, _4) (-4, _5) (-8, _6) (-16, _7) 0 ]", - "EXPR [ (1, _7, _7) (2, _7) (-1, _8) 1 ]", - "EXPR [ (-1, _6) (-1, _9) 1 ]", - "EXPR [ (2, _6, _8) (1, _8, _9) (-1, _10) 0 ]", - "EXPR [ (1, _10, _10) (-1, _11) 0 ]", - "EXPR [ (-1, _5) (-1, _12) 1 ]", - "EXPR [ (2, _5, _11) (1, _11, _12) (-1, _13) 0 ]", - "EXPR [ (1, _13, _13) (-1, _14) 0 ]", - "EXPR [ (-1, _4) (-1, _15) 1 ]", - "EXPR [ (2, _4, _14) (1, _14, _15) (-1, _16) 0 ]", - "EXPR [ (1, _16, _16) (-1, _17) 0 ]", - "EXPR [ (-1, _3) (-1, _18) 1 ]", - "EXPR [ (2, _3, _17) (1, _17, _18) (-1, _19) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0, _19) 0 ], EXPR [ 65536 ]], outputs: [_20, _21]", + "EXPR [ (1, _0) (-1, _3) (-2, _4) (-4, _5) (-8, _6) 0 ]", + "EXPR [ (1, _6, _6) (2, _6) (-1, _7) 1 ]", + "EXPR [ (-1, _5) (-1, _8) 1 ]", + "EXPR [ (2, _5, _7) (1, _7, _8) (-1, _9) 0 ]", + "EXPR [ (1, _9, _9) (-1, _10) 0 ]", + "EXPR [ (-1, _4) (-1, _11) 1 ]", + "EXPR [ (2, _4, _10) (1, _10, _11) (-1, _12) 0 ]", + "EXPR [ (1, _12, _12) (-1, _13) 0 ]", + "EXPR [ (-1, _3) (-1, _14) 1 ]", + "EXPR [ (2, _3, _13) (1, _13, _14) (-1, _15) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0, _15) 0 ], EXPR [ 65536 ]], outputs: [_16, _17]", + "BLACKBOX::RANGE [(_16, 16)] []", + "EXPR [ (1, _0, _15) (-65536, _16) (-1, _17) 0 ]", + "EXPR [ (1, _17) -8 ]", + "BRILLIG CALL func 3: inputs: [EXPR [ (1, _15) 0 ]], outputs: [_18]", + "EXPR [ (1, _15, _18) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ 8 ], EXPR [ (1, _15) 0 ]], outputs: [_19, _20]", + "BLACKBOX::RANGE [(_19, 16)] []", "BLACKBOX::RANGE [(_20, 16)] []", - "EXPR [ (1, _0, _19) (-65536, _20) (-1, _21) 0 ]", - "EXPR [ (1, _21) -8 ]", - "BRILLIG CALL func 3: inputs: [EXPR [ (1, _19) 0 ]], outputs: [_22]", - "EXPR [ (1, _19, _22) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ 8 ], EXPR [ (1, _19) 0 ]], outputs: [_23, _24]", - "BLACKBOX::RANGE [(_23, 16)] []", - "BLACKBOX::RANGE [(_24, 16)] []", - "EXPR [ (1, _19) (-1, _24) (-1, _25) -1 ]", - "BLACKBOX::RANGE [(_25, 16)] []", - "EXPR [ (-1, _19, _23) (-1, _24) 8 ]", - "EXPR [ (-1, _0) (1, _23) 0 ]", + "EXPR [ (1, _15) (-1, _20) (-1, _21) -1 ]", + "BLACKBOX::RANGE [(_21, 16)] []", + "EXPR [ (-1, _15, _19) (-1, _20) 8 ]", + "EXPR [ (-1, _0) (1, _19) 0 ]", "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 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(U16) }, 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: 22 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, Mov { destination: Relative(4), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 28 }, Mov { destination: Direct(0), source: Relative(0) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 27 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 22 }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U16, lhs: Relative(1), rhs: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 8 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(4), location: 35 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(2), op: Shr, bit_size: U16, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 40 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(1), bit_size: Integer(U16), value: 15 }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U16, lhs: Relative(3), rhs: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 47 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return]", @@ -86,7 +82,7 @@ expression: artifact "unconstrained func 3", "[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": "tZXRjoIwEEX/pc88MFNqi7+yMaZiNSQNkAomG8O/77RTXHcTkw1kX+6x4r22MzA8xNmdpuux7S79Tew/HuIUWu/b69H3jR3bvqNvH6KMAkrsoRCwY2iGYdQJWDJohYWQtJIEYCBDMioGZVYEylQEzTCMOqGilB0BGJSiCZJRMRSDUvQ8F2LZ+3EMzsWtvxyGjjjY4LpR7LvJ+0LcrZ/Sj26D7RJHG+hqWQjXnYkUeGm9i5/m4ttdvreC1tkMxjzt6s9+qU32yxpX+KtSZX8Fao0f68Uv621+tWr/9S77Vam3+WHN/yMu5Zfv3GZj98zG7pmN3TMbu2c2ds/8X/fM8+H7ZT/QyjZt+DnbaK7QeTGpTFolVUl3SXVSk7ROCiWD3cB2YD9wAHACcARwBnAIcApyCuY9cApyCnIKcgpyCsapS2fHOHbzpI2MozYRMjFTZlaZKjMOceSJm26yuw2tPXkXSxKLNnXNUiFajp/DcmV5Pwyhb9x5Ci5W8+UlQfpBzw/qwxwr/gU=", + "debug_symbols": "tZXdisIwEIXfJde96OSnSXyVRSRqlEJoS2yFRfruO8mkrrsgLC17cz5jPcfMTJs+2Nkfp+uh7S79je0+HuwY2xDa6yH0Jze2fYffPlidBBTbQcWgIWiCIdgMXhNwxSsmcCUQQOAEQZAEzJQIzFQITTAEmyExpUEAAVM0QhAkQREwRc9zxZa9H8bofdr6SzFY4uCi70a266YQKnZ3Yco/ug2uyxxdxKt1xXx3RmLgpQ0+fZqrb3f93gpaFzMY87SrP/uFNsUvLF/hl7UqfglqjZ/bxS/sNr9atX/bFL+q9TY/rPl/zpf2i3dus3F6ZuP0zMbpmY3TMxunZ/5veub58P2y73HlTm38ebbhuYL18qwiq8yqsjZZdVaT1WaFmkBuIDuQHygAKAEoAigDKAQohVMKL3ugFI4pgPVxmUpAqsKmUBeaQktMx20mFGIccDpx8410d7F1x+BT2akxU3dauoDL8XNYrizvgCH2J3+eok8de3kRoH7gM8L1fk5d/QI=", "file_map": { "50": { "source": "fn main(x: u16) {\n test_u16(x);\n // Safety: testing context\n unsafe {\n test_u16_unconstrained(x);\n }\n}\n\nunconstrained fn test_u16_unconstrained(x: u16) {\n test_u16(x)\n}\n\nfn test_u16(x: u16) {\n let t1: u16 = 1234;\n let t2: u16 = 4321;\n let t = t1 + t2;\n\n let t4 = t - t2;\n assert(t4 == t1);\n\n let mut small_int = x as u16;\n let shift = small_int << x;\n assert(shift == 8);\n assert(shift >> x == small_int);\n assert(shift >> 15 == 0);\n assert(shift << 15 == 0);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_0.snap index a47cf58806d..f6e5a32db54 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_0.snap @@ -19,13 +19,13 @@ expression: artifact ], "return_type": null, "error_types": { - "14514982005979867414": { + "6668324276689745315": { "error_kind": "string", - "string": "attempt to bit-shift with overflow" + "string": "Field failed to decompose into specified 4 limbs" }, - "16061458491050355795": { + "14514982005979867414": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "attempt to bit-shift with overflow" }, "17843811134343075018": { "error_kind": "string", @@ -35,7 +35,7 @@ expression: artifact }, "bytecode": [ "func 0", - "current witness index : _25", + "current witness index : _21", "private parameters indices : [_0]", "public parameters indices : []", "return value indices : []", @@ -44,38 +44,34 @@ expression: artifact "BLACKBOX::RANGE [(_2, 16)] []", "EXPR [ (1, _0) (-65536, _1) (-1, _2) 65520 ]", "EXPR [ (-1, _1) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_3, _4, _5, _6, _7]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_3, _4, _5, _6]]", "BLACKBOX::RANGE [(_3, 1)] []", "BLACKBOX::RANGE [(_4, 1)] []", "BLACKBOX::RANGE [(_5, 1)] []", "BLACKBOX::RANGE [(_6, 1)] []", - "BLACKBOX::RANGE [(_7, 1)] []", - "EXPR [ (1, _0) (-1, _3) (-2, _4) (-4, _5) (-8, _6) (-16, _7) 0 ]", - "EXPR [ (1, _7, _7) (2, _7) (-1, _8) 1 ]", - "EXPR [ (-1, _6) (-1, _9) 1 ]", - "EXPR [ (2, _6, _8) (1, _8, _9) (-1, _10) 0 ]", - "EXPR [ (1, _10, _10) (-1, _11) 0 ]", - "EXPR [ (-1, _5) (-1, _12) 1 ]", - "EXPR [ (2, _5, _11) (1, _11, _12) (-1, _13) 0 ]", - "EXPR [ (1, _13, _13) (-1, _14) 0 ]", - "EXPR [ (-1, _4) (-1, _15) 1 ]", - "EXPR [ (2, _4, _14) (1, _14, _15) (-1, _16) 0 ]", - "EXPR [ (1, _16, _16) (-1, _17) 0 ]", - "EXPR [ (-1, _3) (-1, _18) 1 ]", - "EXPR [ (2, _3, _17) (1, _17, _18) (-1, _19) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0, _19) 0 ], EXPR [ 65536 ]], outputs: [_20, _21]", + "EXPR [ (1, _0) (-1, _3) (-2, _4) (-4, _5) (-8, _6) 0 ]", + "EXPR [ (1, _6, _6) (2, _6) (-1, _7) 1 ]", + "EXPR [ (-1, _5) (-1, _8) 1 ]", + "EXPR [ (2, _5, _7) (1, _7, _8) (-1, _9) 0 ]", + "EXPR [ (1, _9, _9) (-1, _10) 0 ]", + "EXPR [ (-1, _4) (-1, _11) 1 ]", + "EXPR [ (2, _4, _10) (1, _10, _11) (-1, _12) 0 ]", + "EXPR [ (1, _12, _12) (-1, _13) 0 ]", + "EXPR [ (-1, _3) (-1, _14) 1 ]", + "EXPR [ (2, _3, _13) (1, _13, _14) (-1, _15) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0, _15) 0 ], EXPR [ 65536 ]], outputs: [_16, _17]", + "BLACKBOX::RANGE [(_16, 16)] []", + "EXPR [ (1, _0, _15) (-65536, _16) (-1, _17) 0 ]", + "EXPR [ (1, _17) -8 ]", + "BRILLIG CALL func 3: inputs: [EXPR [ (1, _15) 0 ]], outputs: [_18]", + "EXPR [ (1, _15, _18) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ 8 ], EXPR [ (1, _15) 0 ]], outputs: [_19, _20]", + "BLACKBOX::RANGE [(_19, 16)] []", "BLACKBOX::RANGE [(_20, 16)] []", - "EXPR [ (1, _0, _19) (-65536, _20) (-1, _21) 0 ]", - "EXPR [ (1, _21) -8 ]", - "BRILLIG CALL func 3: inputs: [EXPR [ (1, _19) 0 ]], outputs: [_22]", - "EXPR [ (1, _19, _22) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ 8 ], EXPR [ (1, _19) 0 ]], outputs: [_23, _24]", - "BLACKBOX::RANGE [(_23, 16)] []", - "BLACKBOX::RANGE [(_24, 16)] []", - "EXPR [ (1, _19) (-1, _24) (-1, _25) -1 ]", - "BLACKBOX::RANGE [(_25, 16)] []", - "EXPR [ (-1, _19, _23) (-1, _24) 8 ]", - "EXPR [ (-1, _0) (1, _23) 0 ]", + "EXPR [ (1, _15) (-1, _20) (-1, _21) -1 ]", + "BLACKBOX::RANGE [(_21, 16)] []", + "EXPR [ (-1, _15, _19) (-1, _20) 8 ]", + "EXPR [ (-1, _0) (1, _19) 0 ]", "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 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(U16) }, 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: 34 }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U16, lhs: Relative(1), rhs: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 8 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(4), location: 21 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(2), op: Shr, bit_size: U16, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 26 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(1), bit_size: Integer(U16), value: 15 }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U16, lhs: Relative(3), rhs: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 33 }, 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: 39 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", @@ -86,7 +82,7 @@ expression: artifact "unconstrained func 3", "[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": "tZTRjoIwEEX/pc88dFpqC79ijKlYDUkDpILJxvDvO+0UVzdhHyT7co8I9zLMwDzY2Z2m67HtLv2N1fsHO4XW+/Z69H1jx7bv8N8H41FAsVoUDHaslghNMIQqQXACsLpECFYrhCSUBEXAlB1CEzBFI6oEyQlAwBQ9zwVbKjqOwblY0EuJWPhgg+tGVneT9wW7Wz+li26D7RJHG/AsL5jrzkgMvLTexV9z8ePm61bQOpvBmKddvfth3S+1yX5ZiQ/8JVfZX4L6xC+qxS+rbX71Uf3VLvsV19v8sHr/P+YnxNJ+ueY2G6dnNk7PbJye2Tg9s3F65v+mZ54f3y/7AY9s04b3jYW7A59XJJVJy6Qq6S6pTmqSVkmBE8gNZAfyAwUAJQBFAGUAhQClCEoRuQZKEZQiKEVQiqCUuAWB0xoEoD0YGRdhImSKTJlZZqpMjAN8y2XMiy/Z3YbWnryLLYlNm7pm6RAejl/DcmbZ+kPoG3eegovdfFn9qHtZFrI6zLHj3w==", + "debug_symbols": "tZTRjoIwEEX/pc88dFpKW37FGINaDUkDpILJxvDvO+0UVzdhHyT7co8I9zLMwDzY2R2n66HtLv2N1bsHO4bW+/Z68P2pGdu+w38fjEcBxWpRMKhYLRGaYAg2QXACsLpECFYrhCSUBEXAlAqhCZiiETZBcgIQMEXPc8GWig5jcC4W9FIiFj40wXUjq7vJ+4LdGz+li25D0yWOTcCzvGCuOyMx8NJ6F3/NxY+br1tB62wGY5529e6Hdb/UJvulFR/4S66yvwT1iV/YxS/tNr/6qH5bZb/iepsfVu//x/yEWNov19xm4/TMxumZjdMzG6dnNk7P/N/0zPPj+2Xf41FzasP7xsLdgc8rksqkZVKVtEqqk5qkNilwArmB7EB+oACgBKAIoAygEKAUQSki10ApcQsCpzUIQHswscrUmSbTEuMyTIRMjAN8k2XMiy/SvQltc/QuPnZszNSdli7g4fg1LGeWzT6E/uTOU3CxYy/rHXUny0La/Ry7+g0=", "file_map": { "50": { "source": "fn main(x: u16) {\n test_u16(x);\n // Safety: testing context\n unsafe {\n test_u16_unconstrained(x);\n }\n}\n\nunconstrained fn test_u16_unconstrained(x: u16) {\n test_u16(x)\n}\n\nfn test_u16(x: u16) {\n let t1: u16 = 1234;\n let t2: u16 = 4321;\n let t = t1 + t2;\n\n let t4 = t - t2;\n assert(t4 == t1);\n\n let mut small_int = x as u16;\n let shift = small_int << x;\n assert(shift == 8);\n assert(shift >> x == small_int);\n assert(shift >> 15 == 0);\n assert(shift << 15 == 0);\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index a47cf58806d..f6e5a32db54 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/u16_support/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -19,13 +19,13 @@ expression: artifact ], "return_type": null, "error_types": { - "14514982005979867414": { + "6668324276689745315": { "error_kind": "string", - "string": "attempt to bit-shift with overflow" + "string": "Field failed to decompose into specified 4 limbs" }, - "16061458491050355795": { + "14514982005979867414": { "error_kind": "string", - "string": "Field failed to decompose into specified 5 limbs" + "string": "attempt to bit-shift with overflow" }, "17843811134343075018": { "error_kind": "string", @@ -35,7 +35,7 @@ expression: artifact }, "bytecode": [ "func 0", - "current witness index : _25", + "current witness index : _21", "private parameters indices : [_0]", "public parameters indices : []", "return value indices : []", @@ -44,38 +44,34 @@ expression: artifact "BLACKBOX::RANGE [(_2, 16)] []", "EXPR [ (1, _0) (-65536, _1) (-1, _2) 65520 ]", "EXPR [ (-1, _1) 0 ]", - "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 5 ], EXPR [ 2 ]], outputs: [[_3, _4, _5, _6, _7]]", + "BRILLIG CALL func 2: inputs: [EXPR [ (1, _0) 0 ], EXPR [ 4 ], EXPR [ 2 ]], outputs: [[_3, _4, _5, _6]]", "BLACKBOX::RANGE [(_3, 1)] []", "BLACKBOX::RANGE [(_4, 1)] []", "BLACKBOX::RANGE [(_5, 1)] []", "BLACKBOX::RANGE [(_6, 1)] []", - "BLACKBOX::RANGE [(_7, 1)] []", - "EXPR [ (1, _0) (-1, _3) (-2, _4) (-4, _5) (-8, _6) (-16, _7) 0 ]", - "EXPR [ (1, _7, _7) (2, _7) (-1, _8) 1 ]", - "EXPR [ (-1, _6) (-1, _9) 1 ]", - "EXPR [ (2, _6, _8) (1, _8, _9) (-1, _10) 0 ]", - "EXPR [ (1, _10, _10) (-1, _11) 0 ]", - "EXPR [ (-1, _5) (-1, _12) 1 ]", - "EXPR [ (2, _5, _11) (1, _11, _12) (-1, _13) 0 ]", - "EXPR [ (1, _13, _13) (-1, _14) 0 ]", - "EXPR [ (-1, _4) (-1, _15) 1 ]", - "EXPR [ (2, _4, _14) (1, _14, _15) (-1, _16) 0 ]", - "EXPR [ (1, _16, _16) (-1, _17) 0 ]", - "EXPR [ (-1, _3) (-1, _18) 1 ]", - "EXPR [ (2, _3, _17) (1, _17, _18) (-1, _19) 0 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0, _19) 0 ], EXPR [ 65536 ]], outputs: [_20, _21]", + "EXPR [ (1, _0) (-1, _3) (-2, _4) (-4, _5) (-8, _6) 0 ]", + "EXPR [ (1, _6, _6) (2, _6) (-1, _7) 1 ]", + "EXPR [ (-1, _5) (-1, _8) 1 ]", + "EXPR [ (2, _5, _7) (1, _7, _8) (-1, _9) 0 ]", + "EXPR [ (1, _9, _9) (-1, _10) 0 ]", + "EXPR [ (-1, _4) (-1, _11) 1 ]", + "EXPR [ (2, _4, _10) (1, _10, _11) (-1, _12) 0 ]", + "EXPR [ (1, _12, _12) (-1, _13) 0 ]", + "EXPR [ (-1, _3) (-1, _14) 1 ]", + "EXPR [ (2, _3, _13) (1, _13, _14) (-1, _15) 0 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ (1, _0, _15) 0 ], EXPR [ 65536 ]], outputs: [_16, _17]", + "BLACKBOX::RANGE [(_16, 16)] []", + "EXPR [ (1, _0, _15) (-65536, _16) (-1, _17) 0 ]", + "EXPR [ (1, _17) -8 ]", + "BRILLIG CALL func 3: inputs: [EXPR [ (1, _15) 0 ]], outputs: [_18]", + "EXPR [ (1, _15, _18) -1 ]", + "BRILLIG CALL func 1: inputs: [EXPR [ 8 ], EXPR [ (1, _15) 0 ]], outputs: [_19, _20]", + "BLACKBOX::RANGE [(_19, 16)] []", "BLACKBOX::RANGE [(_20, 16)] []", - "EXPR [ (1, _0, _19) (-65536, _20) (-1, _21) 0 ]", - "EXPR [ (1, _21) -8 ]", - "BRILLIG CALL func 3: inputs: [EXPR [ (1, _19) 0 ]], outputs: [_22]", - "EXPR [ (1, _19, _22) -1 ]", - "BRILLIG CALL func 1: inputs: [EXPR [ 8 ], EXPR [ (1, _19) 0 ]], outputs: [_23, _24]", - "BLACKBOX::RANGE [(_23, 16)] []", - "BLACKBOX::RANGE [(_24, 16)] []", - "EXPR [ (1, _19) (-1, _24) (-1, _25) -1 ]", - "BLACKBOX::RANGE [(_25, 16)] []", - "EXPR [ (-1, _19, _23) (-1, _24) 8 ]", - "EXPR [ (-1, _0) (1, _23) 0 ]", + "EXPR [ (1, _15) (-1, _20) (-1, _21) -1 ]", + "BLACKBOX::RANGE [(_21, 16)] []", + "EXPR [ (-1, _15, _19) (-1, _20) 8 ]", + "EXPR [ (-1, _0) (1, _19) 0 ]", "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 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(U16) }, 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: 34 }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U16, lhs: Relative(1), rhs: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 8 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(4), location: 21 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(2), op: Shr, bit_size: U16, lhs: Relative(3), rhs: Relative(1) }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 26 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(1), bit_size: Integer(U16), value: 15 }, BinaryIntOp { destination: Relative(2), op: Shl, bit_size: U16, lhs: Relative(3), rhs: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 33 }, 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: 39 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", @@ -86,7 +82,7 @@ expression: artifact "unconstrained func 3", "[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": "tZTRjoIwEEX/pc88dFpqC79ijKlYDUkDpILJxvDvO+0UVzdhHyT7co8I9zLMwDzY2Z2m67HtLv2N1fsHO4XW+/Z69H1jx7bv8N8H41FAsVoUDHaslghNMIQqQXACsLpECFYrhCSUBEXAlB1CEzBFI6oEyQlAwBQ9zwVbKjqOwblY0EuJWPhgg+tGVneT9wW7Wz+li26D7RJHG/AsL5jrzkgMvLTexV9z8ePm61bQOpvBmKddvfth3S+1yX5ZiQ/8JVfZX4L6xC+qxS+rbX71Uf3VLvsV19v8sHr/P+YnxNJ+ueY2G6dnNk7PbJye2Tg9s3F65v+mZ54f3y/7AY9s04b3jYW7A59XJJVJy6Qq6S6pTmqSVkmBE8gNZAfyAwUAJQBFAGUAhQClCEoRuQZKEZQiKEVQiqCUuAWB0xoEoD0YGRdhImSKTJlZZqpMjAN8y2XMiy/Z3YbWnryLLYlNm7pm6RAejl/DcmbZ+kPoG3eegovdfFn9qHtZFrI6zLHj3w==", + "debug_symbols": "tZTRjoIwEEX/pc88dFpKW37FGINaDUkDpILJxvDvO+0UVzdhHyT7co8I9zLMwDzY2R2n66HtLv2N1bsHO4bW+/Z68P2pGdu+w38fjEcBxWpRMKhYLRGaYAg2QXACsLpECFYrhCSUBEXAlAqhCZiiETZBcgIQMEXPc8GWig5jcC4W9FIiFj40wXUjq7vJ+4LdGz+li25D0yWOTcCzvGCuOyMx8NJ6F3/NxY+br1tB62wGY5529e6Hdb/UJvulFR/4S66yvwT1iV/YxS/tNr/6qH5bZb/iepsfVu//x/yEWNov19xm4/TMxumZjdMzG6dnNk7P/N/0zPPj+2Xf41FzasP7xsLdgc8rksqkZVKVtEqqk5qkNilwArmB7EB+oACgBKAIoAygEKAUQSki10ApcQsCpzUIQHswscrUmSbTEuMyTIRMjAN8k2XMiy/SvQltc/QuPnZszNSdli7g4fg1LGeWzT6E/uTOU3CxYy/rHXUny0La/Ry7+g0=", "file_map": { "50": { "source": "fn main(x: u16) {\n test_u16(x);\n // Safety: testing context\n unsafe {\n test_u16_unconstrained(x);\n }\n}\n\nunconstrained fn test_u16_unconstrained(x: u16) {\n test_u16(x)\n}\n\nfn test_u16(x: u16) {\n let t1: u16 = 1234;\n let t2: u16 = 4321;\n let t = t1 + t2;\n\n let t4 = t - t2;\n assert(t4 == t1);\n\n let mut small_int = x as u16;\n let shift = small_int << x;\n assert(shift == 8);\n assert(shift >> x == small_int);\n assert(shift >> 15 == 0);\n assert(shift << 15 == 0);\n}\n",