From c340cb20118199b6fc1099b55de60bf955037d49 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 09:40:45 +0100 Subject: [PATCH 01/28] Add comments --- compiler/noirc_printable_type/src/lib.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 8e3af6fecf9..2bcd3fe62d1 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -377,6 +377,16 @@ pub enum TryFromParamsError { } impl PrintableValueDisplay { + /// Decode the print parameters after the first _newline_ flag has already been split. + /// + /// The last parameter is expected to be the flag indicating whether we are dealing + /// with a format string. + /// + /// We expect at least 3 arguments (tuples are passed as multiple values): + /// * normal: value.0, ..., value.i, meta, false + /// * formatted: msg, N, value1.0, ..., value1.i, ..., valueN.0, ..., valueN.j, meta1, ..., metaN, true + /// + /// The meta parts are JSON descriptors of the corresponding types, which guide the decoding. pub fn try_from_params( foreign_call_inputs: &[ForeignCallParam], ) -> Result, TryFromParamsError> { @@ -391,6 +401,11 @@ impl PrintableValueDisplay { } } +/// Decode parameters for a normal call, without format string. +/// +/// It will have a single meta descriptor: +/// +/// value.0, ..., value.i, meta fn convert_string_inputs( foreign_call_inputs: &[ForeignCallParam], ) -> Result, TryFromParamsError> { @@ -398,6 +413,7 @@ fn convert_string_inputs( // The remaining input values should hold what is to be printed let (printable_type_as_values, input_values) = foreign_call_inputs.split_last().ok_or(TryFromParamsError::MissingForeignCallInputs)?; + let printable_type = fetch_printable_type(printable_type_as_values)?; // We must use a flat map here as each value in a struct will be in a separate input value @@ -408,6 +424,11 @@ fn convert_string_inputs( Ok(PrintableValueDisplay::Plain(value, printable_type)) } +/// Decode parameters for a call with format string. +/// +/// It will have the format message, followed by the number of arguments, and their values: +/// +/// msg, N, value1.0, ..., value1.i, ..., valueN.0, ..., valueN.j, meta1, ..., metaN fn convert_fmt_string_inputs( foreign_call_inputs: &[ForeignCallParam], ) -> Result, TryFromParamsError> { @@ -428,6 +449,7 @@ fn convert_fmt_string_inputs( let mut input_iter = input_and_printable_types[0..types_start_at].iter().flat_map(|param| param.fields()); + for printable_type in input_and_printable_types.iter().skip(types_start_at) { let printable_type = fetch_printable_type(printable_type)?; let value = decode_printable_value(&mut input_iter, &printable_type); @@ -438,6 +460,7 @@ fn convert_fmt_string_inputs( Ok(PrintableValueDisplay::FmtString(message_as_string, output)) } +/// Decode the JSON type descriptor of the arguments passed to the print. fn fetch_printable_type( printable_type: &ForeignCallParam, ) -> Result { From 36066ed8618520ffec1833557ab13f90dcfafa91 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 12:01:15 +0100 Subject: [PATCH 02/28] Add integration test --- .../execution_success/regression_9271/Nargo.toml | 6 ++++++ .../execution_success/regression_9271/Prover.toml | 1 + .../execution_success/regression_9271/src/main.nr | 10 ++++++++++ 3 files changed, 17 insertions(+) create mode 100644 test_programs/execution_success/regression_9271/Nargo.toml create mode 100644 test_programs/execution_success/regression_9271/Prover.toml create mode 100644 test_programs/execution_success/regression_9271/src/main.nr diff --git a/test_programs/execution_success/regression_9271/Nargo.toml b/test_programs/execution_success/regression_9271/Nargo.toml new file mode 100644 index 00000000000..229e5c513d9 --- /dev/null +++ b/test_programs/execution_success/regression_9271/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "regression_9271" +type = "bin" +authors = [""] + +[dependencies] \ No newline at end of file diff --git a/test_programs/execution_success/regression_9271/Prover.toml b/test_programs/execution_success/regression_9271/Prover.toml new file mode 100644 index 00000000000..184d06d785c --- /dev/null +++ b/test_programs/execution_success/regression_9271/Prover.toml @@ -0,0 +1 @@ +b = true diff --git a/test_programs/execution_success/regression_9271/src/main.nr b/test_programs/execution_success/regression_9271/src/main.nr new file mode 100644 index 00000000000..50203657556 --- /dev/null +++ b/test_programs/execution_success/regression_9271/src/main.nr @@ -0,0 +1,10 @@ +fn main(b: bool) -> pub bool { + // safety: test + unsafe { + func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100])) + } +} +fn func_5(a: ([u1], bool, [u32])) -> bool { + println(a); + a.1 +} From 0167a64a243e1cdf877f71ece442a4a40516f682 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 12:02:02 +0100 Subject: [PATCH 03/28] Special flattening and parsing to handle slices --- acvm-repo/brillig/src/foreign_call.rs | 3 +- acvm-repo/brillig_vm/src/lib.rs | 4 + .../src/ssa/interpreter/intrinsics.rs | 15 ++- compiler/noirc_printable_type/src/lib.rs | 94 ++++++++++++++++--- tooling/noirc_abi/src/lib.rs | 11 ++- 5 files changed, 107 insertions(+), 20 deletions(-) diff --git a/acvm-repo/brillig/src/foreign_call.rs b/acvm-repo/brillig/src/foreign_call.rs index 9a45a4d2f20..1036a262255 100644 --- a/acvm-repo/brillig/src/foreign_call.rs +++ b/acvm-repo/brillig/src/foreign_call.rs @@ -1,7 +1,7 @@ use acir_field::AcirField; use serde::{Deserialize, Serialize}; -/// Single output of a [foreign call][crate::Opcode::ForeignCall]. +/// Single input or output of a [foreign call][crate::Opcode::ForeignCall]. #[derive(Debug, PartialEq, Eq, Serialize, Deserialize, Clone)] #[serde(untagged)] pub enum ForeignCallParam { @@ -22,6 +22,7 @@ impl From> for ForeignCallParam { } impl ForeignCallParam { + /// Convert the fields in the parameter into a vector, used to flatten data. pub fn fields(&self) -> Vec { match self { ForeignCallParam::Single(value) => vec![*value], diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 5bdf6a55f78..66d09a1f189 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -654,6 +654,10 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { self.status.clone() } + /// Get input data from memory to pass to foreign calls. + /// + /// We might consider prefixing `HeapVector` with its capacity here, which can be different from the length + /// that is passed along in a separate variable. fn get_memory_values( &self, input: ValueOrArray, diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index 1eb90b92ade..31e734ac084 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -3,7 +3,7 @@ use std::io::Write; use acvm::{AcirField, BlackBoxFunctionSolver, BlackBoxResolutionError, FieldElement}; use bn254_blackbox_solver::derive_generators; use iter_extended::{try_vecmap, vecmap}; -use noirc_printable_type::{PrintableType, PrintableValueDisplay, decode_printable_value}; +use noirc_printable_type::{PrintableType, PrintableValueDisplay, decode_printable_value_inner}; use num_bigint::BigUint; use crate::ssa::{ @@ -688,7 +688,8 @@ impl Interpreter<'_, W> { let mut fragments = Vec::new(); for i in 0..num_values { let printable_type = value_to_printable_type(&args[meta_idx + i])?; - let printable_value = decode_printable_value(field_iterator, &printable_type); + let printable_value = + decode_printable_value_inner(field_iterator, &printable_type, true); fragments.push((printable_value, printable_type)); } PrintableValueDisplay::FmtString(message, fragments) @@ -697,8 +698,11 @@ impl Interpreter<'_, W> { let input_as_fields = (1..meta_idx).flat_map(|i| value_to_fields(&args[i])).collect::>(); let printable_type = value_to_printable_type(&args[meta_idx])?; - let printable_value = - decode_printable_value(&mut input_as_fields.into_iter(), &printable_type); + let printable_value = decode_printable_value_inner( + &mut input_as_fields.into_iter(), + &printable_type, + true, + ); PrintableValueDisplay::Plain(printable_value, printable_type) }; @@ -777,6 +781,8 @@ fn new_embedded_curve_point( } /// Convert a [Value] to a vector of [FieldElement] for printing. +/// +/// It prefixes both arrays and slices with their length to aid decoding slices from the flattened data. fn value_to_fields(value: &Value) -> Vec { fn go(value: &Value, fields: &mut Vec) { match value { @@ -787,6 +793,7 @@ fn value_to_fields(value: &Value) -> Vec { } } Value::ArrayOrSlice(array_value) => { + fields.push(FieldElement::from(array_value.elements.borrow().len())); for value in array_value.elements.borrow().iter() { go(value, fields); } diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 2bcd3fe62d1..731c9917453 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -282,6 +282,20 @@ pub fn format_field_string(field: F) -> String { pub fn decode_printable_value( field_iterator: &mut impl Iterator, typ: &PrintableType, +) -> PrintableValue { + decode_printable_value_inner(field_iterator, typ, false) +} + +/// Special version of `decode_printable_value` which can be told to expect length prefixed data, which is only produced +/// in this module, and only for top level item. That is, each `ForeignCallParam` can have a length prefix if it was an array, +/// but only at the top level, not for any nested data. We expect that Tuples, Structs and Enums appear as separate fields, +/// so those can have the prefix, but as soon as we encounter an Array or Slice, the next level down will no longer be prefixed. +/// +/// This assumes that slices cannot be nested, and to distinguish their capacity it's enough to prefix the top level. +pub fn decode_printable_value_inner( + field_iterator: &mut impl Iterator, + typ: &PrintableType, + with_length_prefix: bool, ) -> PrintableValue { match typ { PrintableType::Field @@ -295,8 +309,17 @@ pub fn decode_printable_value( PrintableType::Array { length, typ } => { let length = *length as usize; let mut array_elements = Vec::with_capacity(length); + + if with_length_prefix { + let capacity = field_iterator + .next() + .expect("expected length prefixed array to have at least 1 element for the capacity") + .to_u128() as usize; + assert_eq!(length, capacity, "array capacity should match the type length"); + } + for _ in 0..length { - array_elements.push(decode_printable_value(field_iterator, typ)); + array_elements.push(decode_printable_value_inner(field_iterator, typ, false)); } PrintableValue::Vec { array_elements, is_slice: false } @@ -307,17 +330,46 @@ pub fn decode_printable_value( .expect("not enough data to decode variable array length") .to_u128() as usize; let mut array_elements = Vec::with_capacity(length); + + let capacity = if with_length_prefix { + field_iterator + .next() + .expect("expected length prefixed array to have at least 1 element for the capacity") + .to_u128() as usize + } else { + length + }; + for _ in 0..length { - array_elements.push(decode_printable_value(field_iterator, typ)); + array_elements.push(decode_printable_value_inner(field_iterator, typ, false)); + } + + // Consume padding. + for _ in length..capacity { + let _ = decode_printable_value_inner(field_iterator, typ, false); } PrintableValue::Vec { array_elements, is_slice: true } } PrintableType::Tuple { types } => PrintableValue::Vec { - array_elements: vecmap(types, |typ| decode_printable_value(field_iterator, typ)), + array_elements: vecmap(types, |typ| { + decode_printable_value_inner(field_iterator, typ, with_length_prefix) + }), is_slice: false, }, PrintableType::String { length } => { + if with_length_prefix { + let capacity = field_iterator + .next() + .expect("expected length prefixed string to have at least 1 element for the capacity") + .to_u128() as usize; + + assert_eq!( + *length as usize, capacity, + "string capacity should match the type length" + ); + } + let field_elements: Vec = field_iterator.take(*length as usize).collect(); PrintableValue::String(decode_string_value(&field_elements)) @@ -326,7 +378,8 @@ pub fn decode_printable_value( let mut struct_map = BTreeMap::new(); for (field_key, param_type) in fields { - let field_value = decode_printable_value(field_iterator, param_type); + let field_value = + decode_printable_value_inner(field_iterator, param_type, with_length_prefix); struct_map.insert(field_key.to_owned(), field_value); } @@ -335,13 +388,13 @@ pub fn decode_printable_value( } PrintableType::Function { env, .. } => { // we want to consume the fields from the environment, but for now they are not actually printed - let _env = decode_printable_value(field_iterator, env); + let _env = decode_printable_value_inner(field_iterator, env, with_length_prefix); let func_id = field_iterator.next().unwrap(); PrintableValue::Field(func_id) } PrintableType::Reference { typ, .. } => { // we decode the reference, but it's not really used for printing - decode_printable_value(field_iterator, typ) + decode_printable_value_inner(field_iterator, typ, with_length_prefix) } PrintableType::Unit => PrintableValue::Field(F::zero()), PrintableType::Enum { name: _, variants } => { @@ -351,7 +404,7 @@ pub fn decode_printable_value( let (_name, variant_types) = &variants[tag_value]; PrintableValue::Vec { array_elements: vecmap(variant_types, |typ| { - decode_printable_value(field_iterator, typ) + decode_printable_value_inner(field_iterator, typ, with_length_prefix) }), is_slice: false, } @@ -401,6 +454,24 @@ impl PrintableValueDisplay { } } +/// Flatten input parameters into a field vector, prefixing array types with their length. +/// +/// This prefixing is used when decoding slices to indicate their _capacity_, which can be +/// different from their semantic length, which appears as a separate parameter. +/// +/// Note that this is not a general approach, which would require prefixing all slices with +/// their length in `brillig_vm::VM::get_memory_values`, and it only works for the top level +/// item, not nested arrays, so special care needs to be taken when parsing not to expect +/// nested data to have a prefix. +fn flatten_with_length_prefix( + input_values: &[ForeignCallParam], +) -> impl Iterator { + input_values.iter().flat_map(|param| match param { + ForeignCallParam::Single(f) => std::iter::once(*f).chain([].iter().copied()), + ForeignCallParam::Array(fs) => std::iter::once(F::from(fs.len())).chain(fs.iter().copied()), + }) +} + /// Decode parameters for a normal call, without format string. /// /// It will have a single meta descriptor: @@ -417,9 +488,9 @@ fn convert_string_inputs( let printable_type = fetch_printable_type(printable_type_as_values)?; // We must use a flat map here as each value in a struct will be in a separate input value - let mut input_values_as_fields = input_values.iter().flat_map(|param| param.fields()); + let mut input_values_as_fields = flatten_with_length_prefix(input_values); - let value = decode_printable_value(&mut input_values_as_fields, &printable_type); + let value = decode_printable_value_inner(&mut input_values_as_fields, &printable_type, true); Ok(PrintableValueDisplay::Plain(value, printable_type)) } @@ -447,12 +518,11 @@ fn convert_fmt_string_inputs( let types_start_at = input_and_printable_types.len() - num_values; - let mut input_iter = - input_and_printable_types[0..types_start_at].iter().flat_map(|param| param.fields()); + let mut input_iter = flatten_with_length_prefix(&input_and_printable_types[0..types_start_at]); for printable_type in input_and_printable_types.iter().skip(types_start_at) { let printable_type = fetch_printable_type(printable_type)?; - let value = decode_printable_value(&mut input_iter, &printable_type); + let value = decode_printable_value_inner(&mut input_iter, &printable_type, true); output.push((value, printable_type)); } diff --git a/tooling/noirc_abi/src/lib.rs b/tooling/noirc_abi/src/lib.rs index 5611e835aac..627af8fab3d 100644 --- a/tooling/noirc_abi/src/lib.rs +++ b/tooling/noirc_abi/src/lib.rs @@ -454,6 +454,11 @@ pub enum AbiErrorType { String { string: String }, } +/// Decode the raw revert data according to some error type descriptor. +/// +/// By contrast to how arguments are passed to foreign calls, the revert data is already flattened, +/// so we don't have control over how we flatten the data before decoding, however note that slices +/// are not allowed in revert data, so this shouldn't be a problem. pub fn display_abi_error( fields: &[F], error_type: AbiErrorType, @@ -468,9 +473,9 @@ pub fn display_abi_error( }; let _length_of_items = fields_iter.next(); let items = item_types.into_iter().map(|abi_type| { - let printable_typ = (&abi_type).into(); - let decoded = decode_printable_value(&mut fields_iter, &printable_typ); - (decoded, printable_typ) + let printable_type = (&abi_type).into(); + let decoded = decode_printable_value(&mut fields_iter, &printable_type); + (decoded, printable_type) }); PrintableValueDisplay::FmtString(string, items.collect()) } From f8c364aa66a2de11830047a423c3c7ad5384758b Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 12:03:47 +0100 Subject: [PATCH 04/28] Add insta --- .../regression_9271/Prover.toml | 1 + .../execute__tests__expanded.snap | 23 +++++++ ...ig_false_inliner_-9223372036854775808.snap | 60 ++++++++++++++++++ ..._tests__force_brillig_false_inliner_0.snap | 60 ++++++++++++++++++ ...lig_false_inliner_9223372036854775807.snap | 60 ++++++++++++++++++ ...lig_true_inliner_-9223372036854775808.snap | 62 +++++++++++++++++++ ...__tests__force_brillig_true_inliner_0.snap | 62 +++++++++++++++++++ ...llig_true_inliner_9223372036854775807.snap | 62 +++++++++++++++++++ .../execute__tests__stdout.snap | 6 ++ 9 files changed, 396 insertions(+) create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap create mode 100644 tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap diff --git a/test_programs/execution_success/regression_9271/Prover.toml b/test_programs/execution_success/regression_9271/Prover.toml index 184d06d785c..4d4e6c8b752 100644 --- a/test_programs/execution_success/regression_9271/Prover.toml +++ b/test_programs/execution_success/regression_9271/Prover.toml @@ -1 +1,2 @@ b = true +return = true diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap new file mode 100644 index 00000000000..6479fdd6984 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap @@ -0,0 +1,23 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: expanded_code +--- +fn main(b: bool) -> pub bool { + // Safety: comment added by `nargo expand` + unsafe { + func_5( + ( + if b { + &[0_u1, 0_u1] + } else { + &[0_u1, 0_u1, 0_u1, 0_u1] + }, true, &[100_u32], + ), + ) + } +} + +fn func_5(a: ([u1], bool, [u32])) -> bool { + println(a); + a.1 +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap new file mode 100644 index 00000000000..e5e3f35ce86 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -0,0 +1,60 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "b", + "type": { + "kind": "boolean" + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "boolean" + }, + "visibility": "public" + }, + "error_types": { + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _1", + "private parameters indices : [_0]", + "public parameters indices : []", + "return value indices : [_1]", + "BLACKBOX::RANGE [(_0, 1)] []", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "EXPR [ (1, _1) -1 ]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "ndfLSiNRFIXhd6lxBrXX2qcuvoqIRC0lEGKISUMjefeuyvmj3QMbceIyl/MbJB9UvTdP08Pp5X6ze359a25u35uHw2a73bzcb18f18fN625+9r1plx+9m5tYNX3WKXW6On2doc54maGtE3VUp1aGWhlqZaiVoVaGWhlqZayVsVbGWhlrZayVsVbGWhlrZayVsVaibdlgxZpNtrAd27MDSy/oBb2gF/SCXtALekEv6AU90RM90RM90RM90RM90RM90zM90zM90zM90zM90zO9pJf0kl7SS3pJL+klvaSX9Aq9Qq/QK/QKvUKv0Cv0Cr1Cr6PX0evodfQ6eh29jl5Hr6PX0evp9fR6eigIGAQOAgiBhIBCYCHAEGgIOAQeAhCBiIBEYCJAEagIWAQuAhiBjIBGYCPAEegIeAQ+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEcuPrRssoXt2J4d2LHu4uOywYpdeufzqrle4N8fD9O0XN//dcU/3wfs14dpd2xudqftdtX8Wm9Plze97de7yx7Xh/nVdtVMu6d55+DzZjstv51Xn6fbr48OY3B4lD+OS98932fP+X5of3B+vjLn/Hxt/nG+fPvzz1fa1/PWD873+jhevjpe/vPnx+v5+VLtq/PdT/79d/Oj9ePm8O8t4Pw16s9L7rBZP2yn5bnl1Gn3eH3L/PD4e3995XofuT+8Pk5Pp8O05D5vJudv4W3Xrvr2brmnmh9kKavs2rvz8gH+AA==", + "file_map": { + "22": { + "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", + "path": "std/lib.nr" + }, + "50": { + "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "print_unconstrained" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap new file mode 100644 index 00000000000..e5e3f35ce86 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap @@ -0,0 +1,60 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "b", + "type": { + "kind": "boolean" + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "boolean" + }, + "visibility": "public" + }, + "error_types": { + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _1", + "private parameters indices : [_0]", + "public parameters indices : []", + "return value indices : [_1]", + "BLACKBOX::RANGE [(_0, 1)] []", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "EXPR [ (1, _1) -1 ]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "ndfLSiNRFIXhd6lxBrXX2qcuvoqIRC0lEGKISUMjefeuyvmj3QMbceIyl/MbJB9UvTdP08Pp5X6ze359a25u35uHw2a73bzcb18f18fN625+9r1plx+9m5tYNX3WKXW6On2doc54maGtE3VUp1aGWhlqZaiVoVaGWhlqZayVsVbGWhlrZayVsVbGWhlrZayVsVaibdlgxZpNtrAd27MDSy/oBb2gF/SCXtALekEv6AU90RM90RM90RM90RM90RM90zM90zM90zM90zM90zO9pJf0kl7SS3pJL+klvaSX9Aq9Qq/QK/QKvUKv0Cv0Cr1Cr6PX0evodfQ6eh29jl5Hr6PX0evp9fR6eigIGAQOAgiBhIBCYCHAEGgIOAQeAhCBiIBEYCJAEagIWAQuAhiBjIBGYCPAEegIeAQ+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEcuPrRssoXt2J4d2LHu4uOywYpdeufzqrle4N8fD9O0XN//dcU/3wfs14dpd2xudqftdtX8Wm9Plze97de7yx7Xh/nVdtVMu6d55+DzZjstv51Xn6fbr48OY3B4lD+OS98932fP+X5of3B+vjLn/Hxt/nG+fPvzz1fa1/PWD873+jhevjpe/vPnx+v5+VLtq/PdT/79d/Oj9ePm8O8t4Pw16s9L7rBZP2yn5bnl1Gn3eH3L/PD4e3995XofuT+8Pk5Pp8O05D5vJudv4W3Xrvr2brmnmh9kKavs2rvz8gH+AA==", + "file_map": { + "22": { + "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", + "path": "std/lib.nr" + }, + "50": { + "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "print_unconstrained" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap new file mode 100644 index 00000000000..e5e3f35ce86 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -0,0 +1,60 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "b", + "type": { + "kind": "boolean" + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "boolean" + }, + "visibility": "public" + }, + "error_types": { + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _1", + "private parameters indices : [_0]", + "public parameters indices : []", + "return value indices : [_1]", + "BLACKBOX::RANGE [(_0, 1)] []", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "EXPR [ (1, _1) -1 ]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "ndfLSiNRFIXhd6lxBrXX2qcuvoqIRC0lEGKISUMjefeuyvmj3QMbceIyl/MbJB9UvTdP08Pp5X6ze359a25u35uHw2a73bzcb18f18fN625+9r1plx+9m5tYNX3WKXW6On2doc54maGtE3VUp1aGWhlqZaiVoVaGWhlqZayVsVbGWhlrZayVsVbGWhlrZayVsVaibdlgxZpNtrAd27MDSy/oBb2gF/SCXtALekEv6AU90RM90RM90RM90RM90RM90zM90zM90zM90zM90zO9pJf0kl7SS3pJL+klvaSX9Aq9Qq/QK/QKvUKv0Cv0Cr1Cr6PX0evodfQ6eh29jl5Hr6PX0evp9fR6eigIGAQOAgiBhIBCYCHAEGgIOAQeAhCBiIBEYCJAEagIWAQuAhiBjIBGYCPAEegIeAQ+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEcuPrRssoXt2J4d2LHu4uOywYpdeufzqrle4N8fD9O0XN//dcU/3wfs14dpd2xudqftdtX8Wm9Plze97de7yx7Xh/nVdtVMu6d55+DzZjstv51Xn6fbr48OY3B4lD+OS98932fP+X5of3B+vjLn/Hxt/nG+fPvzz1fa1/PWD873+jhevjpe/vPnx+v5+VLtq/PdT/79d/Oj9ePm8O8t4Pw16s9L7rBZP2yn5bnl1Gn3eH3L/PD4e3995XofuT+8Pk5Pp8O05D5vJudv4W3Xrvr2brmnmh9kKavs2rvz8gH+AA==", + "file_map": { + "22": { + "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", + "path": "std/lib.nr" + }, + "50": { + "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "print_unconstrained" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap new file mode 100644 index 00000000000..f8021f3ceef --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -0,0 +1,62 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "b", + "type": { + "kind": "boolean" + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "boolean" + }, + "visibility": "public" + }, + "error_types": { + "12049594436772143978": { + "error_kind": "string", + "string": "array ref-count underflow detected" + }, + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _1", + "private parameters indices : [_0]", + "public parameters indices : []", + "return value indices : [_1]", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 477 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, JumpIf { condition: Relative(1), location: 43 }, Jump { location: 19 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 84 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 92 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), MemoryAddress(Relative(1)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(11), size: Relative(12) }), HeapArray(HeapArray { pointer: Relative(13), size: 168 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 482 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "tdjRaiJLFIXhd/Hai661dnVV51WGEExiBkFMcPTAIfjup9v9m0kuAoeBucmK0folwgfdvq+et4/nnw+7w8vrr9Xdj/fV43G33+9+Puxfnzan3eth/uv7alh+lGl1V9YrDTklRznOiZyaM+a0nJ6TFWfFWXFWnBVnxVlxVpwVZyXmV2qeyKk5Y07L6TnTdeqQU3KUk5WalZqVmpWalZqVcX6l54mcmjPmtJyeM12nDTklRzlZaVlpWWlZaVlpc6XOM12nDzklRznOiZyaM+a0nKz0rExZmbIyZWXKyjRX+jw1Z8xpOT1nuk4ZBrawYs0GW9mRbWxn6RV6hV6hV+gVeoVeoVfoFXqFnuiJnuiJnuiJnuiJnuiJnumZnumZnumZnumZnumZXtALekEv6AW9oBf0gl7QC3qVXqVX6VV6lV6lV+lVepVepTfSG+mN9EZ6I72R3khvpDfSG+k1eo1eo9foNXqNXqPX6DV6jV6n1+l1ep1ep9fpdXqdXqfX6U30JnoTvYkeNAo2CjgKOgo8Cj6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPmLxMS1b2ZFtbGen3MXHdQsr1iy9xcd0uaxXt1u6h9Nxu13u6D7d4813fm+b4/ZwWt0dzvv9evXPZn++vujX2+Zw3dPmOD87rFfbw/O8c/Blt98uv13Wv08P3x+dr+Q5PF/Lfxyv//v8JI5P/oPT83X97d2tPzjf9HG8fnc8/trx8vHPz9eV350fvz/fp3L78PT705O+nG9/73yLxvnWhy/n7+dHm6fd8cs3DpeldNxtHvdbHr6cD0+fnj39+3Z75vaNxdvx9Wn7fD5ul9Knry3mnz+itXV03S+3i8vD7vlhvb8sb/8f", + "file_map": { + "22": { + "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", + "path": "std/lib.nr" + }, + "50": { + "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap new file mode 100644 index 00000000000..f8021f3ceef --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap @@ -0,0 +1,62 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "b", + "type": { + "kind": "boolean" + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "boolean" + }, + "visibility": "public" + }, + "error_types": { + "12049594436772143978": { + "error_kind": "string", + "string": "array ref-count underflow detected" + }, + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _1", + "private parameters indices : [_0]", + "public parameters indices : []", + "return value indices : [_1]", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 477 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, JumpIf { condition: Relative(1), location: 43 }, Jump { location: 19 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 84 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 92 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), MemoryAddress(Relative(1)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(11), size: Relative(12) }), HeapArray(HeapArray { pointer: Relative(13), size: 168 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 482 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "tdjRaiJLFIXhd/Hai661dnVV51WGEExiBkFMcPTAIfjup9v9m0kuAoeBucmK0folwgfdvq+et4/nnw+7w8vrr9Xdj/fV43G33+9+Puxfnzan3eth/uv7alh+lGl1V9YrDTklRznOiZyaM+a0nJ6TFWfFWXFWnBVnxVlxVpwVZyXmV2qeyKk5Y07L6TnTdeqQU3KUk5WalZqVmpWalZqVcX6l54mcmjPmtJyeM12nDTklRzlZaVlpWWlZaVlpc6XOM12nDzklRznOiZyaM+a0nKz0rExZmbIyZWXKyjRX+jw1Z8xpOT1nuk4ZBrawYs0GW9mRbWxn6RV6hV6hV+gVeoVeoVfoFXqFnuiJnuiJnuiJnuiJnuiJnumZnumZnumZnumZnumZXtALekEv6AW9oBf0gl7QC3qVXqVX6VV6lV6lV+lVepVepTfSG+mN9EZ6I72R3khvpDfSG+k1eo1eo9foNXqNXqPX6DV6jV6n1+l1ep1ep9fpdXqdXqfX6U30JnoTvYkeNAo2CjgKOgo8Cj6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPmLxMS1b2ZFtbGen3MXHdQsr1iy9xcd0uaxXt1u6h9Nxu13u6D7d4813fm+b4/ZwWt0dzvv9evXPZn++vujX2+Zw3dPmOD87rFfbw/O8c/Blt98uv13Wv08P3x+dr+Q5PF/Lfxyv//v8JI5P/oPT83X97d2tPzjf9HG8fnc8/trx8vHPz9eV350fvz/fp3L78PT705O+nG9/73yLxvnWhy/n7+dHm6fd8cs3DpeldNxtHvdbHr6cD0+fnj39+3Z75vaNxdvx9Wn7fD5ul9Knry3mnz+itXV03S+3i8vD7vlhvb8sb/8f", + "file_map": { + "22": { + "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", + "path": "std/lib.nr" + }, + "50": { + "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap new file mode 100644 index 00000000000..f8021f3ceef --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -0,0 +1,62 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "b", + "type": { + "kind": "boolean" + }, + "visibility": "private" + } + ], + "return_type": { + "abi_type": { + "kind": "boolean" + }, + "visibility": "public" + }, + "error_types": { + "12049594436772143978": { + "error_kind": "string", + "string": "array ref-count underflow detected" + }, + "17843811134343075018": { + "error_kind": "string", + "string": "Stack too deep" + } + } + }, + "bytecode": [ + "func 0", + "current witness index : _1", + "private parameters indices : [_0]", + "public parameters indices : []", + "return value indices : [_1]", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 477 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, JumpIf { condition: Relative(1), location: 43 }, Jump { location: 19 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 84 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 92 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), MemoryAddress(Relative(1)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(11), size: Relative(12) }), HeapArray(HeapArray { pointer: Relative(13), size: 168 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 482 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + ], + "debug_symbols": "tdjRaiJLFIXhd/Hai661dnVV51WGEExiBkFMcPTAIfjup9v9m0kuAoeBucmK0folwgfdvq+et4/nnw+7w8vrr9Xdj/fV43G33+9+Puxfnzan3eth/uv7alh+lGl1V9YrDTklRznOiZyaM+a0nJ6TFWfFWXFWnBVnxVlxVpwVZyXmV2qeyKk5Y07L6TnTdeqQU3KUk5WalZqVmpWalZqVcX6l54mcmjPmtJyeM12nDTklRzlZaVlpWWlZaVlpc6XOM12nDzklRznOiZyaM+a0nKz0rExZmbIyZWXKyjRX+jw1Z8xpOT1nuk4ZBrawYs0GW9mRbWxn6RV6hV6hV+gVeoVeoVfoFXqFnuiJnuiJnuiJnuiJnuiJnumZnumZnumZnumZnumZXtALekEv6AW9oBf0gl7QC3qVXqVX6VV6lV6lV+lVepVepTfSG+mN9EZ6I72R3khvpDfSG+k1eo1eo9foNXqNXqPX6DV6jV6n1+l1ep1ep9fpdXqdXqfX6U30JnoTvYkeNAo2CjgKOgo8Cj6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPmLxMS1b2ZFtbGen3MXHdQsr1iy9xcd0uaxXt1u6h9Nxu13u6D7d4813fm+b4/ZwWt0dzvv9evXPZn++vujX2+Zw3dPmOD87rFfbw/O8c/Blt98uv13Wv08P3x+dr+Q5PF/Lfxyv//v8JI5P/oPT83X97d2tPzjf9HG8fnc8/trx8vHPz9eV350fvz/fp3L78PT705O+nG9/73yLxvnWhy/n7+dHm6fd8cs3DpeldNxtHvdbHr6cD0+fnj39+3Z75vaNxdvx9Wn7fD5ul9Knry3mnz+itXV03S+3i8vD7vlhvb8sb/8f", + "file_map": { + "22": { + "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", + "path": "std/lib.nr" + }, + "50": { + "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap new file mode 100644 index 00000000000..e2b6ccc8233 --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap @@ -0,0 +1,6 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: stdout +--- +(&[0, 0], true, &[100]) +[regression_9271] Circuit output: Field(1) From 678f68668ff26b73fc04384dfd7e2f6347d44dfd Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 12:52:48 +0100 Subject: [PATCH 05/28] Multi-dimensional arrays are flattened --- compiler/noirc_printable_type/src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 731c9917453..d06f2229934 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -315,7 +315,11 @@ pub fn decode_printable_value_inner( .next() .expect("expected length prefixed array to have at least 1 element for the capacity") .to_u128() as usize; - assert_eq!(length, capacity, "array capacity should match the type length"); + assert_eq!( + capacity % length, + 0, + "array capacity should be a multiple of its length" + ); } for _ in 0..length { From 245d134b65a17766e6505f43e1a110d1f57e8a27 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 13:10:36 +0100 Subject: [PATCH 06/28] Try prefixing just slices --- acvm-repo/brillig_vm/src/lib.rs | 18 ++-- .../src/ssa/interpreter/intrinsics.rs | 17 ++-- compiler/noirc_printable_type/src/lib.rs | 99 +++++-------------- 3 files changed, 42 insertions(+), 92 deletions(-) diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 66d09a1f189..3acd5512d50 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -656,8 +656,7 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { /// Get input data from memory to pass to foreign calls. /// - /// We might consider prefixing `HeapVector` with its capacity here, which can be different from the length - /// that is passed along in a separate variable. + /// It returns `HeapVectors`, which represent slices, prefixed by their capacity. fn get_memory_values( &self, input: ValueOrArray, @@ -684,11 +683,16 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { ) => { let start = self.memory.read_ref(pointer_index); let size = self.memory.read(size_index).to_usize(); - self.read_slice_of_values_from_memory(start, size, value_types) - .into_iter() - .map(|mem_value| mem_value.to_field()) - .collect::>() - .into() + // Prefix slices with their capacity, which could be higher than their semantic length, + // which is passed as a separate foreign call parameter; both are needed for accurate + // decoding once the data has been flattened, which is how printable types consume it. + let mut values = vec![F::from(size)]; + values.extend( + self.read_slice_of_values_from_memory(start, size, value_types) + .into_iter() + .map(|mem_value| mem_value.to_field()), + ); + values.into() } _ => { unreachable!("Unexpected value type {value_type:?} for input {input:?}"); diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index 31e734ac084..741988bf627 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -3,7 +3,7 @@ use std::io::Write; use acvm::{AcirField, BlackBoxFunctionSolver, BlackBoxResolutionError, FieldElement}; use bn254_blackbox_solver::derive_generators; use iter_extended::{try_vecmap, vecmap}; -use noirc_printable_type::{PrintableType, PrintableValueDisplay, decode_printable_value_inner}; +use noirc_printable_type::{PrintableType, PrintableValueDisplay, decode_printable_value}; use num_bigint::BigUint; use crate::ssa::{ @@ -688,8 +688,7 @@ impl Interpreter<'_, W> { let mut fragments = Vec::new(); for i in 0..num_values { let printable_type = value_to_printable_type(&args[meta_idx + i])?; - let printable_value = - decode_printable_value_inner(field_iterator, &printable_type, true); + let printable_value = decode_printable_value(field_iterator, &printable_type); fragments.push((printable_value, printable_type)); } PrintableValueDisplay::FmtString(message, fragments) @@ -698,11 +697,8 @@ impl Interpreter<'_, W> { let input_as_fields = (1..meta_idx).flat_map(|i| value_to_fields(&args[i])).collect::>(); let printable_type = value_to_printable_type(&args[meta_idx])?; - let printable_value = decode_printable_value_inner( - &mut input_as_fields.into_iter(), - &printable_type, - true, - ); + let printable_value = + decode_printable_value(&mut input_as_fields.into_iter(), &printable_type); PrintableValueDisplay::Plain(printable_value, printable_type) }; @@ -793,7 +789,10 @@ fn value_to_fields(value: &Value) -> Vec { } } Value::ArrayOrSlice(array_value) => { - fields.push(FieldElement::from(array_value.elements.borrow().len())); + // Prefix slices by their capacity. + if array_value.is_slice { + fields.push(FieldElement::from(array_value.elements.borrow().len())); + } for value in array_value.elements.borrow().iter() { go(value, fields); } diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index d06f2229934..9b6243ca76c 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -278,24 +278,13 @@ pub fn format_field_string(field: F) -> String { "0x".to_owned() + &trimmed_field } -/// Assumes that `field_iterator` contains enough field elements in order to decode the [PrintableType] -pub fn decode_printable_value( - field_iterator: &mut impl Iterator, - typ: &PrintableType, -) -> PrintableValue { - decode_printable_value_inner(field_iterator, typ, false) -} - -/// Special version of `decode_printable_value` which can be told to expect length prefixed data, which is only produced -/// in this module, and only for top level item. That is, each `ForeignCallParam` can have a length prefix if it was an array, -/// but only at the top level, not for any nested data. We expect that Tuples, Structs and Enums appear as separate fields, -/// so those can have the prefix, but as soon as we encounter an Array or Slice, the next level down will no longer be prefixed. +/// Assumes that `field_iterator` contains enough field elements in order to decode the [PrintableType]. /// -/// This assumes that slices cannot be nested, and to distinguish their capacity it's enough to prefix the top level. -pub fn decode_printable_value_inner( +/// Parameters which represent slices are expected to be prefixed by their length as a separate parameter, +/// then by their capacity as a field inside the slice parameter itself: `[..., length, [capacity, data...], ...]`. +pub fn decode_printable_value( field_iterator: &mut impl Iterator, typ: &PrintableType, - with_length_prefix: bool, ) -> PrintableValue { match typ { PrintableType::Field @@ -310,20 +299,8 @@ pub fn decode_printable_value_inner( let length = *length as usize; let mut array_elements = Vec::with_capacity(length); - if with_length_prefix { - let capacity = field_iterator - .next() - .expect("expected length prefixed array to have at least 1 element for the capacity") - .to_u128() as usize; - assert_eq!( - capacity % length, - 0, - "array capacity should be a multiple of its length" - ); - } - for _ in 0..length { - array_elements.push(decode_printable_value_inner(field_iterator, typ, false)); + array_elements.push(decode_printable_value(field_iterator, typ)); } PrintableValue::Vec { array_elements, is_slice: false } @@ -335,45 +312,27 @@ pub fn decode_printable_value_inner( .to_u128() as usize; let mut array_elements = Vec::with_capacity(length); - let capacity = if with_length_prefix { - field_iterator + let capacity = field_iterator .next() - .expect("expected length prefixed array to have at least 1 element for the capacity") - .to_u128() as usize - } else { - length - }; + .expect("expected slice to be prefixed by its capacity") + .to_u128() as usize; for _ in 0..length { - array_elements.push(decode_printable_value_inner(field_iterator, typ, false)); + array_elements.push(decode_printable_value(field_iterator, typ)); } // Consume padding. for _ in length..capacity { - let _ = decode_printable_value_inner(field_iterator, typ, false); + let _ = decode_printable_value(field_iterator, typ); } PrintableValue::Vec { array_elements, is_slice: true } } PrintableType::Tuple { types } => PrintableValue::Vec { - array_elements: vecmap(types, |typ| { - decode_printable_value_inner(field_iterator, typ, with_length_prefix) - }), + array_elements: vecmap(types, |typ| decode_printable_value(field_iterator, typ)), is_slice: false, }, PrintableType::String { length } => { - if with_length_prefix { - let capacity = field_iterator - .next() - .expect("expected length prefixed string to have at least 1 element for the capacity") - .to_u128() as usize; - - assert_eq!( - *length as usize, capacity, - "string capacity should match the type length" - ); - } - let field_elements: Vec = field_iterator.take(*length as usize).collect(); PrintableValue::String(decode_string_value(&field_elements)) @@ -382,8 +341,7 @@ pub fn decode_printable_value_inner( let mut struct_map = BTreeMap::new(); for (field_key, param_type) in fields { - let field_value = - decode_printable_value_inner(field_iterator, param_type, with_length_prefix); + let field_value = decode_printable_value(field_iterator, param_type); struct_map.insert(field_key.to_owned(), field_value); } @@ -392,13 +350,13 @@ pub fn decode_printable_value_inner( } PrintableType::Function { env, .. } => { // we want to consume the fields from the environment, but for now they are not actually printed - let _env = decode_printable_value_inner(field_iterator, env, with_length_prefix); + let _env = decode_printable_value(field_iterator, env); let func_id = field_iterator.next().unwrap(); PrintableValue::Field(func_id) } PrintableType::Reference { typ, .. } => { // we decode the reference, but it's not really used for printing - decode_printable_value_inner(field_iterator, typ, with_length_prefix) + decode_printable_value(field_iterator, typ) } PrintableType::Unit => PrintableValue::Field(F::zero()), PrintableType::Enum { name: _, variants } => { @@ -408,7 +366,7 @@ pub fn decode_printable_value_inner( let (_name, variant_types) = &variants[tag_value]; PrintableValue::Vec { array_elements: vecmap(variant_types, |typ| { - decode_printable_value_inner(field_iterator, typ, with_length_prefix) + decode_printable_value(field_iterator, typ) }), is_slice: false, } @@ -458,22 +416,11 @@ impl PrintableValueDisplay { } } -/// Flatten input parameters into a field vector, prefixing array types with their length. -/// -/// This prefixing is used when decoding slices to indicate their _capacity_, which can be -/// different from their semantic length, which appears as a separate parameter. +/// Flatten input parameters into a field vector. /// -/// Note that this is not a general approach, which would require prefixing all slices with -/// their length in `brillig_vm::VM::get_memory_values`, and it only works for the top level -/// item, not nested arrays, so special care needs to be taken when parsing not to expect -/// nested data to have a prefix. -fn flatten_with_length_prefix( - input_values: &[ForeignCallParam], -) -> impl Iterator { - input_values.iter().flat_map(|param| match param { - ForeignCallParam::Single(f) => std::iter::once(*f).chain([].iter().copied()), - ForeignCallParam::Array(fs) => std::iter::once(F::from(fs.len())).chain(fs.iter().copied()), - }) +/// Values which originate from slices are expected to be prefixed by their length. +fn flatten_inputs(input_values: &[ForeignCallParam]) -> impl Iterator { + input_values.iter().flat_map(|param| param.fields()) } /// Decode parameters for a normal call, without format string. @@ -492,9 +439,9 @@ fn convert_string_inputs( let printable_type = fetch_printable_type(printable_type_as_values)?; // We must use a flat map here as each value in a struct will be in a separate input value - let mut input_values_as_fields = flatten_with_length_prefix(input_values); + let mut input_values_as_fields = flatten_inputs(input_values); - let value = decode_printable_value_inner(&mut input_values_as_fields, &printable_type, true); + let value = decode_printable_value(&mut input_values_as_fields, &printable_type); Ok(PrintableValueDisplay::Plain(value, printable_type)) } @@ -522,11 +469,11 @@ fn convert_fmt_string_inputs( let types_start_at = input_and_printable_types.len() - num_values; - let mut input_iter = flatten_with_length_prefix(&input_and_printable_types[0..types_start_at]); + let mut input_iter = flatten_inputs(&input_and_printable_types[0..types_start_at]); for printable_type in input_and_printable_types.iter().skip(types_start_at) { let printable_type = fetch_printable_type(printable_type)?; - let value = decode_printable_value_inner(&mut input_iter, &printable_type, true); + let value = decode_printable_value(&mut input_iter, &printable_type); output.push((value, printable_type)); } From e92e552b69bef6786aca4566f4ab9074605eb87c Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 13:17:11 +0100 Subject: [PATCH 07/28] Length can be zero --- compiler/noirc_printable_type/src/lib.rs | 26 ++++++++++++++---------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index d06f2229934..4651ceaca9f 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -312,14 +312,18 @@ pub fn decode_printable_value_inner( if with_length_prefix { let capacity = field_iterator - .next() - .expect("expected length prefixed array to have at least 1 element for the capacity") - .to_u128() as usize; - assert_eq!( - capacity % length, - 0, - "array capacity should be a multiple of its length" - ); + .next() + .expect("expected length prefixed array to have at least 1 element for the capacity") + .to_u128() as usize; + if length == 0 { + assert_eq!(capacity, 0, "0 length array should have a capacity of 0"); + } else { + assert_eq!( + capacity % length, + 0, + "array capacity should be a multiple of its length" + ); + } } for _ in 0..length { @@ -364,9 +368,9 @@ pub fn decode_printable_value_inner( PrintableType::String { length } => { if with_length_prefix { let capacity = field_iterator - .next() - .expect("expected length prefixed string to have at least 1 element for the capacity") - .to_u128() as usize; + .next() + .expect("expected length prefixed string to have at least 1 element for the capacity") + .to_u128() as usize; assert_eq!( *length as usize, capacity, From 7cba8ac5e48f6d002a2e79e6e7ce7a055701493f Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 14:22:22 +0100 Subject: [PATCH 08/28] Track number of consumed fields --- .../src/ssa/interpreter/intrinsics.rs | 11 ++- compiler/noirc_printable_type/src/lib.rs | 99 ++++++++++++++----- 2 files changed, 80 insertions(+), 30 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index 31e734ac084..18855bcabcc 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -3,7 +3,9 @@ use std::io::Write; use acvm::{AcirField, BlackBoxFunctionSolver, BlackBoxResolutionError, FieldElement}; use bn254_blackbox_solver::derive_generators; use iter_extended::{try_vecmap, vecmap}; -use noirc_printable_type::{PrintableType, PrintableValueDisplay, decode_printable_value_inner}; +use noirc_printable_type::{ + FieldIterator, PrintableType, PrintableValueDisplay, decode_printable_value_inner, +}; use num_bigint::BigUint; use crate::ssa::{ @@ -683,13 +685,14 @@ impl Interpreter<'_, W> { let meta_idx = args.len() - 1 - num_values; let input_as_fields = (3..meta_idx).flat_map(|i| value_to_fields(&args[i])).collect::>(); - let field_iterator = &mut input_as_fields.into_iter(); + let mut field_iterator = &mut input_as_fields.into_iter(); + let mut field_iterator = FieldIterator::new(&mut field_iterator); let mut fragments = Vec::new(); for i in 0..num_values { let printable_type = value_to_printable_type(&args[meta_idx + i])?; let printable_value = - decode_printable_value_inner(field_iterator, &printable_type, true); + decode_printable_value_inner(&mut field_iterator, &printable_type, true); fragments.push((printable_value, printable_type)); } PrintableValueDisplay::FmtString(message, fragments) @@ -699,7 +702,7 @@ impl Interpreter<'_, W> { (1..meta_idx).flat_map(|i| value_to_fields(&args[i])).collect::>(); let printable_type = value_to_printable_type(&args[meta_idx])?; let printable_value = decode_printable_value_inner( - &mut input_as_fields.into_iter(), + &mut FieldIterator::new(&mut input_as_fields.into_iter()), &printable_type, true, ); diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 4651ceaca9f..d6c1f00fc15 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -283,20 +283,66 @@ pub fn decode_printable_value( field_iterator: &mut impl Iterator, typ: &PrintableType, ) -> PrintableValue { - decode_printable_value_inner(field_iterator, typ, false) + decode_printable_value_inner(&mut FieldIterator::new(field_iterator), typ, false) +} + +/// Iterator over fields that tracks how many items have been consumed. +pub struct FieldIterator<'a, F, I: Iterator> { + iter: &'a mut I, + consumed: usize, +} + +impl<'a, F, I> FieldIterator<'a, F, I> +where + I: Iterator, +{ + pub fn new(iter: &'a mut I) -> Self { + Self { iter, consumed: 0 } + } + + /// Number of fields consumed so far. + fn consumed(&self) -> usize { + self.consumed + } + + /// Consume the next field. + fn next(&mut self) -> Option { + self.consumed += 1; + self.iter.next() + } + + /// Consume the next `n` fields. + fn take(&mut self, n: usize) -> Vec { + self.consumed += n; + let fields = self.iter.take(n).collect::>(); + assert_eq!(fields.len(), n, "expected to have at least {n} fields"); + fields + } + + /// Drop the next `n` fields. + fn drop(&mut self, n: usize) { + for _ in 0..n { + let _ = self.next().expect("ran out of fields to drop"); + } + } } /// Special version of `decode_printable_value` which can be told to expect length prefixed data, which is only produced -/// in this module, and only for top level item. That is, each `ForeignCallParam` can have a length prefix if it was an array, +/// in this module, and only for top level items. That is, each `ForeignCallParam` can have a length prefix if it was an array, /// but only at the top level, not for any nested data. We expect that Tuples, Structs and Enums appear as separate fields, /// so those can have the prefix, but as soon as we encounter an Array or Slice, the next level down will no longer be prefixed. /// /// This assumes that slices cannot be nested, and to distinguish their capacity it's enough to prefix the top level. -pub fn decode_printable_value_inner( - field_iterator: &mut impl Iterator, +/// +/// The length prefix is expressed in field size, not the number of items. +pub fn decode_printable_value_inner<'a, F: AcirField, I>( + field_iterator: &mut FieldIterator<'a, F, I>, typ: &PrintableType, with_length_prefix: bool, -) -> PrintableValue { +) -> PrintableValue +where + I: Iterator, +{ match typ { PrintableType::Field | PrintableType::SignedInteger { .. } @@ -311,19 +357,10 @@ pub fn decode_printable_value_inner( let mut array_elements = Vec::with_capacity(length); if with_length_prefix { - let capacity = field_iterator + let _capacity = field_iterator .next() .expect("expected length prefixed array to have at least 1 element for the capacity") .to_u128() as usize; - if length == 0 { - assert_eq!(capacity, 0, "0 length array should have a capacity of 0"); - } else { - assert_eq!( - capacity % length, - 0, - "array capacity should be a multiple of its length" - ); - } } for _ in 0..length { @@ -339,13 +376,15 @@ pub fn decode_printable_value_inner( .to_u128() as usize; let mut array_elements = Vec::with_capacity(length); - let capacity = if with_length_prefix { - field_iterator - .next() - .expect("expected length prefixed array to have at least 1 element for the capacity") - .to_u128() as usize + // Number of fields in the slice. Items consume varying number of fields. + let end = if with_length_prefix { + let capacity = field_iterator + .next() + .expect("expected length prefixed slice to have at least 1 element for the capacity") + .to_u128() as usize; + Some(field_iterator.consumed() + capacity) } else { - length + None }; for _ in 0..length { @@ -353,8 +392,8 @@ pub fn decode_printable_value_inner( } // Consume padding. - for _ in length..capacity { - let _ = decode_printable_value_inner(field_iterator, typ, false); + if let Some(end) = end { + field_iterator.drop(end - field_iterator.consumed()); } PrintableValue::Vec { array_elements, is_slice: true } @@ -378,7 +417,7 @@ pub fn decode_printable_value_inner( ); } - let field_elements: Vec = field_iterator.take(*length as usize).collect(); + let field_elements: Vec = field_iterator.take(*length as usize); PrintableValue::String(decode_string_value(&field_elements)) } @@ -498,7 +537,11 @@ fn convert_string_inputs( // We must use a flat map here as each value in a struct will be in a separate input value let mut input_values_as_fields = flatten_with_length_prefix(input_values); - let value = decode_printable_value_inner(&mut input_values_as_fields, &printable_type, true); + let value = decode_printable_value_inner( + &mut FieldIterator::new(&mut input_values_as_fields), + &printable_type, + true, + ); Ok(PrintableValueDisplay::Plain(value, printable_type)) } @@ -530,7 +573,11 @@ fn convert_fmt_string_inputs( for printable_type in input_and_printable_types.iter().skip(types_start_at) { let printable_type = fetch_printable_type(printable_type)?; - let value = decode_printable_value_inner(&mut input_iter, &printable_type, true); + let value = decode_printable_value_inner( + &mut FieldIterator::new(&mut input_iter), + &printable_type, + true, + ); output.push((value, printable_type)); } From a40400abbebf9a404ffe7d0ecc08cd8a066ebe8a Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 14:40:15 +0100 Subject: [PATCH 09/28] Clippy --- compiler/noirc_printable_type/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index d6c1f00fc15..db53131196b 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -335,8 +335,8 @@ where /// This assumes that slices cannot be nested, and to distinguish their capacity it's enough to prefix the top level. /// /// The length prefix is expressed in field size, not the number of items. -pub fn decode_printable_value_inner<'a, F: AcirField, I>( - field_iterator: &mut FieldIterator<'a, F, I>, +pub fn decode_printable_value_inner( + field_iterator: &mut FieldIterator<'_, F, I>, typ: &PrintableType, with_length_prefix: bool, ) -> PrintableValue From 3807428a1255150980040df82f7ce24c8d350707 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 18:10:24 +0100 Subject: [PATCH 10/28] Only the top array needs to be length encoded --- .../src/ssa/interpreter/intrinsics.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index 18855bcabcc..dc0f54f6c60 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -787,18 +787,20 @@ fn new_embedded_curve_point( /// /// It prefixes both arrays and slices with their length to aid decoding slices from the flattened data. fn value_to_fields(value: &Value) -> Vec { - fn go(value: &Value, fields: &mut Vec) { + fn go(value: &Value, fields: &mut Vec, with_length_prefix: bool) { match value { Value::Numeric(numeric_value) => fields.push(numeric_value.convert_to_field()), Value::Reference(reference_value) => { if let Some(value) = reference_value.element.borrow().as_ref() { - go(value, fields); + go(value, fields, with_length_prefix); } } Value::ArrayOrSlice(array_value) => { - fields.push(FieldElement::from(array_value.elements.borrow().len())); + if with_length_prefix { + fields.push(FieldElement::from(array_value.elements.borrow().len())); + } for value in array_value.elements.borrow().iter() { - go(value, fields); + go(value, fields, false); } } Value::Function(id) => { @@ -816,7 +818,7 @@ fn value_to_fields(value: &Value) -> Vec { } let mut fields = Vec::new(); - go(value, &mut fields); + go(value, &mut fields, true); fields } From 86ec16041f1b703f142fe22e900fb94e10afdc85 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 18:42:08 +0100 Subject: [PATCH 11/28] Figure out the number of items to consume by looking at the capacity --- acvm-repo/brillig_vm/src/lib.rs | 13 ++- compiler/noirc_printable_type/src/lib.rs | 117 ++++++++++------------- 2 files changed, 56 insertions(+), 74 deletions(-) diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 3acd5512d50..85a7497b460 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -655,8 +655,6 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { } /// Get input data from memory to pass to foreign calls. - /// - /// It returns `HeapVectors`, which represent slices, prefixed by their capacity. fn get_memory_values( &self, input: ValueOrArray, @@ -683,9 +681,7 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { ) => { let start = self.memory.read_ref(pointer_index); let size = self.memory.read(size_index).to_usize(); - // Prefix slices with their capacity, which could be higher than their semantic length, - // which is passed as a separate foreign call parameter; both are needed for accurate - // decoding once the data has been flattened, which is how printable types consume it. + // Prefix slices with their capacity, which could be higher than their semantic length. let mut values = vec![F::from(size)]; values.extend( self.read_slice_of_values_from_memory(start, size, value_types) @@ -741,11 +737,14 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { MemoryAddress::direct(vector_address.unwrap_direct() + 1); let items_start = vector_address.offset(2); let vector_size = self.memory.read(size_address).to_usize(); - self.read_slice_of_values_from_memory( + // Prefix slices with the capacity. + let mut values = vec![MemoryValue::Field(F::from(vector_size))]; + values.extend(self.read_slice_of_values_from_memory( items_start, vector_size, value_types, - ) + )); + values } } }) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 4b0f5d0eaba..9229dcd4768 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -286,57 +286,6 @@ pub fn decode_printable_value( field_iterator: &mut impl Iterator, typ: &PrintableType, ) -> PrintableValue { - decode_printable_value_inner(&mut FieldIterator::new(field_iterator), typ) -} - -/// Iterator over fields that tracks how many items have been consumed. -struct FieldIterator<'a, F, I: Iterator> { - iter: &'a mut I, - consumed: usize, -} - -impl<'a, F, I> FieldIterator<'a, F, I> -where - I: Iterator, -{ - fn new(iter: &'a mut I) -> Self { - Self { iter, consumed: 0 } - } - - /// Number of fields consumed so far. - fn consumed(&self) -> usize { - self.consumed - } - - /// Consume the next field. - fn next(&mut self) -> Option { - self.consumed += 1; - self.iter.next() - } - - /// Consume the next `n` fields. - fn take(&mut self, n: usize) -> Vec { - self.consumed += n; - let fields = self.iter.take(n).collect::>(); - assert_eq!(fields.len(), n, "expected to have at least {n} fields"); - fields - } - - /// Drop the next `n` fields. - fn drop(&mut self, n: usize) { - for _ in 0..n { - let _ = self.next().expect("ran out of fields to drop"); - } - } -} - -fn decode_printable_value_inner( - field_iterator: &mut FieldIterator<'_, F, I>, - typ: &PrintableType, -) -> PrintableValue -where - I: Iterator, -{ match typ { PrintableType::Field | PrintableType::SignedInteger { .. } @@ -351,7 +300,7 @@ where let mut array_elements = Vec::with_capacity(length); for _ in 0..length { - array_elements.push(decode_printable_value_inner(field_iterator, typ)); + array_elements.push(decode_printable_value(field_iterator, typ)); } PrintableValue::Vec { array_elements, is_slice: false } @@ -361,31 +310,42 @@ where .next() .expect("not enough data to decode variable array length") .to_u128() as usize; - let mut array_elements = Vec::with_capacity(length); - let end = { - let capacity = field_iterator - .next() - .expect("expected slice to have at least 1 field for capacity") - .to_u128() as usize; - field_iterator.consumed() + capacity + let flattened_capacity = field_iterator + .next() + .expect("expected slice to have at least 1 field for capacity") + .to_u128() as usize; + + // Capacity is in terms of flattened members. + // For example a `[(u128, bool, [u32; 2])]` slice with 2 items is represented + // as an Array with 8 fields, but it has a capacity of 6, because the array + // only takes 1 slot. It's the tuple that has 3 members, and we have 2 tuples. + // To know how many items we need to consume, we need to know the number of + // members in the type that is contained in the slice. + let capacity = match printable_type_length(typ) { + 0 => flattened_capacity, + n => flattened_capacity / n, }; + let mut array_elements = Vec::with_capacity(length); + for _ in 0..length { - array_elements.push(decode_printable_value_inner(field_iterator, typ)); + array_elements.push(decode_printable_value(field_iterator, typ)); } // Consume padding. - field_iterator.drop(end - field_iterator.consumed()); + for _ in length..capacity { + let _ = decode_printable_value(field_iterator, typ); + } PrintableValue::Vec { array_elements, is_slice: true } } PrintableType::Tuple { types } => PrintableValue::Vec { - array_elements: vecmap(types, |typ| decode_printable_value_inner(field_iterator, typ)), + array_elements: vecmap(types, |typ| decode_printable_value(field_iterator, typ)), is_slice: false, }, PrintableType::String { length } => { - let field_elements: Vec = field_iterator.take(*length as usize); + let field_elements: Vec = field_iterator.take(*length as usize).collect(); PrintableValue::String(decode_string_value(&field_elements)) } @@ -393,7 +353,7 @@ where let mut struct_map = BTreeMap::new(); for (field_key, param_type) in fields { - let field_value = decode_printable_value_inner(field_iterator, param_type); + let field_value = decode_printable_value(field_iterator, param_type); struct_map.insert(field_key.to_owned(), field_value); } @@ -402,13 +362,13 @@ where } PrintableType::Function { env, .. } => { // we want to consume the fields from the environment, but for now they are not actually printed - let _env = decode_printable_value_inner(field_iterator, env); + let _env = decode_printable_value(field_iterator, env); let func_id = field_iterator.next().unwrap(); PrintableValue::Field(func_id) } PrintableType::Reference { typ, .. } => { // we decode the reference, but it's not really used for printing - decode_printable_value_inner(field_iterator, typ) + decode_printable_value(field_iterator, typ) } PrintableType::Unit => PrintableValue::Field(F::zero()), PrintableType::Enum { name: _, variants } => { @@ -418,7 +378,7 @@ where let (_name, variant_types) = &variants[tag_value]; PrintableValue::Vec { array_elements: vecmap(variant_types, |typ| { - decode_printable_value_inner(field_iterator, typ) + decode_printable_value(field_iterator, typ) }), is_slice: false, } @@ -426,6 +386,29 @@ where } } +/// Return the number of "members" a type has. +fn printable_type_length(typ: &PrintableType) -> usize { + match typ { + PrintableType::Field + | PrintableType::SignedInteger { .. } + | PrintableType::UnsignedInteger { .. } + | PrintableType::Boolean => 1, + PrintableType::Array { typ, .. } => printable_type_length(typ), + PrintableType::Slice { typ } => printable_type_length(typ), + PrintableType::Tuple { types } => types.iter().map(printable_type_length).sum(), + PrintableType::String { length } => *length as usize, + PrintableType::Struct { fields, .. } => { + fields.iter().map(|(_, typ)| printable_type_length(typ)).sum() + } + PrintableType::Function { env, .. } => printable_type_length(env), + PrintableType::Reference { typ, .. } => printable_type_length(typ), + PrintableType::Unit => 0, + PrintableType::Enum { .. } => { + panic!("don't know how to calculate a static type length for an enum") + } + } +} + pub fn decode_string_value(field_elements: &[F]) -> String { let string_as_slice = vecmap(field_elements, |e| { let mut field_as_bytes = e.to_be_bytes(); From e456a5d1fab7930055d0bc29a7c30ce45231cd2f Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 18:42:19 +0100 Subject: [PATCH 12/28] Add example to integration test --- .../regression_9271/execute__tests__expanded.snap | 5 ++++- ...rce_brillig_false_inliner_-9223372036854775808.snap | 10 +++++++--- .../execute__tests__force_brillig_false_inliner_0.snap | 10 +++++++--- ...orce_brillig_false_inliner_9223372036854775807.snap | 10 +++++++--- ...orce_brillig_true_inliner_-9223372036854775808.snap | 6 +++--- .../execute__tests__force_brillig_true_inliner_0.snap | 6 +++--- ...force_brillig_true_inliner_9223372036854775807.snap | 6 +++--- .../regression_9271/execute__tests__stdout.snap | 3 ++- 8 files changed, 36 insertions(+), 20 deletions(-) diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap index 6479fdd6984..b59e6e6313d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__expanded.snap @@ -3,12 +3,15 @@ source: tooling/nargo_cli/tests/execute.rs expression: expanded_code --- fn main(b: bool) -> pub bool { + let s: [(u128, bool, [u32; 2])] = + &[(0_u128, true, [1_u32, 2_u32]), (3_u128, false, [4_u32, 5_u32])]; + println(s); // Safety: comment added by `nargo expand` unsafe { func_5( ( if b { - &[0_u1, 0_u1] + &[1_u1, 0_u1] } else { &[0_u1, 0_u1, 0_u1, 0_u1] }, true, &[100_u32], diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index e5e3f35ce86..6d62d6711df 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -35,19 +35,22 @@ expression: artifact "public parameters indices : []", "return value indices : [_1]", "BLACKBOX::RANGE [(_0, 1)] []", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 2 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 2 }, Expression { mul_terms: [], linear_combinations: [], q_c: 3 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 4 }, Expression { mul_terms: [], linear_combinations: [], q_c: 5 }])], outputs: []", + "BRILLIG CALL func 1: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", "EXPR [ (1, _1) -1 ]", "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 10 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U128) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U32) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U128) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U1) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(4) }, Call { location: 102 }, Call { location: 103 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 101 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 94 }, Return, Return, Call { location: 509 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(34), source: Direct(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(35) }, IndirectConst { destination_pointer: Relative(34), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, Mov { destination: Relative(36), source: Relative(35) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(13) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(20) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(25) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(27) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(29) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(32) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(33) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(6) }), HeapArray(HeapArray { pointer: Relative(7), size: 181 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, 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: 514 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", + "unconstrained func 1", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "ndfLSiNRFIXhd6lxBrXX2qcuvoqIRC0lEGKISUMjefeuyvmj3QMbceIyl/MbJB9UvTdP08Pp5X6ze359a25u35uHw2a73bzcb18f18fN625+9r1plx+9m5tYNX3WKXW6On2doc54maGtE3VUp1aGWhlqZaiVoVaGWhlqZayVsVbGWhlrZayVsVbGWhlrZayVsVaibdlgxZpNtrAd27MDSy/oBb2gF/SCXtALekEv6AU90RM90RM90RM90RM90RM90zM90zM90zM90zM90zO9pJf0kl7SS3pJL+klvaSX9Aq9Qq/QK/QKvUKv0Cv0Cr1Cr6PX0evodfQ6eh29jl5Hr6PX0evp9fR6eigIGAQOAgiBhIBCYCHAEGgIOAQeAhCBiIBEYCJAEagIWAQuAhiBjIBGYCPAEegIeAQ+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEcuPrRssoXt2J4d2LHu4uOywYpdeufzqrle4N8fD9O0XN//dcU/3wfs14dpd2xudqftdtX8Wm9Plze97de7yx7Xh/nVdtVMu6d55+DzZjstv51Xn6fbr48OY3B4lD+OS98932fP+X5of3B+vjLn/Hxt/nG+fPvzz1fa1/PWD873+jhevjpe/vPnx+v5+VLtq/PdT/79d/Oj9ePm8O8t4Pw16s9L7rBZP2yn5bnl1Gn3eH3L/PD4e3995XofuT+8Pk5Pp8O05D5vJudv4W3Xrvr2brmnmh9kKavs2rvz8gH+AA==", + "debug_symbols": "7dnBThtZEIbRd/Gahfuvars7rzJCkUOcCMkC5ECkUcS7Tzs+kJkFowgpO29SIfh+mFIO8sU/Vp/3n56+fry9+3L/bfXhrx+rT8fbw+H268fD/c3u8fb+bvnXH6v16Y9h3asPw9UyR3Njbs3JnM9zWJuDGbNMvUFv0Bv0Br1BL3rRi170ohe96EUvetErvdIrvdIrvdIrvdIrvdJrvdZrvdZrvdZrvdZrvdYb9Ua9UW/UG/VGvVFv1Bv1Rr2N3kZvo7fR2+ht9DZ6G72N3kZvq7fV2+pt9bZ6W72t3lZvq7fVm/QmvUlv0pv0Jr1Jb9Kb9Ca9WW/Wm/VmvVlv1pv1Zr1Zbz73sl6bgxmzzDZHc2NuzcnU4yN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3wUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfIx8jCcfOc2YZbY5mhtz6eV5eaF2uqVYjt1Yjc1YjL1Yi61Yip1YiY1YiH1Yh21Yhl1YhU1YhD1Ygy1Ygh1YwWAFgx8Rgx8Rgx8RlyvY5Qp2npcr2HlermDnebmCneflCnaelyvYeV6uYOd5uYKd5uUK9gevYHEFiytYXMHiChZXsLiCxRUsrmBxBYsrWJ6X1/Qvb0N8fDzu96fX9/96X2J5t+Jhd9zfPa4+3D0dDler77vD088HfXvY3f2cj7vj8tn11Wp/93mZS/DL7WF/+tvz1a/T67ePTvPg8Jx6PZ787vltb53fTut3nJ9Gx6fN6+nxt5/9ck9wfLkpvOf88Ho+41vnxz+3veX1kfPLK6L3PP/N/HK+8tb56X++/vR6fn7z68/v+f6vl492N7fH/77PtihYvuGTqdP/le+74+3u02F/+tTp8NPdzcsjlw8f/354+czLe3YPx/ub/een4/5U/fXG3WLpr+WJLJfK69PVcPloXM9X49DXL5fm0yM266vt+uUBy+88rpbfZ1w/n57pPw==", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, @@ -55,6 +58,7 @@ expression: artifact "main" ], "brillig_names": [ + "print_unconstrained", "print_unconstrained" ] } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap index e5e3f35ce86..6d62d6711df 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap @@ -35,19 +35,22 @@ expression: artifact "public parameters indices : []", "return value indices : [_1]", "BLACKBOX::RANGE [(_0, 1)] []", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 2 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 2 }, Expression { mul_terms: [], linear_combinations: [], q_c: 3 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 4 }, Expression { mul_terms: [], linear_combinations: [], q_c: 5 }])], outputs: []", + "BRILLIG CALL func 1: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", "EXPR [ (1, _1) -1 ]", "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 10 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U128) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U32) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U128) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U1) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(4) }, Call { location: 102 }, Call { location: 103 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 101 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 94 }, Return, Return, Call { location: 509 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(34), source: Direct(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(35) }, IndirectConst { destination_pointer: Relative(34), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, Mov { destination: Relative(36), source: Relative(35) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(13) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(20) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(25) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(27) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(29) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(32) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(33) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(6) }), HeapArray(HeapArray { pointer: Relative(7), size: 181 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, 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: 514 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", + "unconstrained func 1", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "ndfLSiNRFIXhd6lxBrXX2qcuvoqIRC0lEGKISUMjefeuyvmj3QMbceIyl/MbJB9UvTdP08Pp5X6ze359a25u35uHw2a73bzcb18f18fN625+9r1plx+9m5tYNX3WKXW6On2doc54maGtE3VUp1aGWhlqZaiVoVaGWhlqZayVsVbGWhlrZayVsVbGWhlrZayVsVaibdlgxZpNtrAd27MDSy/oBb2gF/SCXtALekEv6AU90RM90RM90RM90RM90RM90zM90zM90zM90zM90zO9pJf0kl7SS3pJL+klvaSX9Aq9Qq/QK/QKvUKv0Cv0Cr1Cr6PX0evodfQ6eh29jl5Hr6PX0evp9fR6eigIGAQOAgiBhIBCYCHAEGgIOAQeAhCBiIBEYCJAEagIWAQuAhiBjIBGYCPAEegIeAQ+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEcuPrRssoXt2J4d2LHu4uOywYpdeufzqrle4N8fD9O0XN//dcU/3wfs14dpd2xudqftdtX8Wm9Plze97de7yx7Xh/nVdtVMu6d55+DzZjstv51Xn6fbr48OY3B4lD+OS98932fP+X5of3B+vjLn/Hxt/nG+fPvzz1fa1/PWD873+jhevjpe/vPnx+v5+VLtq/PdT/79d/Oj9ePm8O8t4Pw16s9L7rBZP2yn5bnl1Gn3eH3L/PD4e3995XofuT+8Pk5Pp8O05D5vJudv4W3Xrvr2brmnmh9kKavs2rvz8gH+AA==", + "debug_symbols": "7dnBThtZEIbRd/Gahfuvars7rzJCkUOcCMkC5ECkUcS7Tzs+kJkFowgpO29SIfh+mFIO8sU/Vp/3n56+fry9+3L/bfXhrx+rT8fbw+H268fD/c3u8fb+bvnXH6v16Y9h3asPw9UyR3Njbs3JnM9zWJuDGbNMvUFv0Bv0Br1BL3rRi170ohe96EUvetErvdIrvdIrvdIrvdIrvdJrvdZrvdZrvdZrvdZrvdYb9Ua9UW/UG/VGvVFv1Bv1Rr2N3kZvo7fR2+ht9DZ6G72N3kZvq7fV2+pt9bZ6W72t3lZvq7fVm/QmvUlv0pv0Jr1Jb9Kb9Ca9WW/Wm/VmvVlv1pv1Zr1Zbz73sl6bgxmzzDZHc2NuzcnU4yN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3wUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfIx8jCcfOc2YZbY5mhtz6eV5eaF2uqVYjt1Yjc1YjL1Yi61Yip1YiY1YiH1Yh21Yhl1YhU1YhD1Ygy1Ygh1YwWAFgx8Rgx8Rgx8RlyvY5Qp2npcr2HlermDnebmCneflCnaelyvYeV6uYOd5uYKd5uUK9gevYHEFiytYXMHiChZXsLiCxRUsrmBxBYsrWJ6X1/Qvb0N8fDzu96fX9/96X2J5t+Jhd9zfPa4+3D0dDler77vD088HfXvY3f2cj7vj8tn11Wp/93mZS/DL7WF/+tvz1a/T67ePTvPg8Jx6PZ787vltb53fTut3nJ9Gx6fN6+nxt5/9ck9wfLkpvOf88Ho+41vnxz+3veX1kfPLK6L3PP/N/HK+8tb56X++/vR6fn7z68/v+f6vl492N7fH/77PtihYvuGTqdP/le+74+3u02F/+tTp8NPdzcsjlw8f/354+czLe3YPx/ub/een4/5U/fXG3WLpr+WJLJfK69PVcPloXM9X49DXL5fm0yM266vt+uUBy+88rpbfZ1w/n57pPw==", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, @@ -55,6 +58,7 @@ expression: artifact "main" ], "brillig_names": [ + "print_unconstrained", "print_unconstrained" ] } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index e5e3f35ce86..6d62d6711df 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -35,19 +35,22 @@ expression: artifact "public parameters indices : []", "return value indices : [_1]", "BLACKBOX::RANGE [(_0, 1)] []", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 2 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 2 }, Expression { mul_terms: [], linear_combinations: [], q_c: 3 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 4 }, Expression { mul_terms: [], linear_combinations: [], q_c: 5 }])], outputs: []", + "BRILLIG CALL func 1: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", "EXPR [ (1, _1) -1 ]", "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 10 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U128) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U32) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U128) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U1) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(4) }, Call { location: 102 }, Call { location: 103 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 101 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 94 }, Return, Return, Call { location: 509 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(34), source: Direct(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(35) }, IndirectConst { destination_pointer: Relative(34), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, Mov { destination: Relative(36), source: Relative(35) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(13) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(20) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(25) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(27) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(29) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(32) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(33) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(6) }), HeapArray(HeapArray { pointer: Relative(7), size: 181 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, 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: 514 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", + "unconstrained func 1", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "ndfLSiNRFIXhd6lxBrXX2qcuvoqIRC0lEGKISUMjefeuyvmj3QMbceIyl/MbJB9UvTdP08Pp5X6ze359a25u35uHw2a73bzcb18f18fN625+9r1plx+9m5tYNX3WKXW6On2doc54maGtE3VUp1aGWhlqZaiVoVaGWhlqZayVsVbGWhlrZayVsVbGWhlrZayVsVaibdlgxZpNtrAd27MDSy/oBb2gF/SCXtALekEv6AU90RM90RM90RM90RM90RM90zM90zM90zM90zM90zO9pJf0kl7SS3pJL+klvaSX9Aq9Qq/QK/QKvUKv0Cv0Cr1Cr6PX0evodfQ6eh29jl5Hr6PX0evp9fR6eigIGAQOAgiBhIBCYCHAEGgIOAQeAhCBiIBEYCJAEagIWAQuAhiBjIBGYCPAEegIeAQ+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEfiI/GR+Eh8JD4SH4mPxEcuPrRssoXt2J4d2LHu4uOywYpdeufzqrle4N8fD9O0XN//dcU/3wfs14dpd2xudqftdtX8Wm9Plze97de7yx7Xh/nVdtVMu6d55+DzZjstv51Xn6fbr48OY3B4lD+OS98932fP+X5of3B+vjLn/Hxt/nG+fPvzz1fa1/PWD873+jhevjpe/vPnx+v5+VLtq/PdT/79d/Oj9ePm8O8t4Pw16s9L7rBZP2yn5bnl1Gn3eH3L/PD4e3995XofuT+8Pk5Pp8O05D5vJudv4W3Xrvr2brmnmh9kKavs2rvz8gH+AA==", + "debug_symbols": "7dnBThtZEIbRd/Gahfuvars7rzJCkUOcCMkC5ECkUcS7Tzs+kJkFowgpO29SIfh+mFIO8sU/Vp/3n56+fry9+3L/bfXhrx+rT8fbw+H268fD/c3u8fb+bvnXH6v16Y9h3asPw9UyR3Njbs3JnM9zWJuDGbNMvUFv0Bv0Br1BL3rRi170ohe96EUvetErvdIrvdIrvdIrvdIrvdJrvdZrvdZrvdZrvdZrvdYb9Ua9UW/UG/VGvVFv1Bv1Rr2N3kZvo7fR2+ht9DZ6G72N3kZvq7fV2+pt9bZ6W72t3lZvq7fVm/QmvUlv0pv0Jr1Jb9Kb9Ca9WW/Wm/VmvVlv1pv1Zr1Zbz73sl6bgxmzzDZHc2NuzcnU4yN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3wUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfIx8jCcfOc2YZbY5mhtz6eV5eaF2uqVYjt1Yjc1YjL1Yi61Yip1YiY1YiH1Yh21Yhl1YhU1YhD1Ygy1Ygh1YwWAFgx8Rgx8Rgx8RlyvY5Qp2npcr2HlermDnebmCneflCnaelyvYeV6uYOd5uYKd5uUK9gevYHEFiytYXMHiChZXsLiCxRUsrmBxBYsrWJ6X1/Qvb0N8fDzu96fX9/96X2J5t+Jhd9zfPa4+3D0dDler77vD088HfXvY3f2cj7vj8tn11Wp/93mZS/DL7WF/+tvz1a/T67ePTvPg8Jx6PZ787vltb53fTut3nJ9Gx6fN6+nxt5/9ck9wfLkpvOf88Ho+41vnxz+3veX1kfPLK6L3PP/N/HK+8tb56X++/vR6fn7z68/v+f6vl492N7fH/77PtihYvuGTqdP/le+74+3u02F/+tTp8NPdzcsjlw8f/354+czLe3YPx/ub/een4/5U/fXG3WLpr+WJLJfK69PVcPloXM9X49DXL5fm0yM266vt+uUBy+88rpbfZ1w/n57pPw==", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, @@ -55,6 +58,7 @@ expression: artifact "main" ], "brillig_names": [ + "print_unconstrained", "print_unconstrained" ] } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index f8021f3ceef..d2cc59ea44f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -40,16 +40,16 @@ expression: artifact "return value indices : [_1]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 477 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, JumpIf { condition: Relative(1), location: 43 }, Jump { location: 19 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 84 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 92 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), MemoryAddress(Relative(1)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(11), size: Relative(12) }), HeapArray(HeapArray { pointer: Relative(13), size: 168 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 482 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "tdjRaiJLFIXhd/Hai661dnVV51WGEExiBkFMcPTAIfjup9v9m0kuAoeBucmK0folwgfdvq+et4/nnw+7w8vrr9Xdj/fV43G33+9+Puxfnzan3eth/uv7alh+lGl1V9YrDTklRznOiZyaM+a0nJ6TFWfFWXFWnBVnxVlxVpwVZyXmV2qeyKk5Y07L6TnTdeqQU3KUk5WalZqVmpWalZqVcX6l54mcmjPmtJyeM12nDTklRzlZaVlpWWlZaVlpc6XOM12nDzklRznOiZyaM+a0nKz0rExZmbIyZWXKyjRX+jw1Z8xpOT1nuk4ZBrawYs0GW9mRbWxn6RV6hV6hV+gVeoVeoVfoFXqFnuiJnuiJnuiJnuiJnuiJnumZnumZnumZnumZnumZXtALekEv6AW9oBf0gl7QC3qVXqVX6VV6lV6lV+lVepVepTfSG+mN9EZ6I72R3khvpDfSG+k1eo1eo9foNXqNXqPX6DV6jV6n1+l1ep1ep9fpdXqdXqfX6U30JnoTvYkeNAo2CjgKOgo8Cj6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPmLxMS1b2ZFtbGen3MXHdQsr1iy9xcd0uaxXt1u6h9Nxu13u6D7d4813fm+b4/ZwWt0dzvv9evXPZn++vujX2+Zw3dPmOD87rFfbw/O8c/Blt98uv13Wv08P3x+dr+Q5PF/Lfxyv//v8JI5P/oPT83X97d2tPzjf9HG8fnc8/trx8vHPz9eV350fvz/fp3L78PT705O+nG9/73yLxvnWhy/n7+dHm6fd8cs3DpeldNxtHvdbHr6cD0+fnj39+3Z75vaNxdvx9Wn7fD5ul9Knry3mnz+itXV03S+3i8vD7vlhvb8sb/8f", + "debug_symbols": "tdrRblVHEoXhd/G1L05XVVdV8yoRQgZMZMkyyIGRRsjvPnuf/hdDLhyNGHHDasfp34m1P5DY/n7z8f79tz/fPTx9+vzXzZs/vt+8f354fHz4893j5w93Xx8+Px3/9PvN5fxl5M2bcXszak/vWdexy56xx/b4ntgz9+yKHRU7pves6/hlz9hje3xP7Jl7cs+u+K74rsSuxK7ErsSuxK7ErsSuxK7ErsSuzF2ZuzJ3Ze7K3JW5K3NX5q7MXZm7kruSu5K7kruSu5K7kkdlHlN7es+6Tl32jD22x/fEnrlnV2pXaldqV3pXeld6V3pXeld6V3pXeld6V3pX1q6sXVm7snZl7cralbUra1fWrqxdGZcLO1hjnQ12sskW2yy9QW/QG/QGvUFv0Bv0Br1Bb9AzekbP6Bk9o2f0jJ7RM3pGz+k5Pafn9Jye03N6Ts/pOb2gF/SCXtALekEv6AW9oBf0Jr1Jb9Kb9Ca9SW/Sm/QmvUkv6SW9pJf0kl7S4/EfPP8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8OH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4PhwfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPuL0kecGO9lki+29p4c611hng51sssU2u/aeHq5Lr+k1vabX9Jpe02t6TW/RO5/7PneyyRbb7LruPJ/76w7WWGeDnWyyxTZL73y+17nBTjbZYptde8/n+7qDNZae0TN6Rs/onc/3GOdhcTif8H0YOpgOrkPoMHVIHUoHlV3lUDlUDpVD5fN5H3Eepg6pQ+nQOiwO51O/D0MH08F1UHmqPFWeKk+Vp8qpcqqcKqfKqXKqnCqnyqlyqlwql8qlcqlcKpfKpXKpXCqXyq1yq9wqt8qtcqvcKrfKrXKrvFReKi+Vl8pL5aXyUnmpvFRelPNy0WHoYDq4DqHD1CF1KB1aB5WHykPlofJQeag8VB4qD5WHykNlU9lUNpVNZVPZVDaVTWVT2VR2lV1lV9lVdpVdZVfZVXaVXeVQOVQOlUNlGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGeyrwXkeUofSoXVYHK4Gr4ehg+ngOpzl+fJye6PXjO++Pt/fn28Zf3rveLyN/HL3fP/09ebN07fHx9ubf909frv+S399uXu67te75+Ozl9ub+6ePxx7BTw+P9+fp5fa/ty+vX+3J3c4fl+f/fPt4PcX14wXVr9wfP+7bfO2+/8N//RrcX+Y/7pv97X78vvvHn3ncP35Tf+3+P/z/H68huH+8iPiV718vff/W5RfuH68l9PVt/crXT33944XFa/fH7wzYj+/A8Vfjrwbs/3wEhv/GwOsP0dvjo7sPD89/+2GEl7P0/HD3/vGeDz99e/rw02e//vuLPqMfZvjy/PnD/cdvz/dn6aefaDh+/aNX3a6LvT1f/h4frosfH863L+eX/w8=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap index f8021f3ceef..d2cc59ea44f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap @@ -40,16 +40,16 @@ expression: artifact "return value indices : [_1]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 477 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, JumpIf { condition: Relative(1), location: 43 }, Jump { location: 19 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 84 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 92 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), MemoryAddress(Relative(1)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(11), size: Relative(12) }), HeapArray(HeapArray { pointer: Relative(13), size: 168 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 482 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "tdjRaiJLFIXhd/Hai661dnVV51WGEExiBkFMcPTAIfjup9v9m0kuAoeBucmK0folwgfdvq+et4/nnw+7w8vrr9Xdj/fV43G33+9+Puxfnzan3eth/uv7alh+lGl1V9YrDTklRznOiZyaM+a0nJ6TFWfFWXFWnBVnxVlxVpwVZyXmV2qeyKk5Y07L6TnTdeqQU3KUk5WalZqVmpWalZqVcX6l54mcmjPmtJyeM12nDTklRzlZaVlpWWlZaVlpc6XOM12nDzklRznOiZyaM+a0nKz0rExZmbIyZWXKyjRX+jw1Z8xpOT1nuk4ZBrawYs0GW9mRbWxn6RV6hV6hV+gVeoVeoVfoFXqFnuiJnuiJnuiJnuiJnuiJnumZnumZnumZnumZnumZXtALekEv6AW9oBf0gl7QC3qVXqVX6VV6lV6lV+lVepVepTfSG+mN9EZ6I72R3khvpDfSG+k1eo1eo9foNXqNXqPX6DV6jV6n1+l1ep1ep9fpdXqdXqfX6U30JnoTvYkeNAo2CjgKOgo8Cj6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPmLxMS1b2ZFtbGen3MXHdQsr1iy9xcd0uaxXt1u6h9Nxu13u6D7d4813fm+b4/ZwWt0dzvv9evXPZn++vujX2+Zw3dPmOD87rFfbw/O8c/Blt98uv13Wv08P3x+dr+Q5PF/Lfxyv//v8JI5P/oPT83X97d2tPzjf9HG8fnc8/trx8vHPz9eV350fvz/fp3L78PT705O+nG9/73yLxvnWhy/n7+dHm6fd8cs3DpeldNxtHvdbHr6cD0+fnj39+3Z75vaNxdvx9Wn7fD5ul9Knry3mnz+itXV03S+3i8vD7vlhvb8sb/8f", + "debug_symbols": "tdrRblVHEoXhd/G1L05XVVdV8yoRQgZMZMkyyIGRRsjvPnuf/hdDLhyNGHHDasfp34m1P5DY/n7z8f79tz/fPTx9+vzXzZs/vt+8f354fHz4893j5w93Xx8+Px3/9PvN5fxl5M2bcXszak/vWdexy56xx/b4ntgz9+yKHRU7pves6/hlz9hje3xP7Jl7cs+u+K74rsSuxK7ErsSuxK7ErsSuxK7ErsSuzF2ZuzJ3Ze7K3JW5K3NX5q7MXZm7kruSu5K7kruSu5K7kkdlHlN7es+6Tl32jD22x/fEnrlnV2pXaldqV3pXeld6V3pXeld6V3pXeld6V3pX1q6sXVm7snZl7cralbUra1fWrqxdGZcLO1hjnQ12sskW2yy9QW/QG/QGvUFv0Bv0Br1Bb9AzekbP6Bk9o2f0jJ7RM3pGz+k5Pafn9Jye03N6Ts/pOb2gF/SCXtALekEv6AW9oBf0Jr1Jb9Kb9Ca9SW/Sm/QmvUkv6SW9pJf0kl7S4/EfPP8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8OH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4PhwfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPuL0kecGO9lki+29p4c611hng51sssU2u/aeHq5Lr+k1vabX9Jpe02t6TW/RO5/7PneyyRbb7LruPJ/76w7WWGeDnWyyxTZL73y+17nBTjbZYptde8/n+7qDNZae0TN6Rs/onc/3GOdhcTif8H0YOpgOrkPoMHVIHUoHlV3lUDlUDpVD5fN5H3Eepg6pQ+nQOiwO51O/D0MH08F1UHmqPFWeKk+Vp8qpcqqcKqfKqXKqnCqnyqlyqlwql8qlcqlcKpfKpXKpXCqXyq1yq9wqt8qtcqvcKrfKrXKrvFReKi+Vl8pL5aXyUnmpvFRelPNy0WHoYDq4DqHD1CF1KB1aB5WHykPlofJQeag8VB4qD5WHykNlU9lUNpVNZVPZVDaVTWVT2VR2lV1lV9lVdpVdZVfZVXaVXeVQOVQOlUNlGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGeyrwXkeUofSoXVYHK4Gr4ehg+ngOpzl+fJye6PXjO++Pt/fn28Zf3rveLyN/HL3fP/09ebN07fHx9ubf909frv+S399uXu67te75+Ozl9ub+6ePxx7BTw+P9+fp5fa/ty+vX+3J3c4fl+f/fPt4PcX14wXVr9wfP+7bfO2+/8N//RrcX+Y/7pv97X78vvvHn3ncP35Tf+3+P/z/H68huH+8iPiV718vff/W5RfuH68l9PVt/crXT33944XFa/fH7wzYj+/A8Vfjrwbs/3wEhv/GwOsP0dvjo7sPD89/+2GEl7P0/HD3/vGeDz99e/rw02e//vuLPqMfZvjy/PnD/cdvz/dn6aefaDh+/aNX3a6LvT1f/h4frosfH863L+eX/w8=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index f8021f3ceef..d2cc59ea44f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -40,16 +40,16 @@ expression: artifact "return value indices : [_1]", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 477 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, JumpIf { condition: Relative(1), location: 43 }, Jump { location: 19 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Mov { destination: Relative(6), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 63 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(8) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 84 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 92 }, Call { location: 483 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(1) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(12), source_pointer: Relative(13) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(14) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), MemoryAddress(Relative(1)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(11), size: Relative(12) }), HeapArray(HeapArray { pointer: Relative(13), size: 168 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 482 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "tdjRaiJLFIXhd/Hai661dnVV51WGEExiBkFMcPTAIfjup9v9m0kuAoeBucmK0folwgfdvq+et4/nnw+7w8vrr9Xdj/fV43G33+9+Puxfnzan3eth/uv7alh+lGl1V9YrDTklRznOiZyaM+a0nJ6TFWfFWXFWnBVnxVlxVpwVZyXmV2qeyKk5Y07L6TnTdeqQU3KUk5WalZqVmpWalZqVcX6l54mcmjPmtJyeM12nDTklRzlZaVlpWWlZaVlpc6XOM12nDzklRznOiZyaM+a0nKz0rExZmbIyZWXKyjRX+jw1Z8xpOT1nuk4ZBrawYs0GW9mRbWxn6RV6hV6hV+gVeoVeoVfoFXqFnuiJnuiJnuiJnuiJnuiJnumZnumZnumZnumZnumZXtALekEv6AW9oBf0gl7QC3qVXqVX6VV6lV6lV+lVepVepTfSG+mN9EZ6I72R3khvpDfSG+k1eo1eo9foNXqNXqPX6DV6jV6n1+l1ep1ep9fpdXqdXqfX6U30JnoTvYkeNAo2CjgKOgo8Cj6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+hA/hQ/gQPoQP4UP4ED6ED+FD+BA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPowP48P4MD6MD+PD+DA+jA/jw/gwPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPmLxMS1b2ZFtbGen3MXHdQsr1iy9xcd0uaxXt1u6h9Nxu13u6D7d4813fm+b4/ZwWt0dzvv9evXPZn++vujX2+Zw3dPmOD87rFfbw/O8c/Blt98uv13Wv08P3x+dr+Q5PF/Lfxyv//v8JI5P/oPT83X97d2tPzjf9HG8fnc8/trx8vHPz9eV350fvz/fp3L78PT705O+nG9/73yLxvnWhy/n7+dHm6fd8cs3DpeldNxtHvdbHr6cD0+fnj39+3Z75vaNxdvx9Wn7fD5ul9Knry3mnz+itXV03S+3i8vD7vlhvb8sb/8f", + "debug_symbols": "tdrRblVHEoXhd/G1L05XVVdV8yoRQgZMZMkyyIGRRsjvPnuf/hdDLhyNGHHDasfp34m1P5DY/n7z8f79tz/fPTx9+vzXzZs/vt+8f354fHz4893j5w93Xx8+Px3/9PvN5fxl5M2bcXszak/vWdexy56xx/b4ntgz9+yKHRU7pves6/hlz9hje3xP7Jl7cs+u+K74rsSuxK7ErsSuxK7ErsSuxK7ErsSuzF2ZuzJ3Ze7K3JW5K3NX5q7MXZm7kruSu5K7kruSu5K7kkdlHlN7es+6Tl32jD22x/fEnrlnV2pXaldqV3pXeld6V3pXeld6V3pXeld6V3pX1q6sXVm7snZl7cralbUra1fWrqxdGZcLO1hjnQ12sskW2yy9QW/QG/QGvUFv0Bv0Br1Bb9AzekbP6Bk9o2f0jJ7RM3pGz+k5Pafn9Jye03N6Ts/pOb2gF/SCXtALekEv6AW9oBf0Jr1Jb9Kb9Ca9SW/Sm/QmvUkv6SW9pJf0kl7S4/EfPP8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8OH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4PhwfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPuL0kecGO9lki+29p4c611hng51sssU2u/aeHq5Lr+k1vabX9Jpe02t6TW/RO5/7PneyyRbb7LruPJ/76w7WWGeDnWyyxTZL73y+17nBTjbZYptde8/n+7qDNZae0TN6Rs/onc/3GOdhcTif8H0YOpgOrkPoMHVIHUoHlV3lUDlUDpVD5fN5H3Eepg6pQ+nQOiwO51O/D0MH08F1UHmqPFWeKk+Vp8qpcqqcKqfKqXKqnCqnyqlyqlwql8qlcqlcKpfKpXKpXCqXyq1yq9wqt8qtcqvcKrfKrXKrvFReKi+Vl8pL5aXyUnmpvFRelPNy0WHoYDq4DqHD1CF1KB1aB5WHykPlofJQeag8VB4qD5WHykNlU9lUNpVNZVPZVDaVTWVT2VR2lV1lV9lVdpVdZVfZVXaVXeVQOVQOlUNlGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGeyrwXkeUofSoXVYHK4Gr4ehg+ngOpzl+fJye6PXjO++Pt/fn28Zf3rveLyN/HL3fP/09ebN07fHx9ubf909frv+S399uXu67te75+Ozl9ub+6ePxx7BTw+P9+fp5fa/ty+vX+3J3c4fl+f/fPt4PcX14wXVr9wfP+7bfO2+/8N//RrcX+Y/7pv97X78vvvHn3ncP35Tf+3+P/z/H68huH+8iPiV718vff/W5RfuH68l9PVt/crXT33944XFa/fH7wzYj+/A8Vfjrwbs/3wEhv/GwOsP0dvjo7sPD89/+2GEl7P0/HD3/vGeDz99e/rw02e//vuLPqMfZvjy/PnD/cdvz/dn6aefaDh+/aNX3a6LvT1f/h4frosfH863L+eX/w8=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n // safety: test\n unsafe {\n func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap index e2b6ccc8233..a6e1b2b474f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap @@ -2,5 +2,6 @@ source: tooling/nargo_cli/tests/execute.rs expression: stdout --- -(&[0, 0], true, &[100]) +&[(0, true, [1, 2]), (3, false, [4, 5])] +(&[1, 0], true, &[100]) [regression_9271] Circuit output: Field(1) From b8f4f0766e150e4c0e3bd67f2b2eddc7e95a01b6 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 19:02:05 +0100 Subject: [PATCH 13/28] In this version we prefix with the field count, not the capacity --- .../src/ssa/interpreter/intrinsics.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index dc0f54f6c60..0f5f82715b7 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -797,10 +797,18 @@ fn value_to_fields(value: &Value) -> Vec { } Value::ArrayOrSlice(array_value) => { if with_length_prefix { - fields.push(FieldElement::from(array_value.elements.borrow().len())); - } - for value in array_value.elements.borrow().iter() { - go(value, fields, false); + // Mimic what happens in the print module, where in this version we prefix + // with the number of fields in the vector, not the capacity. + let mut array_fields = Vec::new(); + for value in array_value.elements.borrow().iter() { + go(value, &mut array_fields, false); + } + fields.push(FieldElement::from(array_fields.len())); + fields.extend(array_fields); + } else { + for value in array_value.elements.borrow().iter() { + go(value, fields, false); + } } } Value::Function(id) => { From 4ba85f2334787f71d83135bee4a7737f3d7e34ae Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 19:17:13 +0100 Subject: [PATCH 14/28] Update integration test --- test_programs/execution_success/regression_9271/src/main.nr | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test_programs/execution_success/regression_9271/src/main.nr b/test_programs/execution_success/regression_9271/src/main.nr index 50203657556..05c99d483d5 100644 --- a/test_programs/execution_success/regression_9271/src/main.nr +++ b/test_programs/execution_success/regression_9271/src/main.nr @@ -1,7 +1,10 @@ fn main(b: bool) -> pub bool { + let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])]; + println(s); + // safety: test unsafe { - func_5((if b { &[0, 0] } else { &[0, 0, 0, 0] }, true, &[100])) + func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100])) } } fn func_5(a: ([u1], bool, [u32])) -> bool { From e551e901df19eb6a508e06684d8ca7a1670c652a Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 20:11:09 +0100 Subject: [PATCH 15/28] Update unit tests --- acvm-repo/brillig_vm/src/lib.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 85a7497b460..7d327b6c324 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -2151,7 +2151,12 @@ mod tests { vm.status, VMStatus::ForeignCallWait { function: "string_double".into(), - inputs: vec![input_string.clone().into()] + inputs: vec![{ + let mut data = input_string.clone(); + // Because the string is represented as a `HeapVector`, it will be prefixed with its capacity. + data.insert(0, input_string.len().into()); + data.into() + }] } ); @@ -2520,12 +2525,14 @@ mod tests { function: "flat_sum".into(), inputs: vec![ForeignCallParam::Array(vec![ (1u128).into(), - (2u128).into(), // size of following vector + (2u128).into(), // length of following vector + (2u128).into(), // flattened capacity of following vector (2u128).into(), (3u128).into(), (4u128).into(), (5u128).into(), - (3u128).into(), // size of following vector + (3u128).into(), // length of following vector + (3u128).into(), // flattened capacity of following vector (6u128).into(), (7u128).into(), (8u128).into(), From 2c4dfd3cc1dc56019b8b8a5e1ada35fa020aaca7 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Wed, 23 Jul 2025 22:45:51 +0100 Subject: [PATCH 16/28] Slice, Array and String are just 1 wide --- compiler/noirc_printable_type/src/lib.rs | 59 ++++++++++++++++-------- 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 9229dcd4768..d4ef5ec4ff8 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -316,14 +316,10 @@ pub fn decode_printable_value( .expect("expected slice to have at least 1 field for capacity") .to_u128() as usize; - // Capacity is in terms of flattened members. - // For example a `[(u128, bool, [u32; 2])]` slice with 2 items is represented - // as an Array with 8 fields, but it has a capacity of 6, because the array - // only takes 1 slot. It's the tuple that has 3 members, and we have 2 tuples. - // To know how many items we need to consume, we need to know the number of - // members in the type that is contained in the slice. - let capacity = match printable_type_length(typ) { - 0 => flattened_capacity, + // Capacity is in terms of flattened members. To figure out how many items are + // in the slice, we have to divide that with how wide the type is. + let capacity = match printable_type_width(typ) { + 0 => length, n => flattened_capacity / n, }; @@ -386,22 +382,29 @@ pub fn decode_printable_value( } } -/// Return the number of "members" a type has. -fn printable_type_length(typ: &PrintableType) -> usize { +/// Return the number of "members" a type has, or how "wide" it is when it's stored in a slice. +/// +/// For example a `[(u128, str<3>, [(u32, bool); 2])]` slice with 2 items is represented by +/// an array of 16 fields, while the capacity of the slice is 6. That's because the tuple in +/// the slice has 3 fields, and we have 2 tuples, which needs 6 "slots" in memory. +fn printable_type_width(typ: &PrintableType) -> usize { match typ { + // Primitive types take 1 space PrintableType::Field | PrintableType::SignedInteger { .. } | PrintableType::UnsignedInteger { .. } | PrintableType::Boolean => 1, - PrintableType::Array { typ, .. } => printable_type_length(typ), - PrintableType::Slice { typ } => printable_type_length(typ), - PrintableType::Tuple { types } => types.iter().map(printable_type_length).sum(), - PrintableType::String { length } => *length as usize, + // Vector types also take 1 space, because they are represented by pointers in memory + PrintableType::Array { .. } + | PrintableType::Slice { .. } + | PrintableType::String { .. } => 1, + // Tuples and structs are flattened. + PrintableType::Tuple { types } => types.iter().map(printable_type_width).sum(), PrintableType::Struct { fields, .. } => { - fields.iter().map(|(_, typ)| printable_type_length(typ)).sum() + fields.iter().map(|(_, typ)| printable_type_width(typ)).sum() } - PrintableType::Function { env, .. } => printable_type_length(env), - PrintableType::Reference { typ, .. } => printable_type_length(typ), + PrintableType::Function { env, .. } => printable_type_width(env), + PrintableType::Reference { typ, .. } => printable_type_width(typ), PrintableType::Unit => 0, PrintableType::Enum { .. } => { panic!("don't know how to calculate a static type length for an enum") @@ -536,7 +539,7 @@ mod tests { use proptest::prelude::*; - use crate::to_string; + use crate::{printable_type_width, to_string}; use super::{PrintableType, PrintableValue, PrintableValueDisplay}; @@ -596,6 +599,26 @@ mod tests { assert_eq!(string.unwrap(), "(0x01, 0x02)"); } + #[test] + fn printable_type_width_example() { + let typ = PrintableType::Tuple { + types: vec![ + PrintableType::Field, + PrintableType::String { length: 3 }, + PrintableType::Array { + length: 2, + typ: Box::new(PrintableType::Tuple { + types: vec![ + PrintableType::UnsignedInteger { width: 32 }, + PrintableType::Boolean, + ], + }), + }, + ], + }; + assert_eq!(printable_type_width(&typ), 3); + } + proptest! { #[test] fn handles_decoding_u128_values(uint_value: u128) { From c1768665d1a8a9527dbc2f76461211f54e03f764 Mon Sep 17 00:00:00 2001 From: Maxim Vezenov Date: Thu, 24 Jul 2025 20:16:33 +0000 Subject: [PATCH 17/28] remove slice padding in the brillig vm instead of changing the encoding of slice foreign call inputs --- acvm-repo/brillig/src/opcodes.rs | 25 +++++++++++++ acvm-repo/brillig_vm/src/lib.rs | 40 ++++++++++++++++---- compiler/noirc_printable_type/src/lib.rs | 47 ------------------------ 3 files changed, 57 insertions(+), 55 deletions(-) diff --git a/acvm-repo/brillig/src/opcodes.rs b/acvm-repo/brillig/src/opcodes.rs index e7170c56087..e760d44efc9 100644 --- a/acvm-repo/brillig/src/opcodes.rs +++ b/acvm-repo/brillig/src/opcodes.rs @@ -84,6 +84,31 @@ impl HeapValueType { pub fn field() -> HeapValueType { HeapValueType::Simple(BitSize::Field) } + + /// Returns the total number of field elements required to represent this type in memory + pub fn flattened_size(&self) -> usize { + match self { + HeapValueType::Simple(_) => 1, + + HeapValueType::Array { value_types, size } => { + // Recursively compute the flattened size of all value types + let element_size: usize = value_types + .iter() + .map(|ty| ty.flattened_size()) + .sum(); + + element_size * size + } + + // The size of a vector is stored separately and should be handled by the caller of this method + HeapValueType::Vector { value_types } => { + value_types + .iter() + .map(|ty| ty.flattened_size()) + .sum() + } + } + } } /// A fixed-sized array starting from a Brillig memory location. diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 7d327b6c324..4e6c809893b 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -525,10 +525,39 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { // resolved inputs back to the caller. Once the caller pushes to `foreign_call_results`, // they can then make another call to the VM that starts at this opcode // but has the necessary results to proceed with execution. + let mut previous_input: Option> = None; let resolved_inputs = inputs .iter() .zip(input_value_types) - .map(|(input, input_type)| self.get_memory_values(*input, input_type)) + .map(|(input, input_type)| { + let mut input = self.get_memory_values(*input, input_type); + + match input_type { + HeapValueType::Vector { .. } => { + if let Some(ForeignCallParam::Single(value)) = previous_input { + // Cut off slices with their semantic length, + // They may have a capacity which could be higher than their semantic length. + let flattened_size = input_type.flattened_size(); + let fields = input.fields(); + let value_as_usize = value.to_u128() as usize; + input = ForeignCallParam::Array(fields[0..(value_as_usize * flattened_size)].to_vec()); + } + + previous_input = None; + } + HeapValueType::Simple(BitSize::Integer(IntegerBitSize::U32)) => { + // If we have a single u32 we may have a slice representation, so store this input. + // On the next iteration, if we have a vector then we know we have the dynamic length + // for that slice. + previous_input = Some(input.clone()); + } + _ => { + // Do nothing otherwise + previous_input = None; + } + } + input + }) .collect::>(); return self.wait_for_foreign_call(function.clone(), resolved_inputs); } @@ -681,14 +710,9 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { ) => { let start = self.memory.read_ref(pointer_index); let size = self.memory.read(size_index).to_usize(); - // Prefix slices with their capacity, which could be higher than their semantic length. - let mut values = vec![F::from(size)]; - values.extend( - self.read_slice_of_values_from_memory(start, size, value_types) + self.read_slice_of_values_from_memory(start, size, value_types) .into_iter() - .map(|mem_value| mem_value.to_field()), - ); - values.into() + .map(|mem_value| mem_value.to_field()).collect::>().into() } _ => { unreachable!("Unexpected value type {value_type:?} for input {input:?}"); diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index d4ef5ec4ff8..32320b25459 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -311,29 +311,12 @@ pub fn decode_printable_value( .expect("not enough data to decode variable array length") .to_u128() as usize; - let flattened_capacity = field_iterator - .next() - .expect("expected slice to have at least 1 field for capacity") - .to_u128() as usize; - - // Capacity is in terms of flattened members. To figure out how many items are - // in the slice, we have to divide that with how wide the type is. - let capacity = match printable_type_width(typ) { - 0 => length, - n => flattened_capacity / n, - }; - let mut array_elements = Vec::with_capacity(length); for _ in 0..length { array_elements.push(decode_printable_value(field_iterator, typ)); } - // Consume padding. - for _ in length..capacity { - let _ = decode_printable_value(field_iterator, typ); - } - PrintableValue::Vec { array_elements, is_slice: true } } PrintableType::Tuple { types } => PrintableValue::Vec { @@ -382,36 +365,6 @@ pub fn decode_printable_value( } } -/// Return the number of "members" a type has, or how "wide" it is when it's stored in a slice. -/// -/// For example a `[(u128, str<3>, [(u32, bool); 2])]` slice with 2 items is represented by -/// an array of 16 fields, while the capacity of the slice is 6. That's because the tuple in -/// the slice has 3 fields, and we have 2 tuples, which needs 6 "slots" in memory. -fn printable_type_width(typ: &PrintableType) -> usize { - match typ { - // Primitive types take 1 space - PrintableType::Field - | PrintableType::SignedInteger { .. } - | PrintableType::UnsignedInteger { .. } - | PrintableType::Boolean => 1, - // Vector types also take 1 space, because they are represented by pointers in memory - PrintableType::Array { .. } - | PrintableType::Slice { .. } - | PrintableType::String { .. } => 1, - // Tuples and structs are flattened. - PrintableType::Tuple { types } => types.iter().map(printable_type_width).sum(), - PrintableType::Struct { fields, .. } => { - fields.iter().map(|(_, typ)| printable_type_width(typ)).sum() - } - PrintableType::Function { env, .. } => printable_type_width(env), - PrintableType::Reference { typ, .. } => printable_type_width(typ), - PrintableType::Unit => 0, - PrintableType::Enum { .. } => { - panic!("don't know how to calculate a static type length for an enum") - } - } -} - pub fn decode_string_value(field_elements: &[F]) -> String { let string_as_slice = vecmap(field_elements, |e| { let mut field_as_bytes = e.to_be_bytes(); From 216acaea9530f6871787a455666d169ef5d75a83 Mon Sep 17 00:00:00 2001 From: Maxim Vezenov Date: Thu, 24 Jul 2025 20:17:48 +0000 Subject: [PATCH 18/28] fmt --- acvm-repo/brillig/src/opcodes.rs | 10 ++-------- acvm-repo/brillig_vm/src/lib.rs | 16 ++++++++++------ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/acvm-repo/brillig/src/opcodes.rs b/acvm-repo/brillig/src/opcodes.rs index e760d44efc9..41a813b6886 100644 --- a/acvm-repo/brillig/src/opcodes.rs +++ b/acvm-repo/brillig/src/opcodes.rs @@ -92,20 +92,14 @@ impl HeapValueType { HeapValueType::Array { value_types, size } => { // Recursively compute the flattened size of all value types - let element_size: usize = value_types - .iter() - .map(|ty| ty.flattened_size()) - .sum(); + let element_size: usize = value_types.iter().map(|ty| ty.flattened_size()).sum(); element_size * size } // The size of a vector is stored separately and should be handled by the caller of this method HeapValueType::Vector { value_types } => { - value_types - .iter() - .map(|ty| ty.flattened_size()) - .sum() + value_types.iter().map(|ty| ty.flattened_size()).sum() } } } diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 4e6c809893b..4bebbab9625 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -535,20 +535,22 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { match input_type { HeapValueType::Vector { .. } => { if let Some(ForeignCallParam::Single(value)) = previous_input { - // Cut off slices with their semantic length, + // Cut off slices with their semantic length, // They may have a capacity which could be higher than their semantic length. let flattened_size = input_type.flattened_size(); let fields = input.fields(); let value_as_usize = value.to_u128() as usize; - input = ForeignCallParam::Array(fields[0..(value_as_usize * flattened_size)].to_vec()); + input = ForeignCallParam::Array( + fields[0..(value_as_usize * flattened_size)].to_vec(), + ); } previous_input = None; } HeapValueType::Simple(BitSize::Integer(IntegerBitSize::U32)) => { // If we have a single u32 we may have a slice representation, so store this input. - // On the next iteration, if we have a vector then we know we have the dynamic length - // for that slice. + // On the next iteration, if we have a vector then we know we have the dynamic length + // for that slice. previous_input = Some(input.clone()); } _ => { @@ -711,8 +713,10 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { let start = self.memory.read_ref(pointer_index); let size = self.memory.read(size_index).to_usize(); self.read_slice_of_values_from_memory(start, size, value_types) - .into_iter() - .map(|mem_value| mem_value.to_field()).collect::>().into() + .into_iter() + .map(|mem_value| mem_value.to_field()) + .collect::>() + .into() } _ => { unreachable!("Unexpected value type {value_type:?} for input {input:?}"); From 4ea6a3ec6573952e27db151a01bc57f5358e7cde Mon Sep 17 00:00:00 2001 From: Maxim Vezenov Date: Thu, 24 Jul 2025 20:20:54 +0000 Subject: [PATCH 19/28] remove type width test --- compiler/noirc_printable_type/src/lib.rs | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 32320b25459..ef014643501 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -492,7 +492,7 @@ mod tests { use proptest::prelude::*; - use crate::{printable_type_width, to_string}; + use crate::to_string; use super::{PrintableType, PrintableValue, PrintableValueDisplay}; @@ -552,26 +552,6 @@ mod tests { assert_eq!(string.unwrap(), "(0x01, 0x02)"); } - #[test] - fn printable_type_width_example() { - let typ = PrintableType::Tuple { - types: vec![ - PrintableType::Field, - PrintableType::String { length: 3 }, - PrintableType::Array { - length: 2, - typ: Box::new(PrintableType::Tuple { - types: vec![ - PrintableType::UnsignedInteger { width: 32 }, - PrintableType::Boolean, - ], - }), - }, - ], - }; - assert_eq!(printable_type_width(&typ), 3); - } - proptest! { #[test] fn handles_decoding_u128_values(uint_value: u128) { From 407f7c867baf7f14922c0e7427755029c725237b Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Fri, 25 Jul 2025 09:39:55 +0100 Subject: [PATCH 20/28] Roll back unit test changes --- acvm-repo/brillig_vm/src/lib.rs | 49 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 4bebbab9625..104d4e6b2a9 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -525,26 +525,32 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { // resolved inputs back to the caller. Once the caller pushes to `foreign_call_results`, // they can then make another call to the VM that starts at this opcode // but has the necessary results to proceed with execution. + + // With slices we might have more items in the HeapVector than the semantic length + // indicated by the field preceding the pointer to the vector in the inputs. + // This happens when SSA merges slices of different length, which can result in + // a vector that has room for the longer of the two, partially filled with items + // from the shorter. There are ways to deal with this on the receiver side, + // but it is cumbersome, and the cleanest solution is not to send the extra empty + // items at all. To do this, however, we need infer which input is the vector length. + // Because of how the length is separate from the data, this only works on the top level. let mut previous_input: Option> = None; + let resolved_inputs = inputs .iter() .zip(input_value_types) .map(|(input, input_type)| { let mut input = self.get_memory_values(*input, input_type); - + // Truncate slices to their semantic length, which we remember from the preceding field. match input_type { HeapValueType::Vector { .. } => { - if let Some(ForeignCallParam::Single(value)) = previous_input { - // Cut off slices with their semantic length, - // They may have a capacity which could be higher than their semantic length. - let flattened_size = input_type.flattened_size(); - let fields = input.fields(); - let value_as_usize = value.to_u128() as usize; - input = ForeignCallParam::Array( - fields[0..(value_as_usize * flattened_size)].to_vec(), - ); + if let Some(ForeignCallParam::Single(length)) = previous_input { + let type_size = input_type.flattened_size(); + let length = length.to_u128() as usize; + let mut fields = input.fields(); + fields.truncate(length * type_size); + input = ForeignCallParam::Array(fields); } - previous_input = None; } HeapValueType::Simple(BitSize::Integer(IntegerBitSize::U32)) => { @@ -561,6 +567,7 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { input }) .collect::>(); + return self.wait_for_foreign_call(function.clone(), resolved_inputs); } @@ -765,14 +772,11 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { MemoryAddress::direct(vector_address.unwrap_direct() + 1); let items_start = vector_address.offset(2); let vector_size = self.memory.read(size_address).to_usize(); - // Prefix slices with the capacity. - let mut values = vec![MemoryValue::Field(F::from(vector_size))]; - values.extend(self.read_slice_of_values_from_memory( + self.read_slice_of_values_from_memory( items_start, vector_size, value_types, - )); - values + ) } } }) @@ -2179,12 +2183,7 @@ mod tests { vm.status, VMStatus::ForeignCallWait { function: "string_double".into(), - inputs: vec![{ - let mut data = input_string.clone(); - // Because the string is represented as a `HeapVector`, it will be prefixed with its capacity. - data.insert(0, input_string.len().into()); - data.into() - }] + inputs: vec![input_string.clone().into()] } ); @@ -2553,14 +2552,12 @@ mod tests { function: "flat_sum".into(), inputs: vec![ForeignCallParam::Array(vec![ (1u128).into(), - (2u128).into(), // length of following vector - (2u128).into(), // flattened capacity of following vector + (2u128).into(), // size of following vector (2u128).into(), (3u128).into(), (4u128).into(), (5u128).into(), - (3u128).into(), // length of following vector - (3u128).into(), // flattened capacity of following vector + (3u128).into(), // size of following vector (6u128).into(), (7u128).into(), (8u128).into(), From b43f943c3ba197a08a7b6d3e5fb0fced7efd5c29 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Fri, 25 Jul 2025 10:04:18 +0100 Subject: [PATCH 21/28] Implement the truncation in read_slice_of_values_from_memory as well --- acvm-repo/brillig_vm/src/lib.rs | 55 ++++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/acvm-repo/brillig_vm/src/lib.rs b/acvm-repo/brillig_vm/src/lib.rs index 104d4e6b2a9..26d63def5fe 100644 --- a/acvm-repo/brillig_vm/src/lib.rs +++ b/acvm-repo/brillig_vm/src/lib.rs @@ -533,8 +533,7 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { // from the shorter. There are ways to deal with this on the receiver side, // but it is cumbersome, and the cleanest solution is not to send the extra empty // items at all. To do this, however, we need infer which input is the vector length. - // Because of how the length is separate from the data, this only works on the top level. - let mut previous_input: Option> = None; + let mut vector_length: Option = None; let resolved_inputs = inputs .iter() @@ -543,25 +542,27 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { let mut input = self.get_memory_values(*input, input_type); // Truncate slices to their semantic length, which we remember from the preceding field. match input_type { + HeapValueType::Simple(BitSize::Integer(IntegerBitSize::U32)) => { + // If we have a single u32 we may have a slice representation, so store this input. + // On the next iteration, if we have a vector then we know we have the dynamic length + // for that slice. + let ForeignCallParam::Single(length) = input else { + unreachable!("expected u32; got {input:?}"); + }; + vector_length = Some(length.to_u128() as usize); + } HeapValueType::Vector { .. } => { - if let Some(ForeignCallParam::Single(length)) = previous_input { + if let Some(length) = vector_length { let type_size = input_type.flattened_size(); - let length = length.to_u128() as usize; let mut fields = input.fields(); fields.truncate(length * type_size); input = ForeignCallParam::Array(fields); } - previous_input = None; - } - HeapValueType::Simple(BitSize::Integer(IntegerBitSize::U32)) => { - // If we have a single u32 we may have a slice representation, so store this input. - // On the next iteration, if we have a vector then we know we have the dynamic length - // for that slice. - previous_input = Some(input.clone()); + vector_length = None; } _ => { - // Do nothing otherwise - previous_input = None; + // Otherwise we are not dealing with a u32 followed by a vector. + vector_length = None; } } input @@ -749,11 +750,15 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { 0 == size % value_types.len(), "array/vector does not contain a whole number of elements" ); + + // We want to send vectors to foreign functions truncated to their semantic length. + let mut vector_length: Option = None; + (0..size) .zip(value_types.iter().cycle()) - .flat_map(|(i, value_type)| { + .map(|(i, value_type)| { let value_address = start.offset(i); - match value_type { + let values = match value_type { HeapValueType::Simple(_) => { vec![self.memory.read(value_address)] } @@ -778,7 +783,27 @@ impl<'a, F: AcirField, B: BlackBoxFunctionSolver> VM<'a, F, B> { value_types, ) } + }; + (value_type, values) + }) + .flat_map(|(value_type, mut values)| { + match value_type { + HeapValueType::Simple(BitSize::Integer(IntegerBitSize::U32)) => { + vector_length = Some(values[0].to_usize()); + } + HeapValueType::Vector { .. } => { + if let Some(length) = vector_length { + let type_size = value_type.flattened_size(); + values.truncate(length * type_size); + } + vector_length = None; + } + _ => { + // Otherwise we are not dealing with a u32 followed by a vector. + vector_length = None; + } } + values }) .collect::>() } From bd3215fe8517b3fcd2e7b35201fb016300765fd5 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Fri, 25 Jul 2025 10:58:38 +0100 Subject: [PATCH 22/28] Implement the truncation in the interpreter --- .../src/ssa/interpreter/intrinsics.rs | 75 +++++++++++-------- compiler/noirc_printable_type/src/lib.rs | 13 ++-- 2 files changed, 49 insertions(+), 39 deletions(-) diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index 741988bf627..14a6312306f 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -681,8 +681,7 @@ impl Interpreter<'_, W> { // Everything up to the first meta is part of _some_ value. // We'll let each parser take as many fields as they need. let meta_idx = args.len() - 1 - num_values; - let input_as_fields = - (3..meta_idx).flat_map(|i| value_to_fields(&args[i])).collect::>(); + let input_as_fields = values_to_fields(&args[3..meta_idx]); let field_iterator = &mut input_as_fields.into_iter(); let mut fragments = Vec::new(); @@ -694,8 +693,7 @@ impl Interpreter<'_, W> { PrintableValueDisplay::FmtString(message, fragments) } else { let meta_idx = args.len() - 2; - let input_as_fields = - (1..meta_idx).flat_map(|i| value_to_fields(&args[i])).collect::>(); + let input_as_fields = values_to_fields(&args[1..meta_idx]); let printable_type = value_to_printable_type(&args[meta_idx])?; let printable_value = decode_printable_value(&mut input_as_fields.into_iter(), &printable_type); @@ -776,43 +774,56 @@ fn new_embedded_curve_point( )) } -/// Convert a [Value] to a vector of [FieldElement] for printing. +/// Convert a slice of [Value] to a flattened vector of [FieldElement] for printing. /// -/// It prefixes both arrays and slices with their length to aid decoding slices from the flattened data. -fn value_to_fields(value: &Value) -> Vec { - fn go(value: &Value, fields: &mut Vec) { - match value { - Value::Numeric(numeric_value) => fields.push(numeric_value.convert_to_field()), - Value::Reference(reference_value) => { - if let Some(value) = reference_value.element.borrow().as_ref() { - go(value, fields); +/// It takes a slice, rather than individual values, so that it can try to +/// pair up `u32` fields indicating the size of a `Slice` with its elements +/// following in the next value, and truncate the data to the semantic length. +fn values_to_fields(values: &[Value]) -> Vec { + fn go<'a, I>(values: I, fields: &mut Vec) + where + I: Iterator, + { + let mut vector_length: Option = None; + for value in values { + match value { + Value::Numeric(numeric_value) => fields.push(numeric_value.convert_to_field()), + Value::Reference(reference_value) => { + if let Some(value) = reference_value.element.borrow().as_ref() { + go(std::iter::once(value), fields); + } } - } - Value::ArrayOrSlice(array_value) => { - // Prefix slices by their capacity. - if array_value.is_slice { - fields.push(FieldElement::from(array_value.elements.borrow().len())); + Value::ArrayOrSlice(array_value) => { + let length = match vector_length { + Some(length) if array_value.is_slice => { + length * array_value.element_types.len() + } + _ => array_value.elements.borrow().len(), + }; + go(array_value.elements.borrow().iter().take(length), fields) } - for value in array_value.elements.borrow().iter() { - go(value, fields); + Value::Function(id) => { + // Based on `decode_printable_value` it will expect consume the environment as well, + // but that's catered for the by the SSA generation: the env is passed as separate values. + fields.push(FieldElement::from(id.to_u32())); + } + Value::Intrinsic(x) => { + panic!("didn't expect to print intrinsics: {x}") + } + Value::ForeignFunction(x) => { + panic!("didn't expect to print foreign functions: {x}") } } - Value::Function(id) => { - // Based on `decode_printable_value` it will expect consume the environment as well, - // but that's catered for the by the SSA generation: the env is passed as separate values. - fields.push(FieldElement::from(id.to_u32())); - } - Value::Intrinsic(x) => { - panic!("didn't expect to print intrinsics: {x}") - } - Value::ForeignFunction(x) => { - panic!("didn't expect to print foreign functions: {x}") + // Chamber the length for a potential vector following it. + if let Value::Numeric(NumericValue::U32(length)) = value { + vector_length = Some(*length as usize); + } else { + vector_length = None; } } } - let mut fields = Vec::new(); - go(value, &mut fields); + go(values.iter(), &mut fields); fields } diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index ef014643501..1fb1f240bee 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -291,7 +291,7 @@ pub fn decode_printable_value( | PrintableType::SignedInteger { .. } | PrintableType::UnsignedInteger { .. } | PrintableType::Boolean => { - let field_element = field_iterator.next().unwrap(); + let field_element = field_iterator.next().expect("not enough data: expected bool"); PrintableValue::Field(field_element) } @@ -306,10 +306,9 @@ pub fn decode_printable_value( PrintableValue::Vec { array_elements, is_slice: false } } PrintableType::Slice { typ } => { - let length = field_iterator - .next() - .expect("not enough data to decode variable array length") - .to_u128() as usize; + let length = + field_iterator.next().expect("not enough data: expected slice length").to_u128() + as usize; let mut array_elements = Vec::with_capacity(length); @@ -342,7 +341,7 @@ pub fn decode_printable_value( PrintableType::Function { env, .. } => { // we want to consume the fields from the environment, but for now they are not actually printed let _env = decode_printable_value(field_iterator, env); - let func_id = field_iterator.next().unwrap(); + let func_id = field_iterator.next().expect("not enough data: expected function ID"); PrintableValue::Field(func_id) } PrintableType::Reference { typ, .. } => { @@ -351,7 +350,7 @@ pub fn decode_printable_value( } PrintableType::Unit => PrintableValue::Field(F::zero()), PrintableType::Enum { name: _, variants } => { - let tag = field_iterator.next().unwrap(); + let tag = field_iterator.next().expect("not enough data: expected enum tag"); let tag_value = tag.to_u128() as usize; let (_name, variant_types) = &variants[tag_value]; From c41c8287dd23380275c0997146579af8065a2222 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Fri, 25 Jul 2025 10:59:06 +0100 Subject: [PATCH 23/28] Add comment about expected output to the integration test --- test_programs/execution_success/regression_9271/src/main.nr | 1 + ...sts__force_brillig_false_inliner_-9223372036854775808.snap | 4 ++-- .../execute__tests__force_brillig_false_inliner_0.snap | 4 ++-- ...ests__force_brillig_false_inliner_9223372036854775807.snap | 4 ++-- ...ests__force_brillig_true_inliner_-9223372036854775808.snap | 4 ++-- .../execute__tests__force_brillig_true_inliner_0.snap | 4 ++-- ...tests__force_brillig_true_inliner_9223372036854775807.snap | 4 ++-- 7 files changed, 13 insertions(+), 12 deletions(-) diff --git a/test_programs/execution_success/regression_9271/src/main.nr b/test_programs/execution_success/regression_9271/src/main.nr index 05c99d483d5..a3cda8d94d8 100644 --- a/test_programs/execution_success/regression_9271/src/main.nr +++ b/test_programs/execution_success/regression_9271/src/main.nr @@ -4,6 +4,7 @@ fn main(b: bool) -> pub bool { // safety: test unsafe { + // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])` func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100])) } } diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index 6d62d6711df..c89415581c6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -43,14 +43,14 @@ expression: artifact "unconstrained func 1", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "7dnBThtZEIbRd/Gahfuvars7rzJCkUOcCMkC5ECkUcS7Tzs+kJkFowgpO29SIfh+mFIO8sU/Vp/3n56+fry9+3L/bfXhrx+rT8fbw+H268fD/c3u8fb+bvnXH6v16Y9h3asPw9UyR3Njbs3JnM9zWJuDGbNMvUFv0Bv0Br1BL3rRi170ohe96EUvetErvdIrvdIrvdIrvdIrvdJrvdZrvdZrvdZrvdZrvdYb9Ua9UW/UG/VGvVFv1Bv1Rr2N3kZvo7fR2+ht9DZ6G72N3kZvq7fV2+pt9bZ6W72t3lZvq7fVm/QmvUlv0pv0Jr1Jb9Kb9Ca9WW/Wm/VmvVlv1pv1Zr1Zbz73sl6bgxmzzDZHc2NuzcnU4yN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3wUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfIx8jCcfOc2YZbY5mhtz6eV5eaF2uqVYjt1Yjc1YjL1Yi61Yip1YiY1YiH1Yh21Yhl1YhU1YhD1Ygy1Ygh1YwWAFgx8Rgx8Rgx8RlyvY5Qp2npcr2HlermDnebmCneflCnaelyvYeV6uYOd5uYKd5uUK9gevYHEFiytYXMHiChZXsLiCxRUsrmBxBYsrWJ6X1/Qvb0N8fDzu96fX9/96X2J5t+Jhd9zfPa4+3D0dDler77vD088HfXvY3f2cj7vj8tn11Wp/93mZS/DL7WF/+tvz1a/T67ePTvPg8Jx6PZ787vltb53fTut3nJ9Gx6fN6+nxt5/9ck9wfLkpvOf88Ho+41vnxz+3veX1kfPLK6L3PP/N/HK+8tb56X++/vR6fn7z68/v+f6vl492N7fH/77PtihYvuGTqdP/le+74+3u02F/+tTp8NPdzcsjlw8f/354+czLe3YPx/ub/een4/5U/fXG3WLpr+WJLJfK69PVcPloXM9X49DXL5fm0yM266vt+uUBy+88rpbfZ1w/n57pPw==", + "debug_symbols": "7dndTlNpFMfhe+GYg+7/Wvuj3oohBrEakgZIhUkmhnufXfuAMwdMDIlnPXGJ9P1Zl3mgL/1x8WX3+enbp9u7r/ffLz58/HHx+XC7399++7S/v7l+vL2/W//0x8Xm+Muw6YsPw+U6R3MyZ3Mxt6c5bMzBjFmm3qA36A16g96gF73oRS960Yte9KIXveiVXumVXumVXumVXumVXum1Xuu1Xuu1Xuu1Xuu1XuuNeqPeqDfqjXqj3qg36o16o96kN+lNepPepDfpTXqT3qQ36c16s96sN+vNerPerDfrzXqz3qK36C16i96it+gteoveorfobfW2elu9rd5Wb6u31dvqbfW2p142G3MwY5bZ5mhO5mwuph4f4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/ho/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+Zj5GM8+shxxiyzzdGczLWX5/WF2vGWYjl2YzU2YzH2Yi22Yil2YiU2YiH2YR22YRl2YRU2YRH2YA22YAl2YAWDFQy+RAy+RAy+RJyvYOcr2Gmer2Cneb6Cneb5Cnaa5yvYaZ6vYKd5voKd5vkKdpznK9gfvILFFSyuYHEFiytYXMHiChZXsLiCxRUsrmB5Xl/Tv7wN8enxsNsdX9//632J9d2Kh+vD7u7x4sPd035/efHX9f7p54O+P1zf/ZyP14f1s5vLi93dl3Wuwa+3+93xd8+Xv05v3j66bAeHt6nX48nvnp97dn5eNu84v4yOL9Pr6fG3n/16T3B8vSm85/zwej7jW+fHP7e99fuO8+t3mnc8//X1x+v5+a3zy//8/fPr+eXNv3/7nn//1frR9c3t4b/vs60KpvW7+fG/6/lYPdxef97vjp86Hn66u3l55Prh498PL595ec/u4XB/s/vydNgdq7/euFstfVyfyHqpvDpeDdePxs32chz66uXSfHzEtLmcNy8PWH/mcbn+POPq+fhM/wE=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])`\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap index 6d62d6711df..c89415581c6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap @@ -43,14 +43,14 @@ expression: artifact "unconstrained func 1", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "7dnBThtZEIbRd/Gahfuvars7rzJCkUOcCMkC5ECkUcS7Tzs+kJkFowgpO29SIfh+mFIO8sU/Vp/3n56+fry9+3L/bfXhrx+rT8fbw+H268fD/c3u8fb+bvnXH6v16Y9h3asPw9UyR3Njbs3JnM9zWJuDGbNMvUFv0Bv0Br1BL3rRi170ohe96EUvetErvdIrvdIrvdIrvdIrvdJrvdZrvdZrvdZrvdZrvdYb9Ua9UW/UG/VGvVFv1Bv1Rr2N3kZvo7fR2+ht9DZ6G72N3kZvq7fV2+pt9bZ6W72t3lZvq7fVm/QmvUlv0pv0Jr1Jb9Kb9Ca9WW/Wm/VmvVlv1pv1Zr1Zbz73sl6bgxmzzDZHc2NuzcnU4yN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3wUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfIx8jCcfOc2YZbY5mhtz6eV5eaF2uqVYjt1Yjc1YjL1Yi61Yip1YiY1YiH1Yh21Yhl1YhU1YhD1Ygy1Ygh1YwWAFgx8Rgx8Rgx8RlyvY5Qp2npcr2HlermDnebmCneflCnaelyvYeV6uYOd5uYKd5uUK9gevYHEFiytYXMHiChZXsLiCxRUsrmBxBYsrWJ6X1/Qvb0N8fDzu96fX9/96X2J5t+Jhd9zfPa4+3D0dDler77vD088HfXvY3f2cj7vj8tn11Wp/93mZS/DL7WF/+tvz1a/T67ePTvPg8Jx6PZ787vltb53fTut3nJ9Gx6fN6+nxt5/9ck9wfLkpvOf88Ho+41vnxz+3veX1kfPLK6L3PP/N/HK+8tb56X++/vR6fn7z68/v+f6vl492N7fH/77PtihYvuGTqdP/le+74+3u02F/+tTp8NPdzcsjlw8f/354+czLe3YPx/ub/een4/5U/fXG3WLpr+WJLJfK69PVcPloXM9X49DXL5fm0yM266vt+uUBy+88rpbfZ1w/n57pPw==", + "debug_symbols": "7dndTlNpFMfhe+GYg+7/Wvuj3oohBrEakgZIhUkmhnufXfuAMwdMDIlnPXGJ9P1Zl3mgL/1x8WX3+enbp9u7r/ffLz58/HHx+XC7399++7S/v7l+vL2/W//0x8Xm+Muw6YsPw+U6R3MyZ3Mxt6c5bMzBjFmm3qA36A16g96gF73oRS960Yte9KIXveiVXumVXumVXumVXumVXum1Xuu1Xuu1Xuu1Xuu1XuuNeqPeqDfqjXqj3qg36o16o96kN+lNepPepDfpTXqT3qQ36c16s96sN+vNerPerDfrzXqz3qK36C16i96it+gteoveorfobfW2elu9rd5Wb6u31dvqbfW2p142G3MwY5bZ5mhO5mwuph4f4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/ho/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+Zj5GM8+shxxiyzzdGczLWX5/WF2vGWYjl2YzU2YzH2Yi22Yil2YiU2YiH2YR22YRl2YRU2YRH2YA22YAl2YAWDFQy+RAy+RAy+RJyvYOcr2Gmer2Cneb6Cneb5Cnaa5yvYaZ6vYKd5voKd5vkKdpznK9gfvILFFSyuYHEFiytYXMHiChZXsLiCxRUsrmB5Xl/Tv7wN8enxsNsdX9//632J9d2Kh+vD7u7x4sPd035/efHX9f7p54O+P1zf/ZyP14f1s5vLi93dl3Wuwa+3+93xd8+Xv05v3j66bAeHt6nX48nvnp97dn5eNu84v4yOL9Pr6fG3n/16T3B8vSm85/zwej7jW+fHP7e99fuO8+t3mnc8//X1x+v5+a3zy//8/fPr+eXNv3/7nn//1frR9c3t4b/vs60KpvW7+fG/6/lYPdxef97vjp86Hn66u3l55Prh498PL595ec/u4XB/s/vydNgdq7/euFstfVyfyHqpvDpeDdePxs32chz66uXSfHzEtLmcNy8PWH/mcbn+POPq+fhM/wE=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])`\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index 6d62d6711df..c89415581c6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -43,14 +43,14 @@ expression: artifact "unconstrained func 1", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(7), offset_address: Relative(8) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U1) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U1) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U1) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U1) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U32) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(3) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Direct(32842) }, Mov { destination: Relative(5), source: Direct(32843) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32844 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(10) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(10) }, Mov { destination: Direct(32771), source: Relative(6) }, Mov { destination: Direct(32772), source: Relative(9) }, Mov { destination: Direct(32773), source: Relative(8) }, Call { location: 60 }, Mov { destination: Relative(6), source: Relative(7) }, Call { location: 71 }, Call { location: 72 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 70 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 63 }, Return, Return, Call { location: 455 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(36), source: Direct(1) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(37) }, IndirectConst { destination_pointer: Relative(36), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Mov { destination: Relative(38), source: Relative(37) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(22) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(28) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(30) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(31) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(32) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(17) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(23) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(20) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(16) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(7) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(9) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(15) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(21) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(11) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(24) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(18) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(25) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(19) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(26) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(10) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(12) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(14) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(27) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(8) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(13) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(33) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(34) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(35) }, BinaryIntOp { destination: Relative(38), op: Add, bit_size: U32, lhs: Relative(38), rhs: Direct(2) }, Store { destination_pointer: Relative(38), source: Relative(29) }, Const { destination: Relative(7), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(9) }), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(10), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(12), size: 168 }), MemoryAddress(Relative(7))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, 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: 460 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "7dnBThtZEIbRd/Gahfuvars7rzJCkUOcCMkC5ECkUcS7Tzs+kJkFowgpO29SIfh+mFIO8sU/Vp/3n56+fry9+3L/bfXhrx+rT8fbw+H268fD/c3u8fb+bvnXH6v16Y9h3asPw9UyR3Njbs3JnM9zWJuDGbNMvUFv0Bv0Br1BL3rRi170ohe96EUvetErvdIrvdIrvdIrvdIrvdJrvdZrvdZrvdZrvdZrvdYb9Ua9UW/UG/VGvVFv1Bv1Rr2N3kZvo7fR2+ht9DZ6G72N3kZvq7fV2+pt9bZ6W72t3lZvq7fVm/QmvUlv0pv0Jr1Jb9Kb9Ca9WW/Wm/VmvVlv1pv1Zr1Zbz73sl6bgxmzzDZHc2NuzcnU4yN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3wUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8FB/FR/FRfBQfxUfxUXwUH8VH8VF8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfDQfzUfz0Xw0H81H89F8NB/NR/PRfIx8jCcfOc2YZbY5mhtz6eV5eaF2uqVYjt1Yjc1YjL1Yi61Yip1YiY1YiH1Yh21Yhl1YhU1YhD1Ygy1Ygh1YwWAFgx8Rgx8Rgx8RlyvY5Qp2npcr2HlermDnebmCneflCnaelyvYeV6uYOd5uYKd5uUK9gevYHEFiytYXMHiChZXsLiCxRUsrmBxBYsrWJ6X1/Qvb0N8fDzu96fX9/96X2J5t+Jhd9zfPa4+3D0dDler77vD088HfXvY3f2cj7vj8tn11Wp/93mZS/DL7WF/+tvz1a/T67ePTvPg8Jx6PZ787vltb53fTut3nJ9Gx6fN6+nxt5/9ck9wfLkpvOf88Ho+41vnxz+3veX1kfPLK6L3PP/N/HK+8tb56X++/vR6fn7z68/v+f6vl492N7fH/77PtihYvuGTqdP/le+74+3u02F/+tTp8NPdzcsjlw8f/354+czLe3YPx/ub/een4/5U/fXG3WLpr+WJLJfK69PVcPloXM9X49DXL5fm0yM266vt+uUBy+88rpbfZ1w/n57pPw==", + "debug_symbols": "7dndTlNpFMfhe+GYg+7/Wvuj3oohBrEakgZIhUkmhnufXfuAMwdMDIlnPXGJ9P1Zl3mgL/1x8WX3+enbp9u7r/ffLz58/HHx+XC7399++7S/v7l+vL2/W//0x8Xm+Muw6YsPw+U6R3MyZ3Mxt6c5bMzBjFmm3qA36A16g96gF73oRS960Yte9KIXveiVXumVXumVXumVXumVXum1Xuu1Xuu1Xuu1Xuu1XuuNeqPeqDfqjXqj3qg36o16o96kN+lNepPepDfpTXqT3qQ36c16s96sN+vNerPerDfrzXqz3qK36C16i96it+gteoveorfobfW2elu9rd5Wb6u31dvqbfW2p142G3MwY5bZ5mhO5mwuph4f4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/hI3yEj/ARPsJH+Agf4SN8hI/wET7CR/gIH+EjfISP8BE+wkf4CB/ho/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP4KD6Kj+Kj+Cg+io/io/goPoqP4qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+aj+Wg+mo/mo/loPpqP5qP5aD6aj+Zj5GM8+shxxiyzzdGczLWX5/WF2vGWYjl2YzU2YzH2Yi22Yil2YiU2YiH2YR22YRl2YRU2YRH2YA22YAl2YAWDFQy+RAy+RAy+RJyvYOcr2Gmer2Cneb6Cneb5Cnaa5yvYaZ6vYKd5voKd5vkKdpznK9gfvILFFSyuYHEFiytYXMHiChZXsLiCxRUsrmB5Xl/Tv7wN8enxsNsdX9//632J9d2Kh+vD7u7x4sPd035/efHX9f7p54O+P1zf/ZyP14f1s5vLi93dl3Wuwa+3+93xd8+Xv05v3j66bAeHt6nX48nvnp97dn5eNu84v4yOL9Pr6fG3n/16T3B8vSm85/zwej7jW+fHP7e99fuO8+t3mnc8//X1x+v5+a3zy//8/fPr+eXNv3/7nn//1frR9c3t4b/vs60KpvW7+fG/6/lYPdxef97vjp86Hn66u3l55Prh498PL595ec/u4XB/s/vydNgdq7/euFstfVyfyHqpvDpeDdePxs32chz66uXSfHzEtLmcNy8PWH/mcbn+POPq+fhM/wE=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])`\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index d2cc59ea44f..a90d491ed8d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -42,14 +42,14 @@ expression: artifact "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "tdrRblVHEoXhd/G1L05XVVdV8yoRQgZMZMkyyIGRRsjvPnuf/hdDLhyNGHHDasfp34m1P5DY/n7z8f79tz/fPTx9+vzXzZs/vt+8f354fHz4893j5w93Xx8+Px3/9PvN5fxl5M2bcXszak/vWdexy56xx/b4ntgz9+yKHRU7pves6/hlz9hje3xP7Jl7cs+u+K74rsSuxK7ErsSuxK7ErsSuxK7ErsSuzF2ZuzJ3Ze7K3JW5K3NX5q7MXZm7kruSu5K7kruSu5K7kkdlHlN7es+6Tl32jD22x/fEnrlnV2pXaldqV3pXeld6V3pXeld6V3pXeld6V3pX1q6sXVm7snZl7cralbUra1fWrqxdGZcLO1hjnQ12sskW2yy9QW/QG/QGvUFv0Bv0Br1Bb9AzekbP6Bk9o2f0jJ7RM3pGz+k5Pafn9Jye03N6Ts/pOb2gF/SCXtALekEv6AW9oBf0Jr1Jb9Kb9Ca9SW/Sm/QmvUkv6SW9pJf0kl7S4/EfPP8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8OH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4PhwfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPuL0kecGO9lki+29p4c611hng51sssU2u/aeHq5Lr+k1vabX9Jpe02t6TW/RO5/7PneyyRbb7LruPJ/76w7WWGeDnWyyxTZL73y+17nBTjbZYptde8/n+7qDNZae0TN6Rs/onc/3GOdhcTif8H0YOpgOrkPoMHVIHUoHlV3lUDlUDpVD5fN5H3Eepg6pQ+nQOiwO51O/D0MH08F1UHmqPFWeKk+Vp8qpcqqcKqfKqXKqnCqnyqlyqlwql8qlcqlcKpfKpXKpXCqXyq1yq9wqt8qtcqvcKrfKrXKrvFReKi+Vl8pL5aXyUnmpvFRelPNy0WHoYDq4DqHD1CF1KB1aB5WHykPlofJQeag8VB4qD5WHykNlU9lUNpVNZVPZVDaVTWVT2VR2lV1lV9lVdpVdZVfZVXaVXeVQOVQOlUNlGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGeyrwXkeUofSoXVYHK4Gr4ehg+ngOpzl+fJye6PXjO++Pt/fn28Zf3rveLyN/HL3fP/09ebN07fHx9ubf909frv+S399uXu67te75+Ozl9ub+6ePxx7BTw+P9+fp5fa/ty+vX+3J3c4fl+f/fPt4PcX14wXVr9wfP+7bfO2+/8N//RrcX+Y/7pv97X78vvvHn3ncP35Tf+3+P/z/H68huH+8iPiV718vff/W5RfuH68l9PVt/crXT33944XFa/fH7wzYj+/A8Vfjrwbs/3wEhv/GwOsP0dvjo7sPD89/+2GEl7P0/HD3/vGeDz99e/rw02e//vuLPqMfZvjy/PnD/cdvz/dn6aefaDh+/aNX3a6LvT1f/h4frosfH863L+eX/w8=", + "debug_symbols": "tdrRblTHEoXhd5lrX0xXVVfV5lUihAwMkSXLIMc+0hHyu2fv6X855MJRRMQNq43pH7D2B9KMv58+Xz4+//7h7uHL1z9O7377fvr4eHd/f/f7h/uvn26f7r4+7D/7/XQ+fhh5ejduTqPW9JrtOnZeM9bYGl8Ta+aaVbG9Yvv0mu06fl4z1tgaXxNr5ppcsyq+Kr4qsSqxKrEqsSqxKrEqsSqxKrEqsSpzVeaqzFWZqzJXZa7KXJW5KnNV5qrkquSq5KrkquSq5KrkXpn71Jpes12nzmvGGlvja2LNXLMqtSq1KrUqvSq9Kr0qvSq9Kr0qvSq9Kr0qvSrbqmyrsq3Ktirbqmyrsq3KtirbqmyrMs5ndrDGOhvsZJMttll6g96gN+gNeoPeoDfoDXqD3qBn9Iye0TN6Rs/oGT2jZ/SMntNzek7P6Tk9p+f0nJ7Tc3pBL+gFvaAX9IJe0At6QS/oTXqT3qQ36U16k96kN+lNepNe0kt6SS/pJb2kx+M/eP4HAAYCBgQGBgYIBgoGDAYOBhAGEgYUBhYGGAYaBhwGHgYgBiIGJAYmBigGKgYsBi4GMAYyBjQGNgY4BjoGPAY+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPx4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfMThI48NdrLJFttrDw91rLHOBjvZZIttdlt7eLguvabX9Jpe02t6Ta/pNb2N3vHc97GTTbbYZrfrzuO5v+5gjXU22MkmW2yz9I7nezs22MkmW2yz29rj+b7uYI2lZ/SMntEzesfzPcZx2DgcT/g6DB1MB9chdJg6pA6lg8qucqgcKofKofLxvI84DlOH1KF0aB02DsdTvw5DB9PBdVB5qjxVnipPlafKqXKqnCqnyqlyqpwqp8qpcqpcKpfKpXKpXCqXyqVyqVwql8qtcqvcKrfKrXKr3Cq3yq1yq7ypvKm8qbypvKm8qbypvKm8qbxRzvNZh6GD6eA6hA5Th9ShdGgdVB4qD5WHykPlofJQeag8VB4qD5VNZVPZVDaVTWVT2VQ2lU1lU9lVdpVdZVfZVXaVXWVX2VV2lUPlUDlUDpVlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGWwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsK8G53FIHUqH1mHjcDV4PQwdTAfX4SjPl5ebk95m/PD0eLkc7zL+8L7j/m7kt9vHy8PT6d3D8/39zel/t/fP11/0x7fbh+s+3T7unz3fnC4Pn/fdg1/u7i/H6eXmr9vnt6/25G7n6+X5r2/vb09xfX+D6mfuj9f7Nt+67//wp98G9zfz1/tmf7sfv+7+/n8e9/d/1N+6/w9///3lXe7vL/D+xNdvf1lb92v+xH0f+vvvL/D+zO8/4/V+vXV//MqAv34F9pcc3wzYf3wEhv/CwNsP0fv9o9tPd49/+2aEl6P0eHf78f7Ch1+eHz798Nmn/3/TZ/TNDN8ev366fH5+vBylH76jYf/xt96fwe1s7483f/cPt7PvH873L8dv/yc=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])`\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap index d2cc59ea44f..a90d491ed8d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap @@ -42,14 +42,14 @@ expression: artifact "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "tdrRblVHEoXhd/G1L05XVVdV8yoRQgZMZMkyyIGRRsjvPnuf/hdDLhyNGHHDasfp34m1P5DY/n7z8f79tz/fPTx9+vzXzZs/vt+8f354fHz4893j5w93Xx8+Px3/9PvN5fxl5M2bcXszak/vWdexy56xx/b4ntgz9+yKHRU7pves6/hlz9hje3xP7Jl7cs+u+K74rsSuxK7ErsSuxK7ErsSuxK7ErsSuzF2ZuzJ3Ze7K3JW5K3NX5q7MXZm7kruSu5K7kruSu5K7kkdlHlN7es+6Tl32jD22x/fEnrlnV2pXaldqV3pXeld6V3pXeld6V3pXeld6V3pX1q6sXVm7snZl7cralbUra1fWrqxdGZcLO1hjnQ12sskW2yy9QW/QG/QGvUFv0Bv0Br1Bb9AzekbP6Bk9o2f0jJ7RM3pGz+k5Pafn9Jye03N6Ts/pOb2gF/SCXtALekEv6AW9oBf0Jr1Jb9Kb9Ca9SW/Sm/QmvUkv6SW9pJf0kl7S4/EfPP8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8OH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4PhwfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPuL0kecGO9lki+29p4c611hng51sssU2u/aeHq5Lr+k1vabX9Jpe02t6TW/RO5/7PneyyRbb7LruPJ/76w7WWGeDnWyyxTZL73y+17nBTjbZYptde8/n+7qDNZae0TN6Rs/onc/3GOdhcTif8H0YOpgOrkPoMHVIHUoHlV3lUDlUDpVD5fN5H3Eepg6pQ+nQOiwO51O/D0MH08F1UHmqPFWeKk+Vp8qpcqqcKqfKqXKqnCqnyqlyqlwql8qlcqlcKpfKpXKpXCqXyq1yq9wqt8qtcqvcKrfKrXKrvFReKi+Vl8pL5aXyUnmpvFRelPNy0WHoYDq4DqHD1CF1KB1aB5WHykPlofJQeag8VB4qD5WHykNlU9lUNpVNZVPZVDaVTWVT2VR2lV1lV9lVdpVdZVfZVXaVXeVQOVQOlUNlGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGeyrwXkeUofSoXVYHK4Gr4ehg+ngOpzl+fJye6PXjO++Pt/fn28Zf3rveLyN/HL3fP/09ebN07fHx9ubf909frv+S399uXu67te75+Ozl9ub+6ePxx7BTw+P9+fp5fa/ty+vX+3J3c4fl+f/fPt4PcX14wXVr9wfP+7bfO2+/8N//RrcX+Y/7pv97X78vvvHn3ncP35Tf+3+P/z/H68huH+8iPiV718vff/W5RfuH68l9PVt/crXT33944XFa/fH7wzYj+/A8Vfjrwbs/3wEhv/GwOsP0dvjo7sPD89/+2GEl7P0/HD3/vGeDz99e/rw02e//vuLPqMfZvjy/PnD/cdvz/dn6aefaDh+/aNX3a6LvT1f/h4frosfH863L+eX/w8=", + "debug_symbols": "tdrRblTHEoXhd5lrX0xXVVfV5lUihAwMkSXLIMc+0hHyu2fv6X855MJRRMQNq43pH7D2B9KMv58+Xz4+//7h7uHL1z9O7377fvr4eHd/f/f7h/uvn26f7r4+7D/7/XQ+fhh5ejduTqPW9JrtOnZeM9bYGl8Ta+aaVbG9Yvv0mu06fl4z1tgaXxNr5ppcsyq+Kr4qsSqxKrEqsSqxKrEqsSqxKrEqsSpzVeaqzFWZqzJXZa7KXJW5KnNV5qrkquSq5KrkquSq5KrkXpn71Jpes12nzmvGGlvja2LNXLMqtSq1KrUqvSq9Kr0qvSq9Kr0qvSq9Kr0qvSrbqmyrsq3Ktirbqmyrsq3KtirbqmyrMs5ndrDGOhvsZJMttll6g96gN+gNeoPeoDfoDXqD3qBn9Iye0TN6Rs/oGT2jZ/SMntNzek7P6Tk9p+f0nJ7Tc3pBL+gFvaAX9IJe0At6QS/oTXqT3qQ36U16k96kN+lNepNe0kt6SS/pJb2kx+M/eP4HAAYCBgQGBgYIBgoGDAYOBhAGEgYUBhYGGAYaBhwGHgYgBiIGJAYmBigGKgYsBi4GMAYyBjQGNgY4BjoGPAY+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPx4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfMThI48NdrLJFttrDw91rLHOBjvZZIttdlt7eLguvabX9Jpe02t6Ta/pNb2N3vHc97GTTbbYZrfrzuO5v+5gjXU22MkmW2yz9I7nezs22MkmW2yz29rj+b7uYI2lZ/SMntEzesfzPcZx2DgcT/g6DB1MB9chdJg6pA6lg8qucqgcKofKofLxvI84DlOH1KF0aB02DsdTvw5DB9PBdVB5qjxVnipPlafKqXKqnCqnyqlyqpwqp8qpcqpcKpfKpXKpXCqXyqVyqVwql8qtcqvcKrfKrXKr3Cq3yq1yq7ypvKm8qbypvKm8qbypvKm8qbxRzvNZh6GD6eA6hA5Th9ShdGgdVB4qD5WHykPlofJQeag8VB4qD5VNZVPZVDaVTWVT2VQ2lU1lU9lVdpVdZVfZVXaVXWVX2VV2lUPlUDlUDpVlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGWwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsK8G53FIHUqH1mHjcDV4PQwdTAfX4SjPl5ebk95m/PD0eLkc7zL+8L7j/m7kt9vHy8PT6d3D8/39zel/t/fP11/0x7fbh+s+3T7unz3fnC4Pn/fdg1/u7i/H6eXmr9vnt6/25G7n6+X5r2/vb09xfX+D6mfuj9f7Nt+67//wp98G9zfz1/tmf7sfv+7+/n8e9/d/1N+6/w9///3lXe7vL/D+xNdvf1lb92v+xH0f+vvvL/D+zO8/4/V+vXV//MqAv34F9pcc3wzYf3wEhv/CwNsP0fv9o9tPd49/+2aEl6P0eHf78f7Ch1+eHz798Nmn/3/TZ/TNDN8ev366fH5+vBylH76jYf/xt96fwe1s7483f/cPt7PvH873L8dv/yc=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])`\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index d2cc59ea44f..a90d491ed8d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -42,14 +42,14 @@ expression: artifact "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], - "debug_symbols": "tdrRblVHEoXhd/G1L05XVVdV8yoRQgZMZMkyyIGRRsjvPnuf/hdDLhyNGHHDasfp34m1P5DY/n7z8f79tz/fPTx9+vzXzZs/vt+8f354fHz4893j5w93Xx8+Px3/9PvN5fxl5M2bcXszak/vWdexy56xx/b4ntgz9+yKHRU7pves6/hlz9hje3xP7Jl7cs+u+K74rsSuxK7ErsSuxK7ErsSuxK7ErsSuzF2ZuzJ3Ze7K3JW5K3NX5q7MXZm7kruSu5K7kruSu5K7kkdlHlN7es+6Tl32jD22x/fEnrlnV2pXaldqV3pXeld6V3pXeld6V3pXeld6V3pX1q6sXVm7snZl7cralbUra1fWrqxdGZcLO1hjnQ12sskW2yy9QW/QG/QGvUFv0Bv0Br1Bb9AzekbP6Bk9o2f0jJ7RM3pGz+k5Pafn9Jye03N6Ts/pOb2gF/SCXtALekEv6AW9oBf0Jr1Jb9Kb9Ca9SW/Sm/QmvUkv6SW9pJf0kl7S4/EfPP8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8GH4MHwYPgwfhg/Dh+HD8OH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4Phwfjg/Hh+PD8eH4cHw4PhwfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPgIfgY/AR+Aj8BH4CHwEPuL0kecGO9lki+29p4c611hng51sssU2u/aeHq5Lr+k1vabX9Jpe02t6TW/RO5/7PneyyRbb7LruPJ/76w7WWGeDnWyyxTZL73y+17nBTjbZYptde8/n+7qDNZae0TN6Rs/onc/3GOdhcTif8H0YOpgOrkPoMHVIHUoHlV3lUDlUDpVD5fN5H3Eepg6pQ+nQOiwO51O/D0MH08F1UHmqPFWeKk+Vp8qpcqqcKqfKqXKqnCqnyqlyqlwql8qlcqlcKpfKpXKpXCqXyq1yq9wqt8qtcqvcKrfKrXKrvFReKi+Vl8pL5aXyUnmpvFRelPNy0WHoYDq4DqHD1CF1KB1aB5WHykPlofJQeag8VB4qD5WHykNlU9lUNpVNZVPZVDaVTWVT2VR2lV1lV9lVdpVdZVfZVXaVXeVQOVQOlUNlGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGeyrwXkeUofSoXVYHK4Gr4ehg+ngOpzl+fJye6PXjO++Pt/fn28Zf3rveLyN/HL3fP/09ebN07fHx9ubf909frv+S399uXu67te75+Ozl9ub+6ePxx7BTw+P9+fp5fa/ty+vX+3J3c4fl+f/fPt4PcX14wXVr9wfP+7bfO2+/8N//RrcX+Y/7pv97X78vvvHn3ncP35Tf+3+P/z/H68huH+8iPiV718vff/W5RfuH68l9PVt/crXT33944XFa/fH7wzYj+/A8Vfjrwbs/3wEhv/GwOsP0dvjo7sPD89/+2GEl7P0/HD3/vGeDz99e/rw02e//vuLPqMfZvjy/PnD/cdvz/dn6aefaDh+/aNX3a6LvT1f/h4frosfH863L+eX/w8=", + "debug_symbols": "tdrRblTHEoXhd5lrX0xXVVfV5lUihAwMkSXLIMc+0hHyu2fv6X855MJRRMQNq43pH7D2B9KMv58+Xz4+//7h7uHL1z9O7377fvr4eHd/f/f7h/uvn26f7r4+7D/7/XQ+fhh5ejduTqPW9JrtOnZeM9bYGl8Ta+aaVbG9Yvv0mu06fl4z1tgaXxNr5ppcsyq+Kr4qsSqxKrEqsSqxKrEqsSqxKrEqsSpzVeaqzFWZqzJXZa7KXJW5KnNV5qrkquSq5KrkquSq5KrkXpn71Jpes12nzmvGGlvja2LNXLMqtSq1KrUqvSq9Kr0qvSq9Kr0qvSq9Kr0qvSrbqmyrsq3Ktirbqmyrsq3KtirbqmyrMs5ndrDGOhvsZJMttll6g96gN+gNeoPeoDfoDXqD3qBn9Iye0TN6Rs/oGT2jZ/SMntNzek7P6Tk9p+f0nJ7Tc3pBL+gFvaAX9IJe0At6QS/oTXqT3qQ36U16k96kN+lNepNe0kt6SS/pJb2kx+M/eP4HAAYCBgQGBgYIBgoGDAYOBhAGEgYUBhYGGAYaBhwGHgYgBiIGJAYmBigGKgYsBi4GMAYyBjQGNgY4BjoGPAY+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPwYfgwfBg+DB+GD8OH4cPx4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+HB+OD8eH48Px4fhwfDg+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfAQ+Ah+Bj8BH4CPwEfgIfMThI48NdrLJFttrDw91rLHOBjvZZIttdlt7eLguvabX9Jpe02t6Ta/pNb2N3vHc97GTTbbYZrfrzuO5v+5gjXU22MkmW2yz9I7nezs22MkmW2yz29rj+b7uYI2lZ/SMntEzesfzPcZx2DgcT/g6DB1MB9chdJg6pA6lg8qucqgcKofKofLxvI84DlOH1KF0aB02DsdTvw5DB9PBdVB5qjxVnipPlafKqXKqnCqnyqlyqpwqp8qpcqpcKpfKpXKpXCqXyqVyqVwql8qtcqvcKrfKrXKr3Cq3yq1yq7ypvKm8qbypvKm8qbypvKm8qbxRzvNZh6GD6eA6hA5Th9ShdGgdVB4qD5WHykPlofJQeag8VB4qD5VNZVPZVDaVTWVT2VQ2lU1lU9lVdpVdZVfZVXaVXWVX2VV2lUPlUDlUDpVlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGUwZTBlMGWwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsGWwZbBlsK8G53FIHUqH1mHjcDV4PQwdTAfX4SjPl5ebk95m/PD0eLkc7zL+8L7j/m7kt9vHy8PT6d3D8/39zel/t/fP11/0x7fbh+s+3T7unz3fnC4Pn/fdg1/u7i/H6eXmr9vnt6/25G7n6+X5r2/vb09xfX+D6mfuj9f7Nt+67//wp98G9zfz1/tmf7sfv+7+/n8e9/d/1N+6/w9///3lXe7vL/D+xNdvf1lb92v+xH0f+vvvL/D+zO8/4/V+vXV//MqAv34F9pcc3wzYf3wEhv/CwNsP0fv9o9tPd49/+2aEl6P0eHf78f7Ch1+eHz798Nmn/3/TZ/TNDN8ev366fH5+vBylH76jYf/xt96fwe1s7483f/cPt7PvH873L8dv/yc=", "file_map": { "22": { "source": "pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n#[deprecated(\"This functions is deprecated in favour of external verification libraries. To verify Barretenberg proofs, it's recommended to use the library https://github.com/AztecProtocol/aztec-packages/tree/next/barretenberg/noir/bb_proof_verification\")]\npub fn verify_proof(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n) {\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, 0);\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn't need to interact with this function directly. It's easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you're liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert(predicate: bool, message: T) {}\n\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)\")]\npub fn wrapping_add(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)\")]\npub fn wrapping_sub(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated(\"wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)\")]\npub fn wrapping_mul(x: T, y: T) -> T\nwhere\n T: AsPrimitive,\n Field: AsPrimitive,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n\nmod tests {\n use super::ops::arith::WrappingMul;\n\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n super::static_assert(1 == 2, \"custom message\");\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n // 1*0==0\n assert_eq(zero, zero.wrapping_mul(one));\n\n // 0*1==0\n assert_eq(zero, one.wrapping_mul(zero));\n\n // 1*1==1\n assert_eq(one, one.wrapping_mul(one));\n\n // 0 * ( 1 << 64 ) == 0\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * 0 == 0\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n\n // 1 * ( 1 << 64 ) == 1 << 64\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n\n // ( 1 << 64 ) * 1 == 1 << 64\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n\n // ( 1 << 64 ) * ( 1 << 64 ) == 1 << 64\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n // -1 * -1 == 1\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n }\n}\n", "path": "std/lib.nr" }, "50": { - "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", + "source": "fn main(b: bool) -> pub bool {\n let s: [(u128, bool, [u32; 2])] = &[(0, true, [1, 2]), (3, false, [4, 5])];\n println(s);\n\n // safety: test\n unsafe {\n // This should print `(&[1, 0], true, &[100])`, not `(&[1, 0], false, &[1])`\n func_5((if b { &[1, 0] } else { &[0, 0, 0, 0] }, true, &[100]))\n }\n}\nfn func_5(a: ([u1], bool, [u32])) -> bool {\n println(a);\n a.1\n}\n", "path": "" } }, From 5a3f08f5d114c3cf5d7c851b8843f66f09778723 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Fri, 25 Jul 2025 11:04:00 +0100 Subject: [PATCH 24/28] Clippy --- compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs index 14a6312306f..8674ac5c80e 100644 --- a/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs +++ b/compiler/noirc_evaluator/src/ssa/interpreter/intrinsics.rs @@ -800,7 +800,7 @@ fn values_to_fields(values: &[Value]) -> Vec { } _ => array_value.elements.borrow().len(), }; - go(array_value.elements.borrow().iter().take(length), fields) + go(array_value.elements.borrow().iter().take(length), fields); } Value::Function(id) => { // Based on `decode_printable_value` it will expect consume the environment as well, From eb547e1c769a431b0e1b9072d84706fcb86ecebe Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Fri, 25 Jul 2025 11:21:12 +0100 Subject: [PATCH 25/28] Fix comments --- compiler/noirc_printable_type/src/lib.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/compiler/noirc_printable_type/src/lib.rs b/compiler/noirc_printable_type/src/lib.rs index 1fb1f240bee..3db9577f967 100644 --- a/compiler/noirc_printable_type/src/lib.rs +++ b/compiler/noirc_printable_type/src/lib.rs @@ -279,9 +279,6 @@ pub fn format_field_string(field: F) -> String { } /// Assumes that `field_iterator` contains enough field elements in order to decode the [PrintableType]. -/// -/// Parameters which represent slices are expected to be prefixed by their length as a separate parameter, -/// then by their capacity as a field inside the slice parameter itself: `[..., length, [capacity, data...], ...]`. pub fn decode_printable_value( field_iterator: &mut impl Iterator, typ: &PrintableType, @@ -408,7 +405,8 @@ impl PrintableValueDisplay { /// Flatten input parameters into a field vector. /// -/// Values which originate from slices are expected to be prefixed by their length. +/// Slices are expected to have exactly as many elements as indicated by their corresponding length, +/// with any extra elements pruned by the caller already. fn flatten_inputs(input_values: &[ForeignCallParam]) -> impl Iterator { input_values.iter().flat_map(|param| param.fields()) } From bef54a080195a336eff583307c6cac07e4bc3e3a Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Mon, 11 Aug 2025 13:15:38 +0100 Subject: [PATCH 26/28] Update insta --- .../regression_9271/execute__tests__stdout.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap index a6e1b2b474f..c813645d56a 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__stdout.snap @@ -4,4 +4,4 @@ expression: stdout --- &[(0, true, [1, 2]), (3, false, [4, 5])] (&[1, 0], true, &[100]) -[regression_9271] Circuit output: Field(1) +[regression_9271] Circuit output: true From bcd9ef1ef0dfc63d7fd392c1bcbdddda71ce5114 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Mon, 11 Aug 2025 13:27:58 +0100 Subject: [PATCH 27/28] Simplify comparison_field to finish faster --- test_programs/fuzzing_failure/comparison_field/src/main.nr | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test_programs/fuzzing_failure/comparison_field/src/main.nr b/test_programs/fuzzing_failure/comparison_field/src/main.nr index 77ee965782b..e647be64505 100644 --- a/test_programs/fuzzing_failure/comparison_field/src/main.nr +++ b/test_programs/fuzzing_failure/comparison_field/src/main.nr @@ -2,6 +2,7 @@ #[fuzz(only_fail_with = "assertion failed")] fn comparison(a: Field, b: Field) { let c = b * 3; - let d = a * 6 + 0xdeadbeefc0ffee * 6; + // let d = a * 6 + 0xdeadbeefc0ffee * 6; // Very slow on CI. + let d = a * 6 + 0xf; assert((c != d) | (b == 0) | (a == 0), "assertion failed"); } From a51916d9653b3d914bab67bf738606e7390625e1 Mon Sep 17 00:00:00 2001 From: Akosh Farkash Date: Mon, 11 Aug 2025 13:51:56 +0100 Subject: [PATCH 28/28] Update insta --- ...sts__force_brillig_false_inliner_-9223372036854775808.snap | 4 ++-- .../execute__tests__force_brillig_false_inliner_0.snap | 4 ++-- ...ests__force_brillig_false_inliner_9223372036854775807.snap | 4 ++-- ...ests__force_brillig_true_inliner_-9223372036854775808.snap | 2 +- .../execute__tests__force_brillig_true_inliner_0.snap | 2 +- ...tests__force_brillig_true_inliner_9223372036854775807.snap | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap index c89415581c6..57456fd0704 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -35,8 +35,8 @@ expression: artifact "public parameters indices : []", "return value indices : [_1]", "BLACKBOX::RANGE [(_0, 1)] []", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 2 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 2 }, Expression { mul_terms: [], linear_combinations: [], q_c: 3 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 4 }, Expression { mul_terms: [], linear_combinations: [], q_c: 5 }])], outputs: []", - "BRILLIG CALL func 1: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "BRILLIG CALL func 0: inputs: [EXPR [ 1 ], EXPR [ 2 ], [EXPR [ 0 ], EXPR [ 1 ], EXPR [ 1 ], EXPR [ 2 ], EXPR [ 3 ], EXPR [ 0 ], EXPR [ 4 ], EXPR [ 5 ]]], outputs: []", + "BRILLIG CALL func 1: inputs: [EXPR [ 1 ], EXPR [ (-2, _0) 4 ], [EXPR [ (1, _0) 0 ], EXPR [ 0 ], EXPR [ 0 ], EXPR [ 0 ]], EXPR [ 1 ], EXPR [ 1 ], [EXPR [ 100 ]]], outputs: []", "EXPR [ (1, _1) -1 ]", "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 10 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U128) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U32) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U128) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U1) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(4) }, Call { location: 102 }, Call { location: 103 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 101 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 94 }, Return, Return, Call { location: 509 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(34), source: Direct(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(35) }, IndirectConst { destination_pointer: Relative(34), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, Mov { destination: Relative(36), source: Relative(35) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(13) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(20) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(25) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(27) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(29) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(32) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(33) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(6) }), HeapArray(HeapArray { pointer: Relative(7), size: 181 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, 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: 514 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap index c89415581c6..57456fd0704 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_0.snap @@ -35,8 +35,8 @@ expression: artifact "public parameters indices : []", "return value indices : [_1]", "BLACKBOX::RANGE [(_0, 1)] []", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 2 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 2 }, Expression { mul_terms: [], linear_combinations: [], q_c: 3 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 4 }, Expression { mul_terms: [], linear_combinations: [], q_c: 5 }])], outputs: []", - "BRILLIG CALL func 1: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "BRILLIG CALL func 0: inputs: [EXPR [ 1 ], EXPR [ 2 ], [EXPR [ 0 ], EXPR [ 1 ], EXPR [ 1 ], EXPR [ 2 ], EXPR [ 3 ], EXPR [ 0 ], EXPR [ 4 ], EXPR [ 5 ]]], outputs: []", + "BRILLIG CALL func 1: inputs: [EXPR [ 1 ], EXPR [ (-2, _0) 4 ], [EXPR [ (1, _0) 0 ], EXPR [ 0 ], EXPR [ 0 ], EXPR [ 0 ]], EXPR [ 1 ], EXPR [ 1 ], [EXPR [ 100 ]]], outputs: []", "EXPR [ (1, _1) -1 ]", "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 10 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U128) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U32) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U128) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U1) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(4) }, Call { location: 102 }, Call { location: 103 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 101 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 94 }, Return, Return, Call { location: 509 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(34), source: Direct(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(35) }, IndirectConst { destination_pointer: Relative(34), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, Mov { destination: Relative(36), source: Relative(35) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(13) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(20) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(25) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(27) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(29) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(32) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(33) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(6) }), HeapArray(HeapArray { pointer: Relative(7), size: 181 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, 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: 514 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap index c89415581c6..57456fd0704 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -35,8 +35,8 @@ expression: artifact "public parameters indices : []", "return value indices : [_1]", "BLACKBOX::RANGE [(_0, 1)] []", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 2 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 1 }, Expression { mul_terms: [], linear_combinations: [], q_c: 2 }, Expression { mul_terms: [], linear_combinations: [], q_c: 3 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 4 }, Expression { mul_terms: [], linear_combinations: [], q_c: 5 }])], outputs: []", - "BRILLIG CALL func 1: inputs: [Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [(-2, Witness(0))], q_c: 4 }), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Single(Expression { mul_terms: [], linear_combinations: [], q_c: 1 }), Array([Expression { mul_terms: [], linear_combinations: [], q_c: 100 }])], outputs: []", + "BRILLIG CALL func 0: inputs: [EXPR [ 1 ], EXPR [ 2 ], [EXPR [ 0 ], EXPR [ 1 ], EXPR [ 1 ], EXPR [ 2 ], EXPR [ 3 ], EXPR [ 0 ], EXPR [ 4 ], EXPR [ 5 ]]], outputs: []", + "BRILLIG CALL func 1: inputs: [EXPR [ 1 ], EXPR [ (-2, _0) 4 ], [EXPR [ (1, _0) 0 ], EXPR [ 0 ], EXPR [ 0 ], EXPR [ 0 ]], EXPR [ 1 ], EXPR [ 1 ], [EXPR [ 100 ]]], outputs: []", "EXPR [ (1, _1) -1 ]", "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 10 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(4), offset_address: Relative(5) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U32) }, Cast { destination: Direct(32838), source: Direct(32838), bit_size: Integer(U128) }, Cast { destination: Direct(32839), source: Direct(32839), bit_size: Integer(U1) }, Cast { destination: Direct(32840), source: Direct(32840), bit_size: Integer(U32) }, Cast { destination: Direct(32841), source: Direct(32841), bit_size: Integer(U32) }, Cast { destination: Direct(32842), source: Direct(32842), bit_size: Integer(U128) }, Cast { destination: Direct(32843), source: Direct(32843), bit_size: Integer(U1) }, Cast { destination: Direct(32844), source: Direct(32844), bit_size: Integer(U32) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U32) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(7) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(11), source: Direct(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(11), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(10) }, Mov { destination: Direct(32772), source: Relative(13) }, Mov { destination: Direct(32773), source: Relative(12) }, Call { location: 91 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(4) }, Call { location: 102 }, Call { location: 103 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32846 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, Mov { destination: Direct(32776), source: Direct(32771) }, Mov { destination: Direct(32777), source: Direct(32772) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(32775) }, JumpIf { condition: Direct(32778), location: 101 }, Load { destination: Direct(32774), source_pointer: Direct(32776) }, Store { destination_pointer: Direct(32777), source: Direct(32774) }, BinaryIntOp { destination: Direct(32776), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Jump { location: 94 }, Return, Return, Call { location: 509 }, Const { destination: Relative(4), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(34), source: Direct(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(35) }, IndirectConst { destination_pointer: Relative(34), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, Mov { destination: Relative(36), source: Relative(35) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(13) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(20) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(25) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(27) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(29) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(30) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(31) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(12) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(17) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(18) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(4) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(6) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(19) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(11) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(8) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(21) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(14) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(22) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(15) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(23) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(7) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(9) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(16) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(24) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(5) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(10) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(32) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(26) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(33) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(36), rhs: Direct(2) }, Store { destination_pointer: Relative(36), source: Relative(28) }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(34), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(6) }), HeapArray(HeapArray { pointer: Relative(7), size: 181 }), MemoryAddress(Relative(4))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, 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: 514 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index a90d491ed8d..0099182473f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -38,7 +38,7 @@ expression: artifact "private parameters indices : [_0]", "public parameters indices : []", "return value indices : [_1]", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ]], outputs: [_1]", "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap index a90d491ed8d..0099182473f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_0.snap @@ -38,7 +38,7 @@ expression: artifact "private parameters indices : [_0]", "public parameters indices : []", "return value indices : [_1]", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ]], outputs: [_1]", "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ], diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index a90d491ed8d..0099182473f 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_9271/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -38,7 +38,7 @@ expression: artifact "private parameters indices : [_0]", "public parameters indices : []", "return value indices : [_1]", - "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 })], outputs: [Simple(Witness(1))]", + "BRILLIG CALL func 0: inputs: [EXPR [ (1, _0) 0 ]], outputs: [_1]", "unconstrained func 0", "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(2), offset_address: Relative(3) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U1) }, Mov { destination: Relative(1), source: Direct(32836) }, Call { location: 14 }, Call { location: 15 }, Mov { destination: Direct(32837), source: Relative(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 1 }, Stop { return_data: HeapVector { pointer: Relative(2), size: Relative(3) } }, Return, Call { location: 897 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(7) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U128), value: 0 }, Const { destination: Relative(10), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(11), bit_size: Integer(U128), value: 3 }, Const { destination: Relative(12), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(13), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(8) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(10) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(11) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(9) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 56 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 93 }, Mov { destination: Relative(40), source: Direct(1) }, Const { destination: Relative(41), bit_size: Integer(U32), value: 182 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(41) }, IndirectConst { destination_pointer: Relative(40), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(41), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Mov { destination: Relative(42), source: Relative(41) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(19) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(26) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(31) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(33) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(35) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(36) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(37) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(18) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(23) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(24) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(6) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(9) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(25) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(17) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(14) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(27) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(20) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(28) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(21) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(29) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(11) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(15) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(22) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(30) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(8) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(16) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(38) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(32) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(39) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(42), rhs: Direct(2) }, Store { destination_pointer: Relative(42), source: Relative(34) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Load { destination: Relative(41), source_pointer: Relative(42) }, Const { destination: Relative(43), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(42), rhs: Relative(43) }, BinaryIntOp { destination: Relative(42), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(33), size: Relative(41) }), HeapArray(HeapArray { pointer: Relative(42), size: 181 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U128)), Simple(Integer(U1)), Array { value_types: [Simple(Integer(U32))], size: 2 }] }, Array { value_types: [Simple(Integer(U8))], size: 181 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 494 }, Jump { location: 471 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(10) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(1) }, Jump { location: 513 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 100 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(33), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(33) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(7) }, Store { destination_pointer: Relative(13), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 534 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 542 }, Call { location: 903 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 169 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(33) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(40), source: Relative(33) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(26) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(31) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(35) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(36) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(37) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(18) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(19) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(23) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(24) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(6) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(9) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(25) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(17) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(14) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(27) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(20) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(28) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(21) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(29) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(11) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(15) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(22) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(30) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(8) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(16) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(38) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(32) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(39) }, BinaryIntOp { destination: Relative(40), op: Add, bit_size: U32, lhs: Relative(40), rhs: Direct(2) }, Store { destination_pointer: Relative(40), source: Relative(34) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(15) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(10)), MemoryAddress(Relative(2)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(8) }), MemoryAddress(Relative(10)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(14), size: 168 }), MemoryAddress(Relative(12))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U1))] }, Simple(Integer(U1)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U32))] }, Array { value_types: [Simple(Integer(U8))], size: 168 }, Simple(Integer(U1))] }, Mov { destination: Relative(1), source: Relative(10) }, 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: 902 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return]" ],